{"version":3,"sources":["store/reducers/ApiResReducer.js","store/reducers/AuthReducer.js","store/reducers/DashboardReducer.js","store/reducers/ComparisonReducer.js","assets/images/msvfooterLogo.png","assets/images/msv-default-banner.png","store/reducers/SettingsReducer.js","store/reducers/SocialListeningReducer.js","store/reducers/ToastReducer.js","store/reducers/CustomerReducer.js","store/reducers/SocialMediaProfilesList.js","store/reducers/HelpPagereducer.js","store/reducers/SuperAdminDashboardReducer.js","store/reducers/UserActivityReducer.js","store/reducers/index.js","store/index.js","Components/PrivateRoute/PrivateRoute.js","assets/images/pdf.png","assets/images/png.png","assets/images/xls.png","assets/images/FacebookReactions/like.png","assets/images/FacebookReactions/love.png","assets/images/FacebookReactions/haha.png","assets/images/FacebookReactions/wow.png","assets/images/FacebookReactions/care.png","assets/images/FacebookReactions/angry.png","assets/images/FacebookReactions/sad.png","assets/images/insta-icon.png","Components/Footer/Footer.js","store/actions/AuthAction.js","utlis/constant.js","Functions/index.js","Components/Navbar/index.js","Components/Navbar/Styles/index.js","Components/Layout/index.js","assets/images/facebook.png","store/actions/SocialMediaProfileAction.js","Components/SocialButton/index.js","Components/CustomButton/CustomButton.js","Components/FilterDays/index.js","Components/BarChart/index.js","Components/Spinner/index.js","assets/images/post-img.jpeg","Components/PieChart/index.js","Components/SocialMediaPostsCard/PostDetailsModal.js","Components/SocialMediaPostsCard/SocialMediaPostsCard.js","Components/SocialMediaPostsCard/Styles/index.js","assets/images/instabg.png","Components/PageTitle/PageTitle.js","Pages/DashboardPage/DashboardExport.js","Components/DownloadButton/DownloadButton.js","assets/images/instagram.png","assets/images/cameraIcon.png","assets/images/videoIcon.png","assets/images/commentIcon.png","assets/images/linkIcon.png","assets/images/photoAlbumIcon.png","assets/fonts/Poppins-Medium.ttf","Pages/DashboardPage/PdfComponent/PdfTopPostComponent.js","assets/images/playIcon.png","Pages/DashboardPage/DashboardPDF.js","Components/SnackBar/DownloadSnackBar.js","Components/CustomSelectDropdown/CustomSelectDropdown.js","Components/CustomSelectDropdown/Styles/index.js","store/actions/UserActivityAction.js","Pages/DashboardPage/DashboardPage.js","Pages/DashboardPage/Style/index.js","Components/ChipComponent/ChipComp.js","Components/TextInput/TextInput.js","Pages/ContentNewsfeed/ContentNewsFeedPDF.js","Pages/ContentNewsfeed/ContentNewsFeedDataExport.js","assets/images/noResultFound.png","Components/AddProfileComparisonModal/AddProfileComparisonModal.js","Pages/ContentNewsfeed/ContentNewsFeed.js","Pages/ContentNewsfeed/Styles/index.js","Components/AlertBox/Alert.js","store/actions/SuperAdminDashboardAction.js","Admin/Components/DashboardTable/DashboardTable.js","Admin/Pages/AdminDashboardPage.js","Admin/Pages/Styles/index.js","Components/Buttons/Buttons.js","Pages/Profile/Profile.js","Pages/Profile/Styles/index.js","Pages/Login/Styles/index.js","Pages/ChangePasswordFromMail/ChangePasswordFromMail.js","Components/BubbleChart/BubbleChart.js","Components/SocialMediaLabelsCard/SocialMediaLabelsCard.js","Components/SocialMediaLabelsCard/Styles/index.js","Components/LineChart/index.js","Pages/SocialListeningPage/SocialListeningChipData.js","Pages/SocialListeningPage/Feed.js","Pages/SocialListeningPage/SocialListeningPage.js","Pages/SocialListeningPage/Styles/index.js","Pages/Login/Login.js","Components/PrivateRoute/AdminRoutes.js","Components/Cards/index.js","Components/Cards/Styles/index.js","store/actions/CustomersAction.js","Components/Sidebar/index.js","Components/Sidebar/Styles/index.js","Components/UploadImg/index.js","Pages/UserManagement/UserManagement.js","Pages/UserManagement/Styles/index.js","Pages/CustomerAdminSetting/Styles/index.js","Customer/Components/Styles/index.js","Customer/Components/ConnectToSocial.js","Pages/CustomerAdminSetting/CustomerAdminSetting.js","Components/Toast/index.js","axiosConfig.js","Pages/ProfileListingPage/Styles/index.js","Components/MaterialDataTable/MaterialDatatable.js","Components/TextInput/TextInputProfile.js","Components/AddProfileModal/AddProfileModal.js","Components/SnackBar/SnackBar.js","Components/MaterialDataTable/CustomDataTable.js","Pages/ProfileListingPage/ProfileListingPage.js","Pages/ProfileListingPage/ProfileOverviewDataExport.js","assets/images/heart.png","assets/images/followers.png","assets/images/comments.png","assets/images/next.png","Pages/ProfileListingPage/ProfileOverViewPDF.js","Components/ColorPicker/ColorPicker.js","Components/ColorPicker/Styles/index.js","Components/CustomCheckSelectDropdown/CustomCheckSelectDropdown.js","Components/CustomCheckSelectDropdown/Styles/index.js","Pages/ProfileListingPage/ProfileOverview.js","Pages/ComparisionPage/ComparisonDataExport.js","Components/AbsoluteGrowthCard/AbsoluteGrowthCard.js","Pages/ComparisionPage/ComparisonPage.js","Pages/ComparisionPage/Styles/index.js","assets/images/likeReaction.png","assets/images/commentReaction.png","assets/images/shareReaction.png","Components/HelpSectionList/HelpSectionList.js","store/actions/HelpPageAction.js","Components/AddModalForm/AddModalForm.js","Pages/Help/Styles/index.js","Components/HelpPageBannerSection/HelpPageBannerSection.js","Pages/Help/Help.js","Pages/PrivacyPolicy/PrivacyPolicy.js","Pages/PrivacyPolicy/Styles/index.js","Pages/Help/HelpPageFaq.js","Pages/Help/HelpPageDoucment.js","Pages/Help/HelpPageVideo.js","Components/CustomerSupportCard/CustomerSupportCard.js","Admin/Pages/ContactSupport/ContactSupport.js","Admin/Pages/ContactSupport/Styles/index.js","Admin/Components/UserLoginActivityTable/UserLoginActivityTable.js","Admin/Components/ReportDownloadActivityTable/ReportDownloadActivityTable.js","Admin/Pages/UserActivity/UserActivity.js","Admin/Pages/UserActivity/Styles/index.js","App.js","store/actions/SettingActions.js","index.js"],"names":["initState","apiRes","requestFrom","response","ApiResReducer","state","action","type","payload","loading","changePasswordLoading","isAuth","localStorage","getItem","token","JSON","parse","access_token","user","password","AuthReducer","errorMessage","old_password","clear","totalFollowers","interactions","topPosts","DashboardReducer","pages","ComparisonReducer","logoURL","logoImg","bannerURL","bannerImg","subdomainID","logoBannerDataLoaded","SettingsReducer","logo","feature_image","id","initialState","status","userId","accessToken","error","success","SocialIntegrationReducer","integratedStatusLoading","open","message","variant","ToastReducer","console","log","getCustomersLoading","createCustomersLoading","deleteCustomersLoading","customers","CustomerReducer","totalUsers","users","map","customer","filter","addedProfileList","searchedProfileList","profilesListForCompare","searchLoading","topFollowerLoading","searchedAddedProfilesList","profileBasic","profileLikes","profileComments","profileShares","profileTopPost","profileGrowthFollowers","fansGrowth","postsData","interactionData","interactionDistributions","interactionDistributionsLoader","postsDataMultiple","activeSocialMediaType","socialmediaTopFollowers","addedProfileListLoading","profilesListForCompareLoading","profileOverviewLoading","fanGrowthLoader","interactionLoader","postBreakDownLoader","multiplePostBreakDownLoader","profileBasicLoading","profileLikesLoading","profileCommentsLoading","profileSharesLoading","profileTopPostLoading","profileGrowthFollowersLoading","selectedProfilesListToComapre","serverError","contentNewsFeed","contentNewsFeedLoading","topPostProfileID","socialListeningDataLoading","socialListeningData","noOfPeople","noOfPeopleLoading","noOfMentions","noOfMentionsLoading","noOfSocialInteraction","noOfSocialInteractionLoading","noOfPotentialImpression","noOfPotentialImpressionLoading","emojiChartData","emojiChartDataLoading","sentimentInTimeData","sentimentInTimeDataLoading","customDateRangeRed","startDate","moment","subtract","format","endDate","key","ranged","searchQueryData","profileAbsInteractionLoading","profileAbsInteraction","socialListeningError","getComparisionProfileError","SocialMediaProfileListReducer","noOfPeopleLoadiing","concat","profile","includes","data","faqList","searchArticles","searchArticlesLoader","howToDocList","videoList","howToDocListLoader","faqListLoader","videoListLoader","contactSupportListLoader","contactSupportList","searchQuery","HelpPageReducer","pagesInfoLoading","pagesInfo","deletePageLoading","updatePagesInfo","subdomainList","userLoginActivity","userReportDownloadActivityCreate","userReportDownloadActivity","reducers","combineReducers","auth","dashboard","comparison","settings","social","SocialListeningReducer","toast","customerInfo","apiResReducer","socialMediaProfileListReducer","helpReducer","adminDashboardReducer","userActivityReducer","middleware","thunk","logger","createStore","composeWithDevTools","applyMiddleware","PrivateRoute","Component","component","rest","roles","useSelector","Route","render","props","role","Redirect","to","Footer","AppBar","position","style","backgroundColor","paddingTop","Container","maxWidth","Toolbar","display","justifyContent","Typography","color","width","height","src","MSVFooterLogo","alt","SignIn","dispatch","a","Promise","resolve","reject","axios","post","then","Error","setItem","stringify","catch","FacebookSignIn","ForgotPassword","email","subdomain","ChangePassword","confirm_password","put","ChangePasswordEmailVerification","authorization","getSignInUser","get","updateCustomerFromProfile","first_name","firstName","last_name","lastName","contact_number","phoneNumber","timezone","formData","FormData","Object","entries","value","set","FORM_ERROR_EMAIL","FORM_ERROR_PASSWORD","SUPER_ADMIN_NAME","CUSTOMER_ADMIN_NAME","CUSTOMER_VIEWER_NAME","PASSWORD_PATTERN","RegExp","EMAIL_PATTERN","NO_DATA_AVAILABLE","formatNumber","n","number","Math","round","parseFloat","toLocaleString","numbersFormat","num","calculatedNumber","numbers","abs","toFixed","getSubDomain","hostName","window","location","host","split","urlSplit","length","undefined","formatImage","activeMedia","imageLink","subdomainCheck","toLowerCase","process","formatServerImages","formattedImage","replace","href","indexOf","useStyles","makeStyles","theme","appBar","top","borderBottom","background","zIndex","boxShadow","flexDirection","padding","xs","sm","menu","root","flexGrow","menuButton","marginRight","spacing","title","objectFit","iconButton","textDecoration","md","margin","alignItems","borderRadius","fontSize","transition","navTextStyle","fontWeight","textTransform","marginLeft","navbarActive","icons","Styles","StyledMenuItem","withStyles","MenuItem","withRouter","pathname","useTheme","useMediaQuery","breakpoints","down","useDispatch","classes","useState","show","setShow","mobileView","drawerOpen","setState","useEffect","setResponsiveness","innerWidth","prevState","addEventListener","menuItem","size","constant","Link","className","selected","activeclassname","NavLink","handleClose","disableGutters","IconButton","edge","onClick","Drawer","anchor","onClose","Button","event","currentTarget","Menu","anchorEl","keepMounted","Boolean","left","Box","mx","Fragment","Layout","children","getAddedProfileList","getState","params","search","start_date","end_date","newdata","d","relative_fan_change","socialMediaResponseErrorWithMessage","searchSocialMediaProfiles","query","deleteAddedProfileList","profilesId","delete","profiles","socialMediaResponseError","getSocialProfileTopPost","singleProfile","pageLimit","currentPage","feedTypes","page","page_limit","feed_types","getMoreSocialProfileTopPost","setActiveSocialMediaType","socialMediaType","resetSelectedProfileForCompare","getSocialProfileFanGrowth","fanGrowthSelectedProfiles","period","getInteractions","interactionSelectedProfiles","interactionDateFilter","interaction1kPerFans","per_1k_fans","selectProfilesToComapre","getContentNewsFeed","contentQueryParams","searchKeyWords","searchData","label","feedTypesQuery","postTypes","newFeedTypesQuery","val","contentFeedUrl","contentFeedUrlParams","selectedProfiles","keyword_query","sort_by","sortType","getNoOfpeople","sentimentsDateFilter","Date","toISOString","is_downloading","getNoOfMentions","getNoOfSocialInteraction","getEmojiChartData","getSentimentData","noOfPeopleEnd","dateFilter","setSearchQuery","socialBtnContainer","socialBtnIcon","fbBtn","dropDowninputLabel","outlined","dropDownSelect","SocialButton","socialListening","handleClick","Grid","container","direction","FormControl","InputLabel","Select","labelId","onChange","e","target","MenuProps","anchorOrigin","vertical","horizontal","transformOrigin","getContentAnchorEl","instaIcon","fbIcon","instaBtn","disableElevation","disabled","name","StyledButton","defaultBackgroundColor","initialProfileAdd","whiteSpace","border","opacity","CustomButton","startIcon","formControl","filterSelect","paddingLeft","dateIcon","TopFilter","React","customDate","setCustomDate","miniXs","customDateRange","hasCustomRendering","range","isSelected","subDays","startOfWeek","endOfWeek","startOfMonth","endOfMonth","addMonths","subYears","stateDate","setStateDate","initialStateDate","setInitialStateDate","dateRef","useRef","formatDate","date","ClickAwayListener","mouseEvent","touchEvent","onClickAway","endIcon","startOf","endOf","dateFunc","right","ref","fixedHeight","item","selection","onChangeDate","showSelectionPreview","moveRangeOnFirstSelection","months","ranges","sd","retainEndDateOnFirstSelection","inputRanges","renderStaticRangeLabel","definedRange","showPreview","rangeColors","staticRanges","bottom","dateRange","convertedDate","test","unselected","borderColor","profileImgBtn","graphTitleSection","graphTitle","letterSpacing","graphSection","dateFilterBtnGroup","dateFilterBtn","selectedDateFiterBtnGroup","StyledSwitch","thumb","colorSecondary","Switch","StyledSelect","StyledInputLabel","transform","focused","BarChart","chartTitle","adddeSocialMedaiProfile","chartData","getSelectedProfile","switchShow","showPeriod","showLabel","chartId","noDecimalPoint","addProfiles","setAddProfiles","selectProfiles","setSelectProfiles","setDateFilter","setColor","setMobileView","kPerFans","setKPerFnas","setOpen","setCheckedValue","CustomerSubdomain","Chart","Tooltip","positioners","custom","elements","offset","heightOffset","_chart","x","y","chart","createRef","pluginService","register","afterDraw","easing","tooltip","_active","activePoint","controller","ctx","tooltipPosition","topY","scales","bottomY","save","beginPath","moveTo","lineTo","lineWidth","_view","strokeStyle","globalAlpha","globalCompositeOperation","stroke","restore","chartOptions","responsive","maintainAspectRatio","legend","xAxes","gridLines","drawBorder","offsetGridLines","ticks","fontColor","fontStyle","fontFamily","yAxes","precision","text","hover","mode","intersect","tooltips","displayColors","enabled","titleFontSize","titleSpacing","bodyFontSize","xPadding","yPadding","yAlign","caretSize","titleMarginBottom","callbacks","tooltipItem","dataPointsIndex","index","timeline","start","toDateString","end","toUpperCase","current","chartInstance","update","marginBottom","checked","ToggleButtonGroup","float","exclusive","newAlignment","ToggleButton","overflowX","minWidth","options","marginTop","overflow","textOverflow","profileIndex","picture","shrink","displayEmpty","onOpen","maxHeight","Checkbox","removeProfile","updateAddedProfiles","Avatar","loader","Index","CircularProgress","disableShrink","pieChartDistributionChart","pieTotal","textAlign","zeroData","PieChart","datasets","total_reactions","total_comments","feed_comment_count","total_shares","feed_share_count","labels","total","sign","getTotal","aspectRatio","cutoutPercentage","postDetailsChart","HtmlTooltip","typography","pxToRem","modal","paper","shadows","paddingBottom","postsDate","postDetailsheader","pageTitle","postDetailContent","postsMedia","minHeight","backgroundImage","cursor","postsInteraction","borderLeft","flexBasis","interactionTitle","pieDistributionIcon","pieChartDetailHeader","detailPieChart","closeIcon","PostDetailsModal","modalOpen","profile_info","profileImage","pageName","createdDate","caption","total_engagement","postImage","totalPageLikes","feed_link","feed_type","feedTypeIcon","Modal","closeAfterTransition","BackdropProps","timeout","disableAutoFocus","disableEnforceFocus","Slide","in","enter","exit","lg","xl","Card","CardActionArea","CardContent","rel","config","facebook","attributes","url","controls","playsinline","CardMedia","image","titleHeader","avg_interaction_per_1k_fans","parseInt","TableContainer","chartDetails","Table","table","TableBody","Like","feed_like_count","Love","feed_love_count","Wow","feed_wow_count","Haha","feed_haha_count","Care","Angry","placement","TableRow","TableCell","scope","pieDistributionTitle","cardVideo","topPostData","pageId","pagePicture","history","attachment","feed_created_date","feed_created_date_utc","feed_care_count","feed_angry_count","other_engagement","openModal","setOpenModal","tz","handleOpenModal","matches","matches_lg","imageLoaded","setImageLoaded","push","Spinner","img","Image","imageSrc","postImg","onload","getImage","borderTop","PageTitle","subTitle","instaBg","ExcelFile","ReactExport","ExcelSheet","DashboardExport","timeRange","fanGrowthDateFilter","showDownloadSnackBar","xlsxLogo","interactionExcellData","setInteractionExcellData","interactionDataCount","setInteractionDataCount","fanGrowthExcellData","setFansGrowthExcellData","fanGrowthDataCount","setFanGrowthDataCount","profileTopPostCount","setProfileTopPostCount","profileTopPostExcellData","setProfileTopPostExcellData","timelineIndex","hasOwnProperty","call","dataset","profileDetails","columns","feeds","i","page_name","overviewDataSet","font","bold","alignment","filename","element","setTimeout","dataSet","StyledMenu","elevation","DownloadButton","setAnchorEl","PdfTopPostComponent","topPost","Font","family","PoppinsFont","stylesPdf","StyleSheet","create","profileImg","profileImgSelected","graphPage","section","alignSelf","graph","twoImageContainer","topPostsContainer","flexWrap","sectionTitle","likeCommentCardSection","likeCommentCard","socialMediaCardLabels","socialMediaCardLabelTitleText","socialMediaCardLabelFilterText","socialMediaCardLabelIcon","socialMediaPostsCard","socialMediaCardTopSection","socialMediaPostPageTitle","socialMediaPostDate","socialMediaPostMidSection","socialMediaCardLink","socialMediaCardImage","socialMediaCardImageContainer","socialMediaPostBottomSection","socialMediaCardPageLogo","socialMediaPostCardEngagementsTitle","socialMediaPostCardEngagementsNumber","socialMediaPostCardEngagementsNumberRight","engagementRow","engagementColumn","interactionsper1k","totalEngagements","socialMediaPostSocialLogo","feedIcon","removeEmojis","string","wrap","page_picture","cameraIcon","videoIcon","linkIcon","photoAlbumIcon","commentIcon","fbLogo","InstagramLogo","slice","thumbnail","DashboardPDF","interactionAddedProfiles","topPostPageName","feedLimit","postsPage","socialMainLogo","overviewTitle","metricText","lineHeight","paddingRight","graphContents","SelectedProfileDetails","FacebookRoundLogo","username","fixed","pageNumber","totalPages","defaultLogo","chart1","chart2","StyledSnackbar","zindex","Snackbar","SnackBarDownload","sociallistening","CustomSelectDropdown","selectProfile","selectProfileHandleChange","createUserReportDownloadActivity","downloadType","userDetail","activeSocialMedia","postParams","subdomain_id","social_type","file_type","download_time","Moment","main","header","titleOverview","contentNewsfeed","contentNewsfeedImg","contentNewsfeedTitle","charts","growthChart","chartFallBackContainer","chartFallBack","loadMoreButtonDivDashboard","topPostHeadSection","downloadBtnImg","setSelectProfile","showDownloadToast","setShowDownloadToast","fanGrowthData","setFanGrowthData","setFanGrowthSelectedProfiles","setfanGrowthDateFilter","interactionsData","setinteractionsData","setinteractionSelectedProfiles","setinteractionDateFilter","setInteraction1KPerFans","Image1","setImage1","Image2","setImage2","setPageLimit","navigator","onLine","getBase64","file","domtoimage","toPng","dataURL","document","querySelector","selectedTopPostProfile","createUserDownloadActivity","profilesForActivityReport","forEach","f","profilesDetails","generatePdfDocument","pdf","toBlob","blob","saveAs","topFilter","FilterDays","PDFlogo","wrapper","bgcolor","screenshotPage","PNGlogo","XLSXlogo","fanGrowthChart","noData","interactionsChart","social_page_id","page_fan_count","_id","align","StyledChip","Chip","ChipComp","chipData","setChipData","setApiResponse","onDelete","chipToDelete","chips","chip","StyledTextField","radius","borderWidth","input","notchedOutline","OutlinedInput","TextInput","helperText","placeholder","closeBtn","onKeyPress","disable","suggestion","fullWidth","startAdornment","InputAdornment","endAdornment","ContentNewsFeedPDF","profile_feeds","selectedProfilesList","keyWords","topFilterData","postType","posts","postsContainer","keywordsDisplay","ContentNewsFeedDataExport","selectedPostTypes","selectedData","list","StyledDialog","view","Dialog","DialogTitle","other","classes1","disableTypography","DialogContent","MuiDialogContent","DialogActions","MuiDialogActions","AddProfileComaprisonModal","setInputCloseBtn","setSearchLoading","profileListToAdd","setProfileListToAdd","searchProfilesList","preventDefault","closeBtnClick","dividers","noResultFoundImg","Paper","TableHead","profilesList","find","fan_count","deleteItem","handleDelete","addedprofile","row","tabHeaderComp","ContentNewsFeedPostsContainer","contentNewsFeedCount","selectedPagesDiv","dropDown","postWrapper","inputWrapper","chipComp","ContentNewsFeedPage","sortOptions","comparisonSelectedDataId","addedProfilesDataId","openPost","setOpenPosts","setSelectedPostTypes","searchKeyWord","setContentQueryParams","setSearchKeyWord","menuProps","autoFocus","handleClickAwayPost","scrollTo","unselectProfile","updateSelectedProfiles","postTypesWithoutAll","selectedPost","newPostTypes","updateSelectedPosts","profileList","suggestions","floor","random","handleSearchFunction","option","feed","previousLabel","nextLabel","breakLabel","breakClassName","pageCount","ceil","marginPagesDisplayed","pageRangeDisplayed","onPageChange","param","handlePageChange","containerClassName","subContainerClassName","activeClassName","forcePage","alertIconContainer","popUpContainer","actionBtn","btnItem","Alert","onConfirm","description","icon","confirmBtn","buttonbgcolor","closeButton","classname","DialogContentText","getPagesInfo","divTabelContent","table1","table2","scrollBehavior","table3","tableHeader","tableBody","tableRow","tableData","tableCheckbox","arrow","headerTextStyle","link","selectedLabels","getSelectedProfileList","allLabels","deleteAlertOpen","setDeleteAlertOpen","updateAlertOpen","setUpdateAlertOpen","itemToDelete","setItemToDelete","itemToUpdate","setItemToUpdate","page_url","updatedAt","subdomains","join","deleteAddedprofile","profile_id","updateAddedprofile","alert","AdminDashboardPage","responseData","btnPrimary","Buttons","TextField","containerMain","bannerTop","avatar","btnUpdatePassword","backBtn","backBtnIcon","verticalAlign","styles","ProfilePage","newPassword","confirmNewPassword","passwordValues","setPasswordValues","userFormSubmiting","setUserFormSubmiting","passwordErrors","setErrorsPassword","formValues","setFormValues","errors","setErrors","switchFormPassword","setSwitchFormPassword","handleChange","handleSubmit","formErrors","newPasswordError","confirmNewPasswordError","keys","errorRes","res_type","handleProfileUpdate","updateResponse","employeeNumber","employee_number","timeZonesList","momentTZ","names","p","charAt","onSubmit","inputField","timeZone","FormHelperText","errorHelperText","up","loginWelcome","loginDesc","MuiFormControlLabel","MuiButton","footerText","privacyPolicy","btnWrapper","loginBannerImg","loginImg","forgotBtnContainer","forgotBtn","placeHolder","forgotPassword","mapDispatchToProps","connect","match","url_string","authorization_token","URL","searchParams","loginTitle","justify","BubbleChart","emojisData","setEmojisData","chartSortData","emojiData","emoji","count","enableTooltip","deterministic","enableOptimizations","fontSizes","rotations","rotationAngles","scale","spiral","transitionDuration","words","labelWrapper","cardLabelContent","labelContentTitleWrapper","cardFiguresWrapper","cardGrowthWrapper","trimCardGrowthrate","cardCardAction","cardlabelIcon","colorCode","SocialMediaCardLabels","cardTitle","cardFigures","cardGrowthRate","cardIcon","filterType","CardActions","LineChart","postDateFilter","sentimentChart","boxWidth","usePointStyle","points","getPostsData","SocialListeningChipData","clearDisplayData","Feed","getFeed","substring","subButtongGroup","modalBox","alingSelf","profileOverview","clearBtn","SocialListeningPage","sentimentsChartData","setSentimentsChartData","setSentimentsDateFilter","setStateSearchData","setLoadingAlert","displayPostList","setDisplayPostList","setPage","getPosts","getNumberOfPeople","getSentiment","total_people_count","total_interactions_count","sentimentDateFilter","Login","setChangePasswordLoading","showForgotPassword","setShowForgotPassword","forgotEmail","setForgotEmail","facebookLoginLoading","setFacebookLoginLoading","signInParams","createResponse","createResError","handleForgotPassword","forgotResponse","forgotResError","switchForm","facebookLogin","InputLabelProps","FormControlLabel","control","disableRipple","disableFocusRipple","labelPlacement","autoLoad","appId","version","REACT_APP_VERSION","renderProps","facebookImage","callback","onFailure","AdminRoutes","cardContainer","imageTextContainer","iconContainer","titleStyle","subtitleStyle","iconComponenticonComponent","Cards","handleDeleteConfirm","getSelectedData","shadow","setShadow","onMouseOver","onMouseOut","userProfile","imageURL","rounded","userDetails","brand","brand_name","CreateCustomer","brandName","userAccountsLimt","user_accounts_limit","socialMediaProfilesLimt","social_media_profiles_limit","featured_image","GetCustomer","CustomerFailed","SearchCustomer","PaginateCustomer","limit","UpdateCustomer","user_id","regex","UpdateCustomerBanner","DeleteCustomer","store","linkSocialPlatform","platform","sidebar","asideTop","asideBottom","overflowY","userType","userContainer","iconTextContainer","backIcon","userItem","loadBtn","animation","loadBtnIcon","alertIcon","Sidebar","addUserData","resetForm","editData","validationErrors","responseMessage","handleCancle","newMatch","setNewMatch","searchPage","setSearchPage","searchMore","setSearchMore","load","setLoad","setSearch","confirmOpen","setConfirmOpen","fetchCustomers","fetchNewCustomers","fetchSearchCustomers","iconButtonContainer","textField","hintText","InputProps","List","loadingContent","ListItem","palette","uploadImgCard","unit","iconHover","red","uploadContainer","cardHeader","textalign","blue","button","secondaryButton","searchRoot","searchInput","flex","searchIconButton","searchDivider","cancleIcon","UploadBtn","uploadedImg","withTheme","mainState","selectedFile","imgPreview","defaultImg","refresh","setRefreshImgUploadComponent","handleUploadClick","files","reader","FileReader","readAsDataURL","onloadend","imageUploaded","result","accept","multiple","htmlFor","Fab","renderInitialState","previewImg","renderUploadedState","formContainer","userManagementForm","fileUploadConatiner","fileUploadbutton","radio","imgError","superAdmin","setSuperAdmin","customerAdmin","setCustomerAdmin","logoUrl","bannerUrl","setValidationErrors","setEditData","refreshImgUploadComponent","setRefreshImgUpdateComponent","userAddedAlertOpen","setUserAddedAlertOpen","setResponseMessage","inputValue","resetCustomerForm","specialCharacters","imageExtensions","isNaN","createResData","createErrorMsg","active","updateResData","updateresError","editInfoData","defaultValue","UploadImg","logoImageHandler","brand_logo_size","bannerImageHandler","brand_featured_size","mt","Classes","heading","subHeading","box","flexRow","justiContent","flexColumn","selectContainer","relative","selectField","ConnectToSocial","platformData","setPlatFormData","account","setAccount","linkingFacebook","setLinkingFacebook","handleLinkSocial","authResponse","getIntegratedData","platformDetails","instagram","handleUnlinkSocial","selectDefaultSocial","accountId","other_instagrams","boxSizing","disableSubmitBtn","SetDisableSubmitBtn","logoBannerResponse","logoBannerResError","logoBannerErrorMsg","File","ClearToast","autoHideDuration","severity","defaults","baseURL","headers","common","interceptors","request","use","tableIcons","Add","forwardRef","Check","Clear","Delete","DetailPanel","Edit","Export","Filter","FirstPage","LastPage","NextPage","PreviousPage","ResetSearch","Search","SortArrow","ThirdStateCheck","ViewColumn","createTheme","secondary","selectedRow","setSelectedRow","$","click","animate","scrollLeft","isLoading","components","OverlayLoading","field","rowData","is_data_downloading","page_username","cellStyle","minwidth","headerStyle","hidden","page_comments_count","page_shares_count","page_posts_count","selectionProps","paging","toolbar","rowStyle","onSelectionChange","rows","localization","body","emptyDataSourceMessage","TextInputProfile","searchClick","StyledTableCell","AddProfileModal","closeBox","setCloseBox","initialProfileListToAdd","setInitialProfileListToAdd","listener","code","removeEventListener","socialMedaiProfileList","ele","ind","findIndex","elem","iconPosition","is_already_added","profile_picture_url","followers_count","checkboxHandle","inputProps","profile_name","anchorOriginTopRight","SnackBar","downloadingData","borderRight","checkedData","setCheckedData","sort","setSort","scrollerRef","scrollScroller","scrollSide","filteredValue","c","selectedProfileList","sortedField","setSortedField","sortedData","setSortedData","useMemo","sortedProducts","b","isLabelSelected","s","sl","wordBreak","mobileTitle","dataId","requestSort","customButton","lineStyle","chartWrapper","profileOverviewCard","cardlabels","profileOverviewCardContent","profileOverviewBasic","cardlabelsWrapper","setSelectedProfiles","setSearchProfile","filterDataLabels","searchAddedProfile","postTypeIsChecked","selectedPostId","filteredPostType","profileListComponent","ProfileOverviewDataExport","postTypeDateFilter","postsDataExcellData","setPostsDataExcellData","postsDataCount","setPostsDataCount","overviewCount","setOverviewCount","filter_type","total_likes_count","total_comments_count","total_shares_count","followers_growth","total_interaction_count","ProfileOverViewPDF","pdf1","pdf2","pdf3","labelIcon","mediaCardGrowthCard","growth","viewBox","fill","total_feeds_count","page_following","absolute_growth","colorPickerWrapper","ColorPicker","getColors","displayColorPicker","setDisplayColorpicker","acceptColor","setAcceptColor","colorRef","filteredData","hex","onCancel","onAccept","profileId","updateProfileColor","select","CustomCheckSelectDropdown","handlePostsClose","handlePostsOpen","setPdf1","setPdf2","setPdf3","setpdf4","setTopPostData","postsBreakdownData","setPostsBreakdownData","setPostTypeDateFilter","getPostTypeQuery","postTypeQuery","sp","getSocialProfilelikes","getSocialProfileComments","getSocialProfileShares","getSocialProfileGrowthFollowers","getSocialProfileInteractionAbsoluteGrowth","postDataOrdering","getPostTypeDistributions","downloadingPageList","toDataURL","file2","file3","socialPostCard","getElementsByClassName","mapData","Array","prototype","html2canvas","allowTaint","useCORS","scrollY","canvas","all","postTypeChart","updatedPostTypes","selectedPostTypesWithoutAll","ComparisonDataExport","ExcelColumn","distributionInteractionExcellData","setDistributionInteractionExcellData","distributionInteractionDataCount","setDistributionInteractionDataCount","postsDataMultipleExcellData","setpostsDataMultipleExcellData","postsDataMultipleDataCount","setPostsDataMultipleDataCount","labelsIndex","growthRate","formattedGrowthRate","pieChart","pieChartDistribution","pieProfileDetails","pieChartContainer","pieProfileImg","pieProfileName","pieChartProfile","StyleCard","StyleCardAddprofile","pdf4","setPdf4","pieData","setPieData","setPieDataTotal","postsBreakdownDataMultiple","setPostsBreakdownDataMultiple","setPostsBreakdownDataMultipleSelectedProfiles","addedList","topPostParams","setTopPostParams","oldContentNewsFeed","loadMoreContentNewsFeed","itemEls","selctedProfilesLength","mapData2","mapData3","pieChartDistributions","filterPieData","getPieData","Exportable","sectionTopPost","tr","td","distributionSec","headerComp","break","intersection","totalFilter","pagePic","cardDetails","posts_count","AbsoluteGrowthCard","post_absolute_growth","fan_count_for_date_range","followers_absolute_growth","following_count","following_absolute_growth","deleteSelectProfilesToCompare","pieProfiles","getPieTotal","flexShrink","secondaryHeading","HelpSectionList","sectionList","expanded","setExpanded","getRenderedHtml","html","renderedHtml","renderHTML","Accordion","panel","isExpanded","AccordionSummary","Divider","AccordionDetails","highlightClassName","searchWords","textToHighlight","creatContactSupport","supportData","mobile","mobileNumber","Axios","creatRespondSupport","createArticle","article","updateArticle","searchArticle","context","getFaqList","getHowToDocList","getHelpVideoList","getContactSupportList","inputLabel","DialogFooter","useStyles1","helpList","helpIconList","articleCard","customersuportform","StyledDialogTitle","AddModalForm","customerSupportForm","formLoader","setFormLoader","supportForm","setSupportForm","handleClickOpen","prevProps","addSection","status_code","answered","multiline","backgroundcolor","HelpPageBannerSection","handleKeyPress","handleSearch","hinttext","StyledTextFieldForm","editor","setArticle","editInfo","setEditInfo","submitArticle","readonly","toolbarButtonSize","uploader","insertImageAsBase64URI","tabIndex","onBlur","newContent","orderedList","PrivacyPolicy","listStyleType","faqs","debounceTimer","func","clearTimeout","debounce","searchValue","setSearchValue","howToDocs","helpVideos","ans","cardMedia","cardAction","CustomerSupportCard","created_at","cardDescription","ContactSupport","selectedSubdomain","getDateFilter","getUserLoginActivity","userLoginActivityData","getMoreUserLoginActivity","last_login_with","last_login_at","getUserReportDownloadActivity","userReportDownloadActivityData","getMoreUserReportDownloadActivity","TABLE_LIST","UserActivity","selectedTable","setSelectedTable","subdomainListOpen","setSubdomainListOpen","setSelectedSubdomain","App","MuiButtonBase","MuiOutlinedInputNotchedOutline","notched","darkGreen","lightGreen","lightBlack","subDomain","maxSnack","ThemeProvider","autoClose","hideProgressBar","exact","path","ProfileOverview","ProfileListingPage","ComparisonPage","UserManagementPage","CustomerAdminSetting","LoginPage","Help","ChangePasswordFromMail","DashboardPage","HelpPageFaq","HelpPageDoucment","HelpPageVideo","CssBaseline","ReactDOM","Router","createBrowserHistory","getElementById"],"mappings":"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","file":"static/js/main.8b41959a.chunk.js","sourcesContent":["const initState = {\n apiRes: {\n requestFrom: '',\n response: ''\n }\n}\n\n\nconst ApiResReducer = (state = initState, action) => {\n switch (action.type) {\n case \"apiRes\":\n return {\n ...state,\n apiRes: action.payload,\n };\n case \"CHANGE_PASSWORD\":\n return {\n ...state,\n apiRes: action.payload\n }\n \n default:\n return state;\n }\n};\n\nexport default ApiResReducer;","const initState = {\n loading: false,\n changePasswordLoading: false,\n isAuth: (localStorage.getItem(\"userInfo\") && localStorage.getItem(\"userInfo\") != \"undefined\") ? true : false,\n\n token: (localStorage.getItem(\"userInfo\") && localStorage.getItem(\"userInfo\") != \"undefined\")\n ? JSON.parse(localStorage.getItem(\"userInfo\")).access_token\n : null,\n\n user: (localStorage.getItem(\"userInfo\") && localStorage.getItem(\"userInfo\") != \"undefined\")\n ? JSON.parse(localStorage.getItem(\"userInfo\")).user\n : null,\n password: null\n};\n\nconst AuthReducer = (state = initState, action) => {\n switch (action.type) {\n case \"SIGNIN_REQUEST\":\n return {\n ...state,\n loading: true,\n };\n case \"CHANGE_PASSWORD_REQUEST\":\n return {\n ...state,\n changePasswordLoading: true,\n };\n case \"SIGNIN\":\n return {\n ...state,\n loading: false,\n isAuth: true,\n user: action.payload.user,\n token: action.payload.access_token,\n };\n\n case \"CHANGE_PASSWORD\":\n return {\n ...state,\n changePasswordLoading: false,\n password: action.payload\n };\n case \"CHANGE_PASSWORD_FAILED\":\n return {\n ...state,\n changePasswordLoading: false,\n errorMessage: action.payload.old_password,\n };\n\n case \"SIGNIN_FAILED\":\n\n case \"LOGOUT\":\n localStorage.clear();\n return {\n ...state,\n changePasswordLoading: false,\n loading: false,\n isAuth: false,\n user: null,\n token: null,\n };\n case \"GET_SIGN_IN_USER\":\n return {\n ...state,\n isAuth: true,\n user: action.payload,\n\n };\n default:\n return state;\n }\n};\n\nexport default AuthReducer;\n","const initState={\n totalFollowers:[],\n interactions:[],\n topPosts:[]\n}\n\n const DashboardReducer=(state=initState,action)=>{\n return state;\n}\n\nexport default DashboardReducer","const initState={\n pages:[],\n \n }\n \n const ComparisonReducer=(state=initState,action)=>{\n return state;\n }\n \n export default ComparisonReducer","export default __webpack_public_path__ + \"static/media/msvfooterLogo.efaf943c.png\";","export default __webpack_public_path__ + \"static/media/msv-default-banner.7be4231d.png\";","import logoImg from \"../../assets/images/msvfooterLogo.png\";\nimport bannerImg from \"../../assets/images/msv-default-banner.png\";\n\nconst initState = {\n pages: [],\n logoURL: logoImg,\n bannerURL: bannerImg,\n subdomainID: null,\n logoBannerDataLoaded: false,\n};\n\nconst SettingsReducer = (state = initState, action) => {\n switch (action.type) {\n case \"UPDATE_LOGO_AND_BANNER\":\n let logoURL = action.payload\n ? action.payload.logo\n ? action.payload.logo\n : logoImg\n : logoImg;\n let bannerURL = action.payload\n ? action.payload.feature_image\n ? action.payload.feature_image\n : bannerImg\n : bannerImg;\n let subdomainID = action.payload\n ? action.payload.id\n ? action.payload.id\n : null\n : null;\n\n return {\n ...state,\n logoURL: logoURL,\n bannerURL: bannerURL,\n subdomainID,\n logoBannerDataLoaded: true,\n };\n\n default:\n return state;\n }\n};\n\nexport default SettingsReducer;\n","const initialState = {\n status: false,\n userId: \"\",\n accessToken: \"\",\n error: \"\",\n success: false,\n};\n\nconst SocialIntegrationReducer = (state = initialState, action) => {\n switch (action.type) {\n case \"GET_INTEGRATION_STATUS_LOADER\":\n return {\n ...state,\n integratedStatusLoading: true,\n };\n case \"GET_INTEGRATION_STATUS\":\n return {\n status: action.payload,\n success: action.payload.success,\n integratedStatusLoading: false,\n };\n case \"GET_INTEGRATION_STATUS_ERROR\":\n return {\n ...state,\n error: action.payload,\n integratedStatusLoading: false,\n };\n case \"SET_USER_ID\":\n return {\n ...state,\n userId: action.payload.userId,\n accessToken: action.payload.accessToken,\n integratedStatusLoading: false,\n };\n\n default:\n return state;\n }\n};\n\nexport default SocialIntegrationReducer;\n","const initState = {\n open: false,\n message: \"\",\n variant: \"danger\",\n};\n\nconst ToastReducer = (state = initState, action) => {\n switch (action.type) {\n case \"ToastSuccess\":\n console.log(\"Action Payload: \", action.payload)\n return {\n ...state,\n open: true,\n message: action.payload.message,\n variant: action.payload.variant,\n \n };\n\n case \"ToastFailed\":\n return {\n ...state,\n open: true,\n message: action.payload.message,\n variant: action.payload.variant,\n };\n case \"ClearToast\":\n return initState;\n default:\n return state;\n }\n};\nexport default ToastReducer;\n","const initState = {\n getCustomersLoading: false,\n createCustomersLoading: false,\n deleteCustomersLoading: false,\n customers: {},\n};\n\nconst CustomerReducer = (state = initState, action) => {\n switch (action.type) {\n case \"GET_CUSTOMER_REQUEST\":\n return {\n ...state,\n getCustomersLoading: true,\n };\n case \"CREATE_CUSTOMER_REQUEST\":\n return {\n ...state,\n createCustomersLoading: true,\n };\n case \"DELETE_CUSTOMER_REQUEST\":\n return {\n ...state,\n deleteCustomersLoading: true,\n };\n\n case \"SEARCH_CUSTOMERS\":\n return {\n ...state,\n getCustomersLoading: false,\n customers: {\n totalUsers: action.payload.totalUsers,\n users: action.payload.users,\n },\n };\n case \"CREATE_CUSTOMER\":\n return {\n ...state,\n createCustomersLoading: false,\n customers: {\n users: [\n action.payload,\n ...(state.customers && state.customers.users),\n ],\n },\n };\n\n case \"UPDATE_CUSTOMERS\":\n return {\n ...state,\n createCustomersLoading: false,\n customers: {\n totalUsers: state.customers && state.customers.totalUsers,\n users: state.customers.users.map((customer) => {\n if (customer.id === action.payload.id) {\n return action.payload;\n }\n return customer;\n }),\n },\n };\n\n case \"GET_CUSTOMERS\":\n return {\n ...state,\n getCustomersLoading: false,\n customers: action.payload,\n };\n case \"APPEND_GET_CUSTOMERS\":\n return {\n ...state,\n getCustomersLoading: false,\n customers: {\n ...action.payload,\n users: [...state.customers.users, ...action.payload.users],\n },\n };\n\n case \"DELETE_CUSTOMERS\":\n return {\n ...state,\n deleteCustomersLoading: false,\n customers: {\n totalUsers: state.customers && state.customers.totalUsers,\n users: state.customers.users.filter(\n (customer) => customer.id !== action.payload\n ),\n },\n };\n\n case \"CUSTOMER_FAILED\":\n return {\n ...state,\n getCustomersLoading: false,\n createCustomersLoading: false,\n deleteCustomersLoading: false,\n };\n\n default:\n return state;\n }\n};\n\nexport default CustomerReducer;\n","import subMonths from \"date-fns/subMonths\";\nimport moment from \"moment\";\n\nconst initState = {\n addedProfileList: [],\n searchedProfileList: [],\n profilesListForCompare: [],\n searchLoading: false,\n topFollowerLoading: false,\n searchedAddedProfilesList: [],\n profileBasic: {},\n profileLikes: {},\n profileComments: {},\n profileShares: {},\n profileTopPost: {},\n profileGrowthFollowers: {},\n fansGrowth: [],\n postsData: {},\n interactionData: [],\n interactionDistributions: [],\n interactionDistributionsLoader: false,\n postsDataMultiple: [],\n activeSocialMediaType: \"facebook\",\n socialmediaTopFollowers: [],\n addedProfileListLoading: false,\n profilesListForCompareLoading: false,\n profileOverviewLoading: false,\n fanGrowthLoader: false,\n interactionLoader: false,\n postBreakDownLoader: false,\n multiplePostBreakDownLoader: false,\n profileBasicLoading: false,\n profileLikesLoading: false,\n profileCommentsLoading: false,\n profileSharesLoading: false,\n profileTopPostLoading: false,\n profileGrowthFollowersLoading: false,\n selectedProfilesListToComapre: [],\n serverError: false,\n contentNewsFeed: null,\n contentNewsFeedLoading: false,\n topPostProfileID: null,\n socialListeningDataLoading: false,\n socialListeningData: [],\n noOfPeople: {},\n noOfPeopleLoading: false,\n noOfMentions: {},\n noOfMentionsLoading: false,\n noOfSocialInteraction: {},\n noOfSocialInteractionLoading: false,\n noOfPotentialImpression: {},\n noOfPotentialImpressionLoading: false,\n emojiChartData: [],\n emojiChartDataLoading: false,\n sentimentInTimeData: [],\n sentimentInTimeDataLoading: false,\n customDateRangeRed: [\n {\n startDate: moment().subtract(30, \"day\").format(\"YYYY-MM-DD\"),\n endDate: moment().format(\"YYYY-MM-DD\"),\n key: \"selection\",\n ranged: \"Last 30 days\",\n },\n ],\n searchQueryData: [],\n profileAbsInteractionLoading: false,\n profileAbsInteraction: [],\n socialListeningError: false,\n getComparisionProfileError:\"\"\n};\n\n/* this function is socia medail profiles reducer*/\nconst SocialMediaProfileListReducer = (state = initState, action) => {\n switch (action.type) {\n /* setting active socail media type */\n case \"SET_ACTIVE_SOCIAL_MEDIA_TYPE\":\n return {\n ...initState,\n noOfPeople: state.noOfPeople,\n noOfPeopleLoading: state.noOfPeopleLoading,\n noOfMentions: state.noOfMentions,\n noOfMentionsLoading: state.noOfMentionsLoading,\n noOfSocialInteraction: state.noOfSocialInteraction,\n noOfSocialInteractionLoading: state.noOfSocialInteractionLoading,\n noOfPotentialImpression: state.noOfPotentialImpression,\n noOfPotentialImpressionLoading: state.noOfPotentialImpressionLoading,\n emojiChartData: state.emojiChartData,\n emojiChartDataLoading: state.emojiChartDataLoading,\n sentimentInTimeData: state.sentimentInTimeData,\n sentimentInTimeDataLoading: state.sentimentInTimeDataLoading,\n searchQueryData: state.searchQueryData,\n customDateRangeRed: state.customDateRangeRed,\n activeSocialMediaType: action.payload,\n };\n\n //setting date range picker state data\n case \"SET_CUSTOM_DATE_RANGE\":\n return {\n ...state,\n customDateRangeRed: action.payload,\n };\n\n /* social media profile reducer start */\n case \"GET_ADDED_PROFILE_LIST_START\":\n return {\n ...state,\n addedProfileListLoading: true,\n };\n case \"GET_ADDED_PROFILE_LIST\":\n return {\n ...state,\n addedProfileList: action.payload,\n addedProfileListLoading: false,\n fanGrowthLoader: false,\n };\n case \"SEARCH_ADDED_PROFILES_LIST\":\n return {\n ...state,\n searchedAddedProfilesList: action.payload,\n };\n // case \"DELETING_ADDED_PROFILE_LIST\":\n // return {\n // ...state,\n // addedProfileList: action.payload,\n // };\n case \"SEARCH_SOCIAL_MEDIA_PROFILE_LIST\":\n return {\n ...state,\n searchedProfileList: action.payload,\n searchLoading: false,\n getComparisionProfileError:\"\"\n };\n case \"SEARCH_SOCIAL_MEDIA_PROFILE_LIST_START\":\n return {\n ...state,\n searchLoading: true,\n };\n case \"ADD_PROFILE_LIST_TO_COMPARE_START\":\n return {\n ...state,\n profilesListForCompareLoading: true,\n };\n case \"ADD_PROFILE_LIST_TO_COMPARE\":\n return {\n ...state,\n profilesListForCompare: action.payload,\n profilesListForCompareLoading: false,\n };\n\n // Use for Getting Added profile list basic details\n // case \"BASIC_ADDED_PROFILE_DETAILS\":\n // return {\n // ...state,\n // basicProfileDetails: action.payload,\n // }\n\n /* social media profile reducer end */\n case \"GET_PROFILE_OVERVIEW_START\":\n return {\n ...state,\n profileOverviewLoading: true,\n };\n\n /* geting profile basic start*/\n case \"GET_PROFILE_BASIC_LOADER\": //loader\n return {\n ...state,\n\n profileBasicLoading: true,\n };\n case \"GET_PROFILE_BASIC\":\n return {\n ...state,\n profileBasic: action.payload,\n profileBasicLoading: false,\n };\n /* geting profile basic end*/\n\n /* geting profile likes start*/\n case \"GET_PROFILE_LIKES_LOADER\": //loader\n return {\n ...state,\n\n profileLikesLoading: true,\n };\n case \"GET_PROFILE_LIKES\":\n return {\n ...state,\n profileLikes: action.payload,\n profileLikesLoading: false,\n };\n /* geting profile likes end*/\n\n /* geting profile interaction start*/\n case \"GET_PROFILE_ABS_INTERACTION_START\": //loader\n return {\n ...state,\n\n profileAbsInteractionLoading: true,\n };\n case \"GET_PROFILE_ABS_INTERACTION\":\n return {\n ...state,\n profileAbsInteraction: action.payload,\n profileAbsInteractionLoading: false,\n };\n /* geting profile interaction end*/\n\n /* geting profile comments start*/\n case \"GET_PROFILE_COMMENTS_LOADER\": //loader\n return {\n ...state,\n\n profileCommentsLoading: true,\n };\n case \"GET_PROFILE_COMMENTS\":\n return {\n ...state,\n profileComments: action.payload,\n profileCommentsLoading: false,\n };\n /* geting profile comments end*/\n\n /* geting profile shares start*/\n case \"GET_PROFILE_SHARES_LOADER\": //loader\n return {\n ...state,\n\n profileSharesLoading: true,\n };\n case \"GET_PROFILE_SHARES\":\n return {\n ...state,\n profileShares: action.payload,\n profileSharesLoading: false,\n };\n /* geting profile shares end*/\n\n /* geting profile shares start*/\n case \"GET_PROFILE_TOP_POST_LOADER\": //loader\n return {\n ...state,\n\n profileTopPostLoading: true,\n };\n case \"GET_PROFILE_TOP_POST\":\n return {\n ...state,\n profileTopPost: action.payload,\n profileTopPostLoading: false,\n };\n /* geting profile shares end*/\n\n /* geting profile shares start*/\n case \"GET_PROFILE_GROWTH_FOLLOWERS_LOADER\": //loader\n return {\n ...state,\n\n profileGrowthFollowersLoading: true,\n };\n case \"GET_PROFILE_GROWTH_FOLLOWERS\":\n return {\n ...state,\n profileGrowthFollowers: action.payload,\n profileGrowthFollowersLoading: false,\n };\n /* geting profile shares end*/\n\n case \"GET_SOCIAL_MEDIA_TOP_FOLLOWERS_START\":\n return {\n ...state,\n topFollowerLoading: true,\n };\n case \"GET_SOCIAL_MEDIA_TOP_FOLLOWERS\":\n return {\n ...state,\n socialmediaTopFollowers: action.payload,\n topFollowerLoading: false,\n };\n\n case \"GET_DISTRIBUTIONS_OF_INTERACTIONS\":\n return {\n ...state,\n interactionDistributionsLoader: true,\n };\n\n case \"GET_INTERACTIONS_DISTRIBUTIONS\":\n return {\n ...state,\n interactionDistributions: action.payload,\n interactionDistributionsLoader: false,\n };\n\n case \"GET_FANS_GROWTH_DATA_LOADER\":\n return {\n ...state,\n fanGrowthLoader: true,\n };\n case \"GET_FANS_GROWTH_DATA\":\n return {\n ...state,\n fansGrowth: action.payload,\n fanGrowthLoader: false,\n };\n\n case \"GET_INTERACTIONS_DATA_LOADER\":\n return {\n ...state,\n interactionLoader: true,\n };\n\n case \"GET_INTERACTIONS_DATA\":\n return {\n ...state,\n interactionData: action.payload,\n interactionLoader: false,\n };\n\n case \"GET_POSTS_BREAKDOWN_DATA_LOADER\":\n return {\n ...state,\n postBreakDownLoader: true,\n };\n\n case \"GET_POST_TYPE_DATA\":\n return {\n ...state,\n postsData: action.payload,\n postBreakDownLoader: false,\n };\n case \"GET_POSTS_BREAKDOWN_DATA_MULTIPLE_LOADER\":\n return {\n ...state,\n multiplePostBreakDownLoader: true,\n };\n\n case \"GET_POST_TYPE_DATA_MULTIPLE\":\n return {\n ...state,\n postsDataMultiple: action.payload,\n multiplePostBreakDownLoader: false,\n };\n\n case \"SOCIAL_MEDIA_PROFILES_ERROR\": // server error when no internet connection\n return {\n ...state,\n serverError: true,\n profilesListForCompareLoading: false,\n addedProfileListLoading: false,\n profileOverviewLoading: false,\n fanGrowthLoader: false,\n interactionLoader: false,\n postBreakDownLoader: false,\n multiplePostBreakDownLoader: false,\n profileBasicLoading: false,\n profileLikesLoading: false,\n profileCommentsLoading: false,\n profileSharesLoading: false,\n profileTopPostLoading: false,\n profileGrowthFollowersLoading: false,\n socialListeningDataLoading: false,\n noOfPeopleLoadiing: false,\n noOfPeopleLoading: false,\n noOfMentionsLoading: false,\n noOfSocialInteractionLoading: false,\n noOfPotentialImpressionLoading: false,\n sentimentInTimeDataLoading: false,\n emojiChartDataLoading: false,\n };\n\n case \"SOCIAL_MEDIA_RES_ERROR\": // server response error case\n return {\n ...state,\n profilesListForCompareLoading: false,\n addedProfileListLoading: false,\n profilesListForCompareLoading: false,\n profileOverviewLoading: false,\n fanGrowthLoader: false,\n interactionLoader: false,\n postBreakDownLoader: false,\n multiplePostBreakDownLoader: false,\n profileBasicLoading: false,\n profileLikesLoading: false,\n profileCommentsLoading: false,\n profileSharesLoading: false,\n profileTopPostLoading: false,\n contentNewsFeedLoading: false,\n profileGrowthFollowersLoading: false,\n socialListeningDataLoading: false,\n noOfPeopleLoadiing: false,\n noOfMentionsLoading: false,\n noOfSocialInteractionLoading: false,\n noOfPotentialImpressionLoading: false,\n sentimentInTimeDataLoading: false,\n emojiChartDataLoading: false,\n getComparisionProfileError:action.payload,\n searchLoading:false\n };\n\n // Social Media Content NewsFeed\n\n case \"GET_PROFILE_CONTENT_FEED\":\n return {\n ...state,\n contentNewsFeedLoading: true,\n };\n\n case \"GET_PROFILE_CONTENT_FEED_SUCCESS\":\n return {\n ...state,\n contentNewsFeedLoading: false,\n contentNewsFeed: action.payload,\n };\n\n case \"CLEAR_PROFILE_CONTENT_FEED\":\n return {\n ...state,\n contentNewsFeedLoading: true,\n contentNewsFeed: null,\n };\n\n /* profiles To compare on selecting checkbox from added social profiles list */\n case \"SELECT_PROFILES_TO_COMPARE\":\n return {\n ...state,\n selectedProfilesListToComapre:\n state.selectedProfilesListToComapre.concat(action.payload),\n };\n\n case \"REMOVE_PROFILES_FROM_COMPARE\":\n return {\n ...state,\n selectedProfilesListToComapre: action.payload,\n };\n case \"DELETE_SELECT_PROFILES_TO_COMPARE\" /* delete compared porifle list */:\n return {\n ...state,\n selectedProfilesListToComapre:\n state.selectedProfilesListToComapre.filter(\n (profile) => profile.id !== action.payload\n ),\n };\n case \"RESET_PROFILES_TO_COMPARE\" /* reset selected profiles list for comparison */:\n return {\n ...state,\n selectedProfilesListToComapre: [],\n };\n\n //For selecting current id of top posts being displayed\n\n case \"TOP_POST_ID\":\n return {\n ...state,\n topPostProfileID: action.payload,\n };\n\n case \"RESET_TOP_POST_ID\":\n return {\n ...state,\n topPostProfileID: null,\n };\n\n //social-listening-page-reducer\n case \"GET_SOCIAL_LISTENING_TAGS_START\":\n return {\n ...state,\n socialListeningDataLoading: true,\n };\n case \"GET_SOCIAL_LISTENING_TAGS\":\n return {\n ...state,\n socialListeningDataLoading: false,\n socialListeningData: action.payload,\n };\n case \"GET_NO_OF_PEOPLE_START\":\n return {\n ...state,\n noOfPeopleLoading: true,\n socialListeningError: false\n };\n case \"GET_NO_OF_PEOPLE_END\":\n return {\n ...state,\n noOfPeopleLoading: false,\n socialListeningError: false\n };\n case \"GET_NO_OF_PEOPLE\":\n return {\n ...state,\n noOfPeople: action.payload,\n socialListeningError: false\n };\n case \"GET_NO_OF_MENTIONS_START\":\n return {\n ...state,\n noOfMentionsLoading: true,\n };\n case \"GET_NO_OF_MENTIONS\":\n return {\n ...state,\n noOfMentions: action.payload,\n noOfMentionsLoading: false,\n };\n\n case \"GET_NO_OF_SOCIAL_INTERACTIONS_START\":\n return {\n ...state,\n noOfSocialInteractionLoading: true,\n };\n\n case \"GET_NO_OF_SOCIAL_INTERACTIONS\":\n return {\n ...state,\n noOfSocialInteraction: action.payload,\n noOfSocialInteractionLoading: false,\n };\n case \"GET_NO_OF_POTENTIAL_IMPRESSION_START\":\n return {\n ...state,\n noOfPotentialImpressionLoading: true,\n };\n case \"GET_NO_OF_POTENTIAL_IMPRESSION\":\n return {\n ...state,\n noOfPotentialImpression: action.payload,\n noOfPotentialImpressionLoading: false,\n };\n\n case \"GET_EMOJI_CHART_DATA_START\":\n return {\n ...state,\n emojiChartDataLoading: true,\n };\n\n case \"GET_EMOJI_CHART_DATA\":\n return {\n ...state,\n emojiChartData: action.payload,\n emojiChartDataLoading: false,\n };\n case \"GET_SENTIMENT_TIME_DATA_START\":\n return {\n ...state,\n sentimentInTimeDataLoading: true,\n };\n case \"GET_SENTIMENT_TIME_DATA\":\n return {\n ...state,\n sentimentInTimeData: action.payload,\n sentimentInTimeDataLoading: false,\n };\n case \"RESET_SOCIAL_LISTENING_DATA\":\n return {\n ...state,\n noOfPeople: {},\n noOfMentions: {},\n noOfSocialInteraction: {},\n noOfPotentialImpression: {},\n emojiChartData: [],\n sentimentInTimeData: [],\n };\n\n case \"SET_SEARCH_QUERY\":\n return {\n ...state,\n searchQueryData: state.searchQueryData.includes(action.payload)\n ? state.searchQueryData\n : [...state.searchQueryData, action.payload],\n };\n case \"DELETE_SEARCH_QUERY\":\n return {\n ...state,\n searchQueryData: state.searchQueryData.filter(\n (data) => data !== action.payload\n ),\n };\n case \"RESET_SEARCH_QUERY\":\n return {\n ...state,\n searchQueryData: [],\n };\n\n case \"SOCIAL_LISTENING_ERROR\":\n return {\n ...state,\n socialListeningError: true\n }\n\n case \"SOCIAL_LISTENING_ERROR_COMPLETE\":\n return {\n ...state,\n socialListeningError: false\n }\n\n default:\n return state;\n }\n};\n\nexport default SocialMediaProfileListReducer;\n","const initState = {\n faqList: [],\n searchArticles: [],\n searchArticlesLoader: false,\n howToDocList: [],\n videoList: [],\n howToDocListLoader: false,\n faqListLoader: false,\n videoListLoader: false,\n contactSupportListLoader: false,\n contactSupportList: [],\n searchQuery: ''\n};\n\nconst HelpPageReducer = (state = initState, action) => {\n switch (action.type) {\n case \"GET_FAQ_LIST_LOADER_START\":\n return {\n ...state,\n faqListLoader: true\n }\n case \"GET_FAQ_LIST\":\n return {\n ...state,\n faqList: action.payload,\n faqListLoader: false\n };\n\n case \"GET_HOW_TO_DOC_LIST_LOADER_START\":\n return {\n ...state,\n howToDocListLoader: true\n }\n case \"GET_HOW_TO_DOC_LIST\":\n return {\n ...state,\n howToDocList: action.payload,\n howToDocListLoader: false\n }\n\n case \"GET_VIDEO_LIST_LOADER_START\":\n return {\n ...state,\n videoListLoader: true\n }\n case \"GET_VIDEO_LIST\":\n return {\n ...state,\n videoListLoader: false,\n videoList: action.payload\n }\n\n case \"GET_SEARCH_ARTICLE_LOADER_START\":\n return {\n ...state,\n searchArticlesLoader: true\n }\n case \"GET_SEARCH_ARTICLE\":\n return {\n ...state,\n searchArticlesLoader: false,\n searchArticles: action.payload\n }\n case \"GET_SUPPORT_LIST_LOADER_START\":\n return {\n ...state,\n contactSupportListLoader: true\n }\n case \"GET_SUPPORT_LIST\":\n return {\n ...state,\n contactSupportListLoader: false,\n contactSupportList: action.payload\n }\n\n case \"SET_HELP_SEARCH_QUERY\":\n return {\n ...state,\n searchQuery: action.payload\n }\n\n case \"CLEAR_SEARCH_ARTICLE\":\n return {\n ...state,\n searchArticlesLoader: false,\n searchArticles: []\n }\n\n default:\n return state;\n }\n};\n\nexport default HelpPageReducer;\n","const initialState = {\n pagesInfoLoading: false,\n pagesInfo: [],\n deletePageLoading: false,\n updatePagesInfo: true\n};\n\nexport const SuperAdminDashboardReducer = (state = initialState, action) => {\n switch (action.type) {\n case \"GET_PAGES_INFO_START\":\n return {\n ...state,\n pagesInfoLoading: true,\n };\n case \"GET_PAGES_INFO\":\n return {\n ...state,\n pagesInfo: action.payload,\n pagesInfoLoading: false,\n };\n case \"UPDATE_PAGES_INFO_START\":\n return {\n ...state,\n updatePagesInfo: true\n }\n case \"UPDATE_PAGES_INFO\":\n return {\n ...state,\n updatePagesInfo: false\n }\n case \"DELETE_PAGES_START\":\n return {\n ...state,\n deletePageLoading: true,\n };\n case \"DELETE_PAGES\":\n return {\n ...state,\n deletePageLoading: false,\n };\n default:\n return state;\n }\n};\n","const initialState = {\n subdomainList: {\n loading: true,\n success: false,\n data: [],\n error: []\n },\n userLoginActivity: {\n loading: true,\n success: false,\n data: [],\n error: []\n },\n userReportDownloadActivityCreate: {\n loading: false,\n success: false,\n data: [],\n error: []\n },\n userReportDownloadActivity: {\n loading: true,\n success: false,\n data: [],\n error: []\n }\n};\n\nexport default (state = initialState, action) => {\n const { type, payload } = action;\n\n switch (type) {\n case 'GET_SUBDOMAIN_LIST':\n return {\n ...state,\n subdomainList: {\n ...state.subdomainList,\n loading: true,\n success: false\n }\n }\n\n case 'GET_SUBDOMAIN_LIST_SUCCESS':\n return {\n ...state,\n subdomainList: {\n ...state.subdomainList,\n loading: false,\n success: true,\n data: payload\n }\n }\n\n case 'GET_SUBDOMAIN_LIST_ERROR':\n return {\n ...state,\n subdomainList: {\n ...state.subdomainList,\n loading: false,\n success: false,\n error: payload\n }\n }\n\n case 'GET_USER_LOGIN_ACTIVITY':\n return {\n ...state,\n userLoginActivity: {\n ...state.userLoginActivity,\n loading: true,\n success: false\n }\n }\n\n case 'GET_USER_LOGIN_ACTIVITY_SUCCESS':\n return {\n ...state,\n userLoginActivity: {\n ...state.userLoginActivity,\n loading: false,\n success: true,\n data: payload\n }\n }\n\n case 'GET_USER_LOGIN_ACTIVITY_ERROR':\n return {\n ...state,\n userLoginActivity: {\n ...state.userLoginActivity,\n loading: false,\n success: false,\n error: payload\n }\n }\n\n case 'CREATE_USER_REPORT_DOWNLOAD_ACTIVITY':\n return {\n ...state,\n userReportDownloadActivityCreate: {\n ...state.userReportDownloadActivityCreate,\n loading: true,\n success: false\n }\n }\n\n case 'CREATE_USER_REPORT_DOWNLOAD_ACTIVITY_SUCCESS':\n return {\n ...state,\n userReportDownloadActivityCreate: {\n ...state.userReportDownloadActivityCreate,\n loading: false,\n success: true,\n data: payload\n }\n }\n\n case 'CREATE_USER_REPORT_DOWNLOAD_ACTIVITY_ERROR':\n return {\n ...state,\n userReportDownloadActivityCreate: {\n ...state.userReportDownloadActivityCreate,\n loading: false,\n success: false,\n error: payload\n }\n }\n\n case 'GET_USER_REPORT_DOWNLOAD_ACTIVITY':\n return {\n ...state,\n userReportDownloadActivity: {\n ...state.userReportDownloadActivity,\n loading: true,\n success: false\n }\n }\n\n case 'GET_USER_REPORT_DOWNLOAD_ACTIVITY_SUCCESS':\n return {\n ...state,\n userReportDownloadActivity: {\n ...state.userReportDownloadActivity,\n loading: false,\n success: true,\n data: payload\n }\n }\n\n case 'GET_USER_REPORT_DOWNLOAD_ACTIVITY_ERROR':\n return {\n ...state,\n userReportDownloadActivity: {\n ...state.userReportDownloadActivity,\n loading: false,\n success: false,\n error: payload\n }\n }\n\n default:\n return state;\n }\n\n}","import { combineReducers } from \"redux\";\nimport ApiResReducer from \"./ApiResReducer\";\nimport AuthReducer from \"./AuthReducer\";\nimport DashboardReducer from \"./DashboardReducer\";\nimport ComparisonReducer from \"./ComparisonReducer\";\nimport SettingsReducer from \"./SettingsReducer\";\nimport SocialListeningReducer from \"./SocialListeningReducer\";\nimport ToastReducer from \"./ToastReducer\";\nimport CustomerReducer from \"./CustomerReducer\";\nimport SocialMediaProfileListReducer from \"./SocialMediaProfilesList\";\nimport HelpPageReducer from \"./HelpPagereducer\";\nimport { SuperAdminDashboardReducer } from \"./SuperAdminDashboardReducer\";\n\nimport UserActivityReducer from \"./UserActivityReducer\";\n\nexport const reducers = combineReducers({\n auth: AuthReducer,\n dashboard: DashboardReducer,\n comparison: ComparisonReducer,\n settings: SettingsReducer,\n social: SocialListeningReducer,\n toast: ToastReducer,\n customerInfo: CustomerReducer,\n apiResReducer: ApiResReducer,\n socialMediaProfileListReducer: SocialMediaProfileListReducer,\n helpReducer: HelpPageReducer,\n adminDashboardReducer: SuperAdminDashboardReducer,\n userActivityReducer: UserActivityReducer,\n\n\n});\n","import { createStore, applyMiddleware } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport Axios from \"axios\";\nimport { composeWithDevTools } from \"redux-devtools-extension\";\nimport { reducers } from \"./reducers\";\nimport logger from 'redux-logger'\n\nconst middleware = [thunk, logger];\nexport default createStore(\n reducers,\n composeWithDevTools(applyMiddleware(...middleware))\n);\n","import { Route, Redirect } from \"react-router-dom\";\nimport { useSelector } from \"react-redux\";\nconst PrivateRoute = ({ component: Component, roles, ...rest }) => {\n const { isAuth, token, user } = useSelector((state) => state.auth);\n return (\n {\n //token from state\n\n if (!isAuth) {\n // not logged in so redirect to login page with the return url\n\n return ;\n }\n\n if (isAuth && user && user.role === \"super-admin\") {\n return ;\n }\n\n // if (isAuth && user && user.role !== \"super-admin\") {\n // return ;\n // }\n \n\n // authorised so return component\n return ;\n }}\n />\n );\n};\nexport default PrivateRoute;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABmJLR0QA/wD/AP+gvaeTAAABbklEQVRIib3WPUscURTG8d8aBMFAKm1cQQOxthTEXgjEVoRYaZsiTap0qUzwA1hpJ66SxqwfwMJKQVIpFlskiCFb7IZYiMtazCzI7Muduys+cBgYnnP+59y5c2doVxEl1NEMRAUrHWoEVUQ1ByAbn2JBpTTxEBMB70IG9iUG1FquYg7viPbJNvOCWgmx/sfx9blATXx+LlAT758SdNwDVHlKUFajeJunTsiwg1+YDgAHBt3iB9ZiQUOBhKxOJS9qPTIv3ElGq2hgPLZO7ES/UcDryLxwJxl9kzyjn3gVU6fQwdDpPgzjCu8wj2V8xCxeoozLHHU6d/JI6zjBB3zHfeptSDbJn5x1ehqmcI3/2MKSZEPMYRfn2BgENIZt3EmWJrTb+gad4QJ/JVPlVfT2vsELLAockrEa9FDtWic70b/0mudT3k2T6bXWy3SQdlLuEzaJo7TGfi/jjP5+t7JRxZtQV0XsSUaPBdTSSdogD7GVvK6jtRJgAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABmJLR0QA/wD/AP+gvaeTAAABl0lEQVRIid3WPUscURTG8Z+rkKCCFgnESIqAgi+fILUWBlNZBlKlDaQ0KbRSLAQbS7GSvBQxWARSCBZKPoIEUohlIgSyJGKR6FjMXbw7O86OujGQBw47++y557/n3svZJV99eIMqkiaxj8fn1CnUHXwrAcjG9EVBa2Hh+9BZkR5kYHMXAR3gBLdK5N7U2NlSWdBRiLLK28bF6wIlmLkuUIInrQTtFID2WwnKqguTEeyvgWqqA1VaULC0PkX0Q8WHm40T9WNqJ6rbsHU1oyu873E2HSoYwG+M4GXwj/EC3WHNRE7hc0HwFI/Qn0laxVAonmAl+M/xFuvNQNkzOsRXdEZeLxbQFnkfMCwdpFvYxB9NFJMr4ZtvRt508Nujjh5iFHshn/Smlu5oHp8xHnlDmJKeS01j2JVu4VizTqAjem4PIceblf5s1D5/hi9Yxi8M5qxtUNEIKRNH0fN2VPc/nwz/FPQTN3D7CnXvhddqUdIr6d5u4O4lIR9DjXdFifelf1CuchMTfJde+0L14TV+XAJQDZ3UQU4BUArae69Rn3MAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABmJLR0QA/wD/AP+gvaeTAAABRUlEQVRIib3Wv0rDUBTH8S9OBWsHO5qii+Lo1klHFaSIjoK0sy/gJDq4KfoeVjfR0UHQRR9B7KZLh7aTosQhJxhu/tx747EHLiHJ755PbhJIIF0B0AWGQGgZPWAno4e1AqDvAJhj3xfqysRrYMaSXTawYx8ovl2BQ7ZCemVnrlA8wTefHCfjgkLgYFxQCOxqQvcFUE8TMmsS2HDpkxWYAlY9wVLQnhw7z5lT04Kq/D4LEzsEvoGmBpSHHcn+s5xXgUzsMYFMe/ZxClSBuwSWhahAAGvAA9D6Sx9bYBv4lMwX0P4PaEuQd2AdeCF64zqa0KYgb8CiHJsDXgVb0oBWgA8DiWsWOAXqGlALeMpAfPv4BcpCE0ZgJFuXT3leNWQ7KApdyZXclMQawK30uCwKLlDud8scfWDedlUBcEG0dF9gICtJIT9kzs2MtUMVxQAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/like.e0c62494.png\";","export default __webpack_public_path__ + \"static/media/love.b4e2adbe.png\";","export default __webpack_public_path__ + \"static/media/haha.541432bf.png\";","export default __webpack_public_path__ + \"static/media/wow.a97e7f79.png\";","export default __webpack_public_path__ + \"static/media/care.ace4d77e.png\";","export default __webpack_public_path__ + \"static/media/angry.3e378785.png\";","export default __webpack_public_path__ + \"static/media/sad.6deb6819.png\";","export default \"data:image/png;base64,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\"","\nimport React from 'react'\nimport { AppBar, Container, Toolbar, Typography } from '@material-ui/core'\nimport {MSVFooterLogo} from '../logosandicons'\n\nexport const Footer = () => {\n return (\n <>\n {/* \n \n \n \n ©️ 2021 Kinado Pty Limited\n \n \n \n */}\n \n \n \n \n \"footerLogo\"/\n \n \n \n \n \n )\n}\n","import { ToastContainer, toast } from \"react-toastify\";\nimport axios from \"axios\";\nimport { Redirect } from \"react-router\";\n\nexport const SignIn = (user) => async (dispatch) =>\n new Promise(function (resolve, reject) {\n /* api call to Login User */\n axios\n .post(\"/sign-in\", user)\n .then((response) => {\n if (response.data.status && response.data.data) {\n localStorage.setItem(\"userInfo\", JSON.stringify(response.data.data));\n toast.success(\"Successful Login\");\n\n dispatch({\n type: \"SIGNIN\",\n payload: response.data.data,\n });\n resolve(response);\n } else {\n throw new Error(response.data);\n }\n })\n .catch((error) => {\n reject(error);\n });\n });\n\nexport const FacebookSignIn = (accessToken, user) => async (dispatch) =>\n new Promise(function (resolve, reject) {\n /* api call to Login User */\n axios\n .post(`/facebook/sign-in?access_token=${accessToken}`, user)\n .then((response) => {\n if (response.data.status && response.data.data) {\n localStorage.setItem(\"userInfo\", JSON.stringify(response.data.data));\n toast.success(\"Successful Login\");\n\n dispatch({\n type: \"SIGNIN\",\n payload: response.data.data,\n });\n resolve(response);\n } else {\n throw new Error(response.data);\n }\n })\n .catch((error) => {\n reject(error);\n });\n });\n\nexport const SignOut = () => (dispatch) =>\n new Promise(function (resolve, reject) {\n ;\n axios\n .get(\"/logout\")\n .then((response) => {\n dispatch({\n type: \"LOGOUT\",\n });\n resolve(response);\n })\n .catch((error) => {\n reject(error);\n });\n });\n\nexport const ForgotPassword = (email, subdomain) => async (dispatch) =>\n new Promise(function (resolve, reject) {\n /* api call to Login User */\n axios\n .post(\"/forgot-password\", { email, subdomain })\n .then((response) => {\n toast.success(response.data.message);\n console.log(response);\n resolve(response);\n })\n .catch((error) => {\n reject(error);\n });\n });\n\nexport const ChangePassword = (password, confirm_password) => async () =>\n new Promise(function (resolve, reject) {\n /* api call to Login User */\n axios\n .put(\"/change-password\", { password, confirm_password })\n .then((response) => {\n toast.success(response.data.message);\n console.log(\"Success\", response);\n\n resolve(response);\n })\n .catch((error) => {\n reject(error);\n });\n });\n\nexport const ChangePasswordEmailVerification =\n (authorization, password) => (dispatch) => {\n dispatch({\n type: \"CHANGE_PASSWORD_REQUEST\",\n });\n axios\n .post(`/change-password-mail`, { authorization, password })\n .then((response) => {\n dispatch({\n type: \"CHANGE_PASSWORD\",\n payload: response.data,\n });\n toast.success(response.data.message);\n })\n\n .catch((error) => {\n toast.error(error.response.message);\n dispatch({\n type: \"CHANGE_PASSWORD_FAILED\",\n });\n });\n\n };\n\n\nexport const getSignInUser = (userId) => (dispatch) => {\n /* api call made to get sign in user details */\n axios.get(`users/${userId}`).then((response) => {\n dispatch({\n type: \"GET_SIGN_IN_USER\",\n payload: response.data.data,\n });\n });\n};\n\n/* customer update from customer profiles >> decision still to be made */\n\nexport const updateCustomerFromProfile = (customer) => (dispatch) =>\n new Promise(function (resolve, reject) {\n // /* axios call is to be made */\n const data = {\n first_name: customer.firstName,\n last_name: customer.lastName,\n contact_number: customer.phoneNumber,\n timezone: customer.timezone\n // active: customer.active,\n };\n\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(data)) {\n formData.set(key, value);\n }\n axios\n .put(\"me/update\", data)\n .then((response) => {\n toast.success(response.data.message);\n console.log(\"response from updates\", response.data.data);\n resolve(response);\n dispatch(getSignInUser(response.data.data.id));\n })\n .catch((error) => {\n reject(error);\n });\n });\n","export const FORM_ERROR_BRAND_NAME = \" Brand Domain is Required\";\nexport const FORM_ERROR_FIRST_NAME = \" First name is required \";\nexport const FORM_ERROR_LAST_NAME = \" Last name is required \";\nexport const FORM_ERROR_EMAIL = \"Email is required \";\nexport const FORM_ERROR_PASSWORD = \"Password is required \";\nexport const SUPER_ADMIN_NAME = \"super-admin\";\nexport const CUSTOMER_ADMIN_NAME = \"customer-admin\";\nexport const CUSTOMER_VIEWER_NAME = \"customer-viewer\";\nexport const ENTER_PAD = \"Enter\";\nexport const ENTER_NUM_PAD = \"NumpadEnter\";\nexport const PASSWORD_PATTERN = new RegExp(\n /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,}$/\n);\nexport const EMAIL_PATTERN = new RegExp(\n /^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/\n);\nexport const NO_DATA_AVAILABLE = \"No data available\"\n","export const formatNumber = (n) => {\n //number formatiing\n if (typeof n === \"string\") {\n const number = Math.round(parseFloat(n) * 100) / 100;\n return `${number}%`;\n }\n return (Math.round(n * 100) / 100).toLocaleString();\n};\n\nexport const numbersFormat = (num) => {\n let numbers = num;\n let calculatedNumber;\n if (num < 0) {\n numbers = Math.abs(num);\n }\n if (numbers > 999 && numbers < 1000000) {\n calculatedNumber = (numbers / 1000).toFixed(1) + \"k\"; // convert to K for numbersber from > 1000 < 1 million\n } else if (numbers > 1000000) {\n calculatedNumber = (numbers / 1000000).toFixed(1) + \"m\"; // convert to M for numbersber from > 1 million\n } else if (numbers < 999) {\n calculatedNumber = Math.round(numbers * 100) / 100; // if value < 1000, nothing to do\n }\n if (num < 0) {\n return `-${calculatedNumber}`;\n }\n return calculatedNumber;\n};\n\nexport const totalEngagementPerKFans = (totalPageLikes, totalFeedsInteraction) => {\n return ((totalFeedsInteraction / totalPageLikes) * 1000).toFixed(2);\n};\n\nexport const getSubDomain = () => {\n // Fetching sub-domain based logo and banner\n const hostName = window.location.host;\n\n if (hostName.includes(\".localhost\")) {\n const subDomain = hostName.split(\".localhost\")[0];\n return subDomain;\n }\n\n const urlSplit = hostName.split(\".\");\n return urlSplit.length === 3 && urlSplit[0] !== \"www\" ? urlSplit[0] : undefined;\n};\n\nexport const formatImage = (activeMedia, subdomain, imageLink) => {\n var subdomainCheck = getSubDomain();\n\n if (subdomainCheck) {\n return `https://${subdomainCheck.toLowerCase()}.${process.env.REACT_APP_IMAGE_URL}${imageLink}`;\n } else {\n return `https://${process.env.REACT_APP_IMAGE_URL}${imageLink}`;\n }\n};\n\nexport const formatVideo = (activeMedia, subdomain, videoLink) => {\n var subdomainCheck = getSubDomain();\n\n if (subdomainCheck) {\n return `https://${subdomainCheck.toLowerCase()}.${process.env.REACT_APP_IMAGE_URL}${videoLink}`;\n } else {\n return `https://${process.env.REACT_APP_IMAGE_URL}${videoLink}`;\n }\n};\n\nexport const formatServerImages = (imageLink) => {\n const checkIfURLLocalHost = () => {\n if (window.location.href.indexOf(\"localhost\") != -1) {\n return true;\n } else return false;\n };\n\n var formattedImage = imageLink.replace(/^http?\\:\\/\\//i, \"https://\");\n\n if (checkIfURLLocalHost()) {\n return imageLink;\n } else return formattedImage;\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n AppBar,\n Toolbar,\n Typography,\n Button,\n makeStyles,\n Menu,\n MenuItem,\n Box,\n useMediaQuery,\n withStyles,\n IconButton,\n Drawer,\n useTheme,\n} from \"@material-ui/core\";\n\nimport { NavLink } from \"react-router-dom\";\n// importing icons\nimport AccountBoxIcon from \"@material-ui/icons/AccountBox\";\nimport DashboardIcon from \"@material-ui/icons/Dashboard\";\nimport HelpIcon from \"@material-ui/icons/Help\";\nimport AccountCircleIcon from \"@material-ui/icons/AccountCircle\";\nimport SettingsIcon from \"@material-ui/icons/Settings\";\nimport ExitToAppIcon from \"@material-ui/icons/ExitToApp\";\nimport CompareIcon from \"@material-ui/icons/Compare\";\n\nimport { Link, withRouter } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nimport { SignOut } from \"../../store/actions/AuthAction\";\nimport { Styles } from \"./Styles\";\nimport * as constant from \"../../utlis/constant\";\nimport SupervisorAccountIcon from \"@material-ui/icons/SupervisorAccount\";\nimport MenuIcon from \"@material-ui/icons/Menu\";\nimport HeadsetIcon from \"@material-ui/icons/Headset\";\nimport CallSharpIcon from \"@material-ui/icons/CallSharp\";\nimport { formatServerImages } from \"../../Functions\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\n/*Styled menu dropdown menu from navbar */\n\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FBE281\",\n \"&:hover\": {\n backgroundColor: \"#FBE281\",\n },\n },\n },\n})(MenuItem);\n\nconst Navbar = ({ location: { pathname } }) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n const dispatch = useDispatch();\n const { user } = useSelector((state) => state.auth);\n const { logoURL } = useSelector((state) => state.settings);\n const classes = useStyles({ xs, sm, md });\n const [show, setShow] = useState(null);\n const [state, setState] = useState({\n mobileView: false,\n drawerOpen: false,\n });\n\n const { mobileView, drawerOpen } = state;\n\n useEffect(() => {\n const setResponsiveness = () => {\n return window.innerWidth < 1024\n ? setState((prevState) => ({ ...prevState, mobileView: true }))\n : setState((prevState) => ({ ...prevState, mobileView: false }));\n };\n\n setResponsiveness();\n\n window.addEventListener(\"resize\", () => setResponsiveness());\n }, []);\n\n const menuItem = () => (\n <>\n \n {\" \"}\n \n Dashboard\n \n\n {user.role !== constant.SUPER_ADMIN_NAME && (\n \n {\" \"}\n \n \n Brand Overviews\n \n \n )}\n\n {user.role !== constant.SUPER_ADMIN_NAME && (\n \n {\" \"}\n \n Comparison\n \n )}\n {user.role !== constant.SUPER_ADMIN_NAME && (\n \n {\" \"}\n \n \n Social Listening\n \n \n )}\n {user.role == constant.SUPER_ADMIN_NAME && (\n \n {\" \"}\n \n \n Customer support\n \n \n )}\n \n {\" \"}\n {mobileView ? (\n Help\n ) : (\n \"\"\n )}\n \n \n );\n const logo = () => (\n \n \n \n );\n\n const displayDesktop = () => {\n return (\n \n {logo()}\n
{menuItem()}
\n
\n );\n };\n\n const displayMobile = () => {\n const handleDrawerOpen = () =>\n setState((prevState) => ({ ...prevState, drawerOpen: true }));\n const handleDrawerClose = () =>\n setState((prevState) => ({ ...prevState, drawerOpen: false }));\n\n return (\n \n \n \n \n\n \n
{menuItem()}
\n \n\n
{logo()}
\n \n );\n };\n\n const handleClick = (event) => {\n setShow(event.currentTarget);\n };\n\n const handleClose = () => {\n setShow(null);\n };\n useEffect(() => {\n // console.log(\"State Update\", logoURL)\n }, [logoURL]);\n\n return (\n \n {mobileView ? displayMobile() : displayDesktop()}\n\n \n \n \n \n \n {\" \"}\n \n Profile\n \n\n {\n handleClose();\n }}\n >\n {user.role !== constant.CUSTOMER_VIEWER_NAME ? (\n \n \n User Management\n \n ) : (\n \"\"\n )}\n \n {user.role === constant.SUPER_ADMIN_NAME && (\n {\n handleClose();\n }}\n >\n \n User Activity\n \n )}\n {user.role === constant.CUSTOMER_ADMIN_NAME && (\n {\n handleClose();\n }}\n >\n Settings\n \n )}\n\n {\n handleClose();\n try {\n await dispatch(SignOut());\n } catch (error) {}\n }}\n >\n {\" \"}\n Logout\n \n \n \n );\n};\n\nexport default withRouter(Navbar);\n","export const Styles = (theme) => ({\n appBar: {\n position: \"fixed\",\n top: 0,\n width: \"100%\",\n borderBottom: \"1px solid #E0E0E0\",\n background: \"#fff\",\n zIndex: 1201,\n boxShadow: \"none\",\n display: \"flex\",\n flexDirection: \"row\",\n padding: props => props.xs ? \"8px\" : props.sm ? \"8px 20px\" : \"8px 50px\"\n },\n menu: {\n top: \"100px\",\n },\n root: {\n flexGrow: 1,\n },\n menuButton: {\n marginRight: theme.spacing(2),\n },\n title: {\n height: 45,\n objectFit: \"contain\",\n marginRight: \"auto\",\n width: props => props.xs ? \"90%\" : \"initial\"\n },\n iconButton: {\n display: \"flex\",\n textDecoration: \"none !important\",\n // fontFamily: poppins,\n padding: props => props.md ? \"12px 6px\" : \"12px 16px\",\n margin: \"0 10px\",\n alignItems: \"center\",\n borderRadius: 5,\n fontSize: 15,\n transition: \"0.2s ease\",\n color: \"#323132\",\n height: 45,\n // Hover\n '&:hover': {\n background: \"#fff8de\",\n },\n\n },\n navTextStyle: {\n fontWeight: 600,\n textTransform: \"capitalize\",\n marginLeft: 8,\n fontSize: 15,\n },\n // Navbar Active\n navbarActive: {\n background: \"#fbe281\",\n '&:hover': {\n background: \"#fbe281\",\n },\n },\n icons: {\n background: \"#fff !important\",\n padding: 0,\n justifyContent: \"flex-end\"\n\n }\n});\n","import React from \"react\";\nimport { Footer } from \"../Footer/Footer\";\nimport Navbar from \"../Navbar\";\nconst Layout = ({\n children\n}) => {\n return (\n
\n \n {children}\n
\n
\n );\n};\n\nexport default Layout;\n","export default \"data:image/png;base64,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\"","import adddeSocialMedaiProfileList from \"./Data/AddedSocialMediaProfile\";\nimport interactionsData from \"./Data/interactions\";\nimport axios from \"axios\";\nimport topFollowers from \"./Data/TopFollowersData\";\nimport { toast } from \"react-toastify\";\nimport { Redirect } from \"react-router\";\n\nexport const getAddedProfileList =\n (searchQuery = \"\") =>\n (dispatch, getState) => {\n /* getting added profiles list in database */\n /*api request is to be made */\n /*api call */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n dispatch({\n type: \"GET_ADDED_PROFILE_LIST_START\",\n });\n\n axios\n .get(`social-media/${activeSocialMediaType}/profiles-list`, {\n params: {\n search: searchQuery,\n start_date: startDate,\n end_date: endDate,\n },\n })\n .then((response) => {\n const newdata = response.data.data.map((d) => ({\n ...d,\n relative_fan_change: d.relative_fan_change + `%`,\n }));\n dispatch({\n type: \"GET_ADDED_PROFILE_LIST\",\n payload: newdata,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseErrorWithMessage(error.response.data.message)); \n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\nexport const searchSocialMediaProfiles = (query) => (dispatch, getState) => {\n /* searching profiles list from database */\n /* dispatching for loader state */\n dispatch({\n type: \"SEARCH_SOCIAL_MEDIA_PROFILE_LIST_START\",\n });\n const { activeSocialMediaType } = getState().socialMediaProfileListReducer;\n axios\n .get(`/social-media/${activeSocialMediaType}/search-profiles/${query}`)\n .then((response) => {\n dispatch({\n type: \"SEARCH_SOCIAL_MEDIA_PROFILE_LIST\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseErrorWithMessage(error.response.data.message));\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n};\n\nexport const addProfileList = (profiles) => (dispatch, getState) => {\n /* api call to be requested */\n if (profiles.length !== 0) {\n dispatch({\n type: \"ADD_PROFILE_LIST_TO_COMPARE_START\",\n });\n const { activeSocialMediaType } = getState().socialMediaProfileListReducer;\n axios\n .post(`social-media/${activeSocialMediaType}/profiles/store`, {\n profiles,\n })\n .then((response) => {\n dispatch({\n type: \"ADD_PROFILE_LIST_TO_COMPARE\",\n payload: response.data.data,\n });\n dispatch(getAddedProfileList());\n })\n .then(() => toast.success(\"Profile added successfully\"))\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n }\n\n /* storing the profile to be added \"api call will be requested\" */\n // adddeSocialMedaiProfileList.push(...profilestoBeAdded);\n};\n\nexport const updateProfileColor =\n (profileId, color) => (dispatch, getState) => {\n // update color for earch profile\n console.log(\"color from action\", profileId);\n const { activeSocialMediaType } = getState().socialMediaProfileListReducer;\n const data = {\n color: color,\n };\n /* api calls to be made */\n axios\n .put(\n `social-media/${activeSocialMediaType}/${profileId}/update-profile-color`,\n data\n )\n .then((response) => {\n toast.success(\"Colour updated successfully\");\n })\n .catch((error) => {\n toast.error(\"error occured\");\n });\n };\n\nexport const deleteAddedProfileList = (profilesId) => (dispatch, getState) => {\n /* deleting added profile list */\n /* api call is to be made */\n const { activeSocialMediaType } = getState().socialMediaProfileListReducer;\n /*api call requested */\n axios\n .delete(`/social-media/${activeSocialMediaType}/profiles/delete`, {\n data: {\n profiles: [profilesId],\n },\n })\n .then((response) => {\n toast.success(response.data.message);\n dispatch({\n type: \"DELETING_ADDED_PROFILE_LIST\",\n payload: response.data,\n });\n dispatch(getAddedProfileList());\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n};\n\nexport const searchAddedProfileList = (query) => (dispatch) => {\n /* searching added profile list from db */\n /* api call is to be made */\n const addedProfileList = adddeSocialMedaiProfileList.filter((profileList) => {\n return profileList.profileName.toLowerCase().includes(query.toLowerCase());\n });\n dispatch({\n type: \"SEARCH_ADDED_PROFILES_LIST\",\n payload: addedProfileList,\n });\n};\n\n/* getting social profile basic data start */\nexport const getSocialProfileBasic =\n (singleProfile) => (dispatch, getState) => {\n //loader start\n dispatch({\n type: \"GET_PROFILE_BASIC_LOADER\",\n });\n /* api call to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${singleProfile}/basic`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_BASIC\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n/* getting social profile basic data end */\n\n/* getting social profile likes data start */\nexport const getSocialProfilelikes =\n (singleProfile) => (dispatch, getState) => {\n //loader start\n dispatch({\n type: \"GET_PROFILE_LIKES_LOADER\",\n });\n /* api call to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${singleProfile}/likes`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_LIKES\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n/* getting social profile likes data end */\n\n/* getting social profile likes data start */\nexport const getSocialProfileComments =\n (singleProfile) => (dispatch, getState) => {\n //loader start\n dispatch({\n type: \"GET_PROFILE_COMMENTS_LOADER\",\n });\n /* api call to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${singleProfile}/comments`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_COMMENTS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n/* getting social profile likes data end */\n\n/* getting social profile interaction data start */\nexport const getSocialProfileInteractionAbsoluteGrowth =\n (singleProfile) => (dispatch, getState) => {\n //loader start\n dispatch({\n type: \"GET_PROFILE_ABS_INTERACTION_START\",\n });\n /* api call to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${singleProfile}/interactions-absolute-growth`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_ABS_INTERACTION\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n/* getting social profile interaction data end */\n\n/* getting social profile shares data start */\nexport const getSocialProfileShares =\n (singleProfile) => (dispatch, getState) => {\n //loader start\n dispatch({\n type: \"GET_PROFILE_SHARES_LOADER\",\n });\n /* api call to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${singleProfile}/shares`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_SHARES\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n/* getting social profile shares data end */\n\n/* getting social profile topPost data start */\nexport const getSocialProfileTopPost =\n (singleProfile, pageLimit, currentPage, feedTypes) =>\n (dispatch, getState) => {\n //loader start\n dispatch({\n type: \"GET_PROFILE_TOP_POST_LOADER\",\n });\n /* api call to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${singleProfile}/top-posts`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n page: currentPage,\n page_limit: pageLimit,\n feed_types: feedTypes,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_TOP_POST\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\n//Load more action for top posts\n\n/* getting social profile topPost data start */\nexport const getMoreSocialProfileTopPost =\n (singleProfile, pageLimit, currentPage, feedTypes) =>\n (dispatch, getState) => {\n /* api call to be made */\n console.log(\"more profile top post\")\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${singleProfile}/top-posts`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n page: currentPage,\n page_limit: pageLimit,\n feed_types: feedTypes,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_TOP_POST\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\n/* getting social profile shares data end */\n\n/* getting social profile growth followers data start */\nexport const getSocialProfileGrowthFollowers =\n (singleProfile) => (dispatch, getState) => {\n //loader start\n dispatch({\n type: \"GET_PROFILE_GROWTH_FOLLOWERS_LOADER\",\n });\n /* api call to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${singleProfile}/followers-absolute-growth`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_GROWTH_FOLLOWERS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\n// / setting active social media type start\nexport const setActiveSocialMediaType = (socialMediaType) => (dispatch) => {\n dispatch({\n type: \"SET_ACTIVE_SOCIAL_MEDIA_TYPE\",\n payload: socialMediaType,\n });\n dispatch(resetSelectedProfileForCompare());\n dispatch({\n type: \"RESET_TOP_POST_ID\",\n });\n};\n\n//set custom date range\n\nexport const setCustomDateRangeAction = (dateRange) => (dispatch) => {\n dispatch({\n type: \"SET_CUSTOM_DATE_RANGE\",\n payload: dateRange,\n });\n};\n\n// / setting active socail media type end /\n\n/* getting single profile overview end */\nexport const getSocialProfileFanGrowth =\n (fanGrowthSelectedProfiles, period) => (dispatch, getState) => {\n /* getting added profiles list in database */\n /*api request is to be made */\n\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_FANS_GROWTH_DATA_LOADER\",\n });\n axios\n .get(\n `/social-media/${activeSocialMediaType}/profiles/followers-growth/${period}`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n profiles: typeof fanGrowthSelectedProfiles === 'object' ? fanGrowthSelectedProfiles : [fanGrowthSelectedProfiles],\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_FANS_GROWTH_DATA\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\n// Interactions\nexport const getInteractions =\n (interactionSelectedProfiles, interactionDateFilter, interaction1kPerFans) =>\n (dispatch, getState) => {\n /* getting added profiles list in database */\n /*api request is to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_INTERACTIONS_DATA_LOADER\",\n });\n\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/interactions/${interactionDateFilter}`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n profiles: typeof interactionSelectedProfiles === 'object' ? interactionSelectedProfiles : [interactionSelectedProfiles],\n per_1k_fans: interaction1kPerFans,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_INTERACTIONS_DATA\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\n/* get top follwer */\n\nexport const getPostTypeDistributions =\n (selectProfile, postTypeDateFilter) => (dispatch, getState) => {\n /* getting added profiles list in database */\n /*api request is to be made */\n\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_POSTS_BREAKDOWN_DATA_LOADER\",\n });\n\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/${selectProfile}/posts-type-distributions/${postTypeDateFilter}`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_POST_TYPE_DATA\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\n/* post type distribution for multiple profile selecetion */\nexport const getPostTypeDistributionsMultiple =\n (selectProfile) => (dispatch, getState) => {\n /* getting added profiles list in database */\n /*api request is to be made */\n\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_POSTS_BREAKDOWN_DATA_MULTIPLE_LOADER\",\n });\n\n axios\n .get(\n `social-media/${activeSocialMediaType}/profiles/post-type-distributions`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n profiles: typeof selectProfile === 'object' ? selectProfile : [selectProfile],\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_POST_TYPE_DATA_MULTIPLE\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\nexport const getInteractionDistrbutions =\n (selectProfile) => (dispatch, getState) => {\n /* getting added profiles list in database */\n /*api request is to be made */\n\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_DISTRIBUTIONS_OF_INTERACTIONS\",\n });\n\n axios\n .get(\n `/social-media/${activeSocialMediaType}/profiles/feed-interaction-distributions`,\n {\n params: {\n start_date: startDate,\n end_date: endDate,\n profiles: typeof selectProfile === 'object' ? selectProfile : [selectProfile],\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_INTERACTIONS_DISTRIBUTIONS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\n/*testing for active socail medai type */\n\n/* profiles To compare on selecting checkbox from added social profiles list */\nexport const selectProfilesToComapre = (profiles) => (dispatch) => {\n dispatch({\n type: \"SELECT_PROFILES_TO_COMPARE\",\n payload: profiles,\n });\n};\n\n/* delete profile to compare */\nexport const deleteSelectProfilesToCompare = (profileId) => (dispatch) => {\n dispatch({\n type: \"DELETE_SELECT_PROFILES_TO_COMPARE\",\n payload: profileId,\n });\n};\n\nexport const resetSelectedProfileForCompare = () => {\n return {\n type: \"RESET_PROFILES_TO_COMPARE\",\n };\n};\n\n/* server response errror function */\nconst socialMediaResponseError = () => {\n return {\n type: \"SOCIAL_MEDIA_RES_ERROR\",\n };\n};\nconst socialMediaResponseErrorWithMessage = (payload) => {\n return {\n type: \"SOCIAL_MEDIA_RES_ERROR\",\n payload\n };\n};\n//Content News Feed Actions\n\nexport const getContentNewsFeed =\n (contentQueryParams) => (dispatch, getState) => {\n const searchKeyWords = contentQueryParams.searchData.map(\n (value) => value.label\n );\n //loader start\n dispatch({\n type: \"GET_PROFILE_CONTENT_FEED\",\n });\n /* api call to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n let feedTypesQuery =\n contentQueryParams.postTypes.length === 6 ||\n contentQueryParams.postTypes.length === 3\n ? []\n : contentQueryParams.postTypes.filter((value) => value !== \"All Types\");\n let newFeedTypesQuery = feedTypesQuery;\n if (activeSocialMediaType === \"facebook\") {\n newFeedTypesQuery = feedTypesQuery.map((val) => val.toLowerCase());\n }\n let contentFeedUrl = `social-media/${activeSocialMediaType}/content-news-feeds`;\n let contentFeedUrlParams = {\n profiles: contentQueryParams.selectedProfiles,\n feed_types: newFeedTypesQuery,\n keyword_query: searchKeyWords,\n page: contentQueryParams.currentPage,\n page_limit: contentQueryParams.page_limit ? contentQueryParams.page_limit : \"12\",\n sort_by: contentQueryParams.sortType,\n };\n if (contentQueryParams.selectedProfiles) {\n axios\n .get(contentFeedUrl, {\n params: {\n ...contentFeedUrlParams,\n start_date: startDate,\n end_date: endDate,\n },\n })\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_CONTENT_FEED_SUCCESS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n }\n };\n\nexport const loadMoreContentNewsFeed = (contentQueryParams, pageLimit, page = \"1\",) => (\n dispatch,\n getState\n) => {\n const { activeSocialMediaType, customDateRangeRed } = getState().socialMediaProfileListReducer;\n console.log(\"getting load more component\");\n const searchKeyWords = contentQueryParams.searchData.map((value) => value.label)\n let feedTypesQuery = contentQueryParams.postTypes.length === 6 ? [] : contentQueryParams.postTypes.filter((value) => value !== \"All Types\")\n let newFeedTypesQuery = feedTypesQuery;\n if (activeSocialMediaType === \"facebook\") {\n newFeedTypesQuery = feedTypesQuery.map((val) => val.toLowerCase());\n }\n\n /* api call to be made */\n const { startDate, endDate } = customDateRangeRed ? customDateRangeRed[0] : \"\";\n const { oldContentNewsFeed } = getState().socialMediaProfileListReducer.contentNewsFeed\n //loader start\n // dispatch({\n // type: \"GET_PROFILE_CONTENT_FEED\"\n // })\n axios\n .get(`social-media/${activeSocialMediaType}/content-news-feeds`, {\n params: {\n profiles: contentQueryParams.selectedProfiles,\n feed_types: newFeedTypesQuery,\n keyword_query: searchKeyWords,\n page: page,\n page_limit: pageLimit,\n sort_by: contentQueryParams.sortType,\n start_date: startDate,\n end_date: endDate,\n },\n })\n .then((response) => {\n dispatch({\n type: \"GET_PROFILE_CONTENT_FEED_SUCCESS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n};\n\n//clean content news feed\n\nexport const clearContentNewsFeed = () => (dispatch) => {\n dispatch({\n type: \"CLEAR_PROFILE_CONTENT_FEED\"\n });\n}\n\n//social-listening page actions calls\n\nexport const getSocialListeningtags = (query) => (dispatch, getState) => {\n /*api request is to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_SOCIAL_LISTENING_TAGS_START\",\n });\n\n const searchKeyWords = query.map((value) => value.label);\n\n console.log(\"listeining data from action\", searchKeyWords);\n\n axios\n .get(`/social-media/${activeSocialMediaType}/search-tag`, {\n params: {\n start_date: new Date(startDate).toISOString(),\n end_date: new Date(endDate).toISOString(),\n keyword_query: `${searchKeyWords}`,\n },\n })\n .then((response) => {\n dispatch({\n type: \"GET_SOCIAL_LISTENING_TAGS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n};\n\nexport const getNoOfpeople =\n (sentimentsDateFilter) =>\n (\n //get no of people (social-listening)\n dispatch,\n getState\n ) =>\n new Promise(function (resolve, reject) {\n /*api request is to be made */\n const { activeSocialMediaType, customDateRangeRed, searchQueryData } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n console.log(\"show search query action data\", searchQueryData);\n dispatch({\n type: \"GET_NO_OF_PEOPLE_START\",\n });\n\n axios\n .get(`/social-listening/${activeSocialMediaType}/total-peoples`, {\n params: {\n start_date: new Date(startDate).toISOString(),\n end_date: new Date(endDate).toISOString(),\n keyword_query: `${searchQueryData}`,\n },\n })\n .then((response) => {\n resolve(response);\n\n if (response && response.data && response.data.data && response.data.data.is_downloading) {\n dispatch({\n type: \"SOCIAL_LISTENING_ERROR\"\n });\n } else {\n dispatch({\n type: \"GET_NO_OF_PEOPLE\",\n payload: response.data.data,\n });\n\n dispatch(getNoOfMentions(searchQueryData));\n dispatch(getNoOfSocialInteraction(searchQueryData));\n dispatch(getEmojiChartData(searchQueryData));\n dispatch(getSentimentData(searchQueryData, sentimentsDateFilter));\n dispatch(noOfPeopleEnd());\n }\n\n dispatch({\n type: \"SOCIAL_LISTENING_ERROR_COMPLETE\"\n });\n })\n .catch((error) => {\n reject(error);\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_LISTENING_ERROR\"\n });\n }\n });\n });\n\nexport const getNoOfMentions =\n (query) =>\n (\n //get no of people (social-listening)\n dispatch,\n getState\n ) => {\n /*api request is to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_NO_OF_MENTIONS_START\",\n });\n\n axios\n .get(`/social-listening/${activeSocialMediaType}/total-mentions`, {\n params: {\n start_date: new Date(startDate).toISOString(),\n end_date: new Date(endDate).toISOString(),\n keyword_query: `${query}`,\n },\n })\n .then((response) => {\n dispatch({\n type: \"GET_NO_OF_MENTIONS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\nexport const getNoOfSocialInteraction =\n (query) =>\n (\n //get no of social interaction (social-listening)\n dispatch,\n getState\n ) => {\n /*api request is to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_NO_OF_SOCIAL_INTERACTIONS_START\",\n });\n\n axios\n .get(`/social-listening/${activeSocialMediaType}/social-interaction`, {\n params: {\n start_date: new Date(startDate).toISOString(),\n end_date: new Date(endDate).toISOString(),\n keyword_query: `${query}`,\n },\n })\n .then((response) => {\n dispatch({\n type: \"GET_NO_OF_SOCIAL_INTERACTIONS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\n// export const getNoOfPotentialImpression = (query) => ( //get no of potentail impression (social-listening)\n// dispatch,\n// getState\n// ) => {\n// /*api request is to be made */\n// const { activeSocialMediaType, customDateRangeRed } = getState().socialMediaProfileListReducer;\n// const { startDate, endDate } = customDateRangeRed ? customDateRangeRed[0] : \"\";\n\n// dispatch({\n// type: \"GET_NO_OF_POTENTIAL_IMPRESSION_START\",\n// });\n\n// axios\n// .get(\n// `/social-listening/${activeSocialMediaType}/potential-impression`, {\n// params: {\n// start_date: new Date(startDate).toISOString(),\n// end_date: new Date(endDate).toISOString(),\n// keyword_query: `${query}`\n// }\n// }\n// )\n// .then((response) => {\n// dispatch({\n// type: \"GET_NO_OF_POTENTIAL_IMPRESSION\",\n// payload: response.data.data,\n// });\n// })\n// .catch(error => {\n// if(error.response) {\n// toast.error(error.response.data.message)\n// dispatch(socialMediaResponseError())\n// } else {\n// dispatch({\n// type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n// });\n// }\n// })\n// };\n\nexport const getEmojiChartData =\n (query) =>\n (\n //get emoji chart data (social-listening)\n dispatch,\n getState\n ) => {\n /*api request is to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_EMOJI_CHART_DATA_START\",\n });\n\n axios\n .get(`/social-listening/${activeSocialMediaType}/top-emoji`, {\n params: {\n start_date: new Date(startDate).toISOString(),\n end_date: new Date(endDate).toISOString(),\n keyword_query: `${query}`,\n },\n })\n .then((response) => {\n dispatch({\n type: \"GET_EMOJI_CHART_DATA\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\nexport const getSentimentData =\n (query, dateFilter) =>\n (\n //get sentiment chart data (social-listening)\n dispatch,\n getState\n ) => {\n /*api request is to be made */\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n dispatch({\n type: \"GET_SENTIMENT_TIME_DATA_START\",\n });\n\n axios\n .get(\n `/social-listening/${activeSocialMediaType}/sentiment-in-time/${dateFilter}`,\n {\n params: {\n start_date: new Date(startDate).toISOString(),\n end_date: new Date(endDate).toISOString(),\n keyword_query: `${query}`,\n },\n }\n )\n .then((response) => {\n dispatch({\n type: \"GET_SENTIMENT_TIME_DATA\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n if (error.response) {\n toast.error(error.response.data.message);\n dispatch(socialMediaResponseError());\n } else {\n dispatch({\n type: \"SOCIAL_MEDIA_PROFILES_ERROR\",\n });\n }\n });\n };\n\nexport const resetSocialListeningData = () => (dispatch) => {\n dispatch({\n type: \"RESET_SOCIAL_LISTENING_DATA\",\n });\n};\n\nexport const setSearchQuery = (query) => (dispatch) => {\n dispatch({\n type: \"SET_SEARCH_QUERY\",\n payload: query,\n });\n dispatch({\n type: \"RESET_SOCIAL_LISTENING_DATA\",\n });\n};\nexport const deleteSearchQuery = (query) => (dispatch) => {\n dispatch({\n type: \"DELETE_SEARCH_QUERY\",\n payload: query,\n });\n};\nexport const resetSearchQuery = () => (dispatch) => {\n dispatch({\n type: \"RESET_SEARCH_QUERY\",\n });\n};\nconst noOfPeopleEnd = () => (dispatch) => {\n dispatch({\n type: \"GET_NO_OF_PEOPLE_END\",\n });\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n makeStyles,\n Box,\n Grid,\n FormControl,\n InputLabel,\n Select,\n MenuItem,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport Button from \"@material-ui/core/Button\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { socialMediaType } from \"../../store/actions/SettingActions\";\nimport fbIcon from \"../../assets/images/facebook.png\";\nimport instaIcon from \"../../assets/images/insta-icon.png\";\nimport { setActiveSocialMediaType } from \"../../store/actions/SocialMediaProfileAction\";\nconst useStyles = makeStyles((theme) => ({\n socialBtnContainer: {\n width: \"auto\",\n },\n socialBtnIcon: {\n height: \"25px\",\n },\n fbBtn: {\n background: \"red\",\n },\n dropDowninputLabel: {\n outlined: {\n backgroundColor: \"red\"\n }\n },\n dropDownSelect: {\n \"& .MuiSelect-root\": {\n backgroundColor: \"red\",\n \"&.MuiOutlinedInput-input \": {\n padding: \"7px 20px\",\n width: 30\n }\n }\n }\n}));\n\nconst SocialButton = ({ socialListening }) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const { activeSocialMediaType, addedProfileListLoading } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n // console.log(\"social media type\", activeSocialMediaType);\n const handleClick = (socialMediaType) => {\n if (activeSocialMediaType !== socialMediaType) {\n dispatch(setActiveSocialMediaType(socialMediaType));\n\n }\n };\n\n useEffect(() => {\n if (socialListening && activeSocialMediaType !== \"instagram\") {\n dispatch(setActiveSocialMediaType(\"instagram\"));\n }\n }, [socialListening]);\n\n const handleChange = (e) => {\n if (activeSocialMediaType !== e.target.value) {\n dispatch(setActiveSocialMediaType(e.target.value));\n\n }\n }\n\n //menuProps for select dropdown component\n const 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\n return (\n \n {xs ? (\n
\n \n \n \n \n \"\"\n \n \n \"\"\n \n \n \n
\n ) : (\n <>\n \n handleClick(\"instagram\")}\n name=\"instagram\"\n >\n \"\"\n \n \n \n handleClick(\"facebook\")}\n disabled={addedProfileListLoading || socialListening ? true : false}\n >\n \"\"\n \n \n \n )}\n
\n );\n};\n\nexport default SocialButton;\n","import { Button, withStyles } from \"@material-ui/core\";\nimport React from \"react\";\n\nconst StyledButton = withStyles({\n root: {\n width: props => props.width ? \"100%\" : \"auto\",\n backgroundColor: (props) =>\n props.backgroundColor\n ? \"#fff\"\n : props.defaultBackgroundColor\n ? \"#FBE281\"\n : \"transparent\",\n fontSize: props => props.initialProfileAdd ? 10 : 15,\n color: \"#323132\",\n whiteSpace: \"nowrap\",\n border: (props) =>\n props.defaultBackgroundColor || props.border ? \"1px solid #fff\" : \"1px solid #BDBDBD;\",\n borderRadius: \"4px\",\n padding: \"8px 21px\",\n textTransform: \"capitalize\",\n \"&:hover\": {\n backgroundColor: \"#FBE281\",\n border: \"1px solid #fff\",\n },\n },\n label: {\n color: \"#323132\",\n },\n disabled: {\n opacity: 0.6\n }\n})(Button);\n\nexport const CustomButton = ({\n children,\n onClick,\n startIcon,\n backgroundColor,\n defaultBackgroundColor,\n width,\n initialProfileAdd,\n border,\n disabled,\n style\n}) => {\n return (\n \n {children}\n \n );\n};\n","import React, { useRef } from \"react\";\nimport {\n Button,\n makeStyles,\n ClickAwayListener,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\n\nimport DateRangeIcon from \"@material-ui/icons/DateRange\";\nimport ArrowDropDownIcon from \"@material-ui/icons/ArrowDropDown\";\nimport \"react-dates/initialize\";\nimport \"react-dates/lib/css/_datepicker.css\";\nimport { DateRangePicker } from \"react-date-range\";\nimport \"react-date-range/dist/styles.css\"; // main style file\nimport \"react-date-range/dist/theme/default.css\"; // theme css file\nimport {\n\n subDays,\n endOfWeek,\n startOfWeek,\n startOfMonth,\n endOfMonth,\n addMonths,\n subYears,\n} from \"date-fns\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { setCustomDateRangeAction } from \"../../store/actions/SocialMediaProfileAction\";\nimport { CustomButton } from \"../CustomButton/CustomButton\";\nimport moment from \"moment-timezone\";\n\nconst useStyles = makeStyles((theme) => ({\n formControl: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n background: \"#fff\",\n marginLeft: \"auto\",\n width: 180,\n },\n filterSelect: {\n fontSize: 15,\n paddingLeft: 25,\n background: \"#fff\",\n width: \"100%\",\n },\n dateIcon: {\n position: \"absolute\",\n marginLeft: 7,\n padding: 2,\n zIndex: 5,\n },\n}));\n\nconst TopFilter = (props) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n\n const [customDate, setCustomDate] = React.useState(false);\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const miniXs = useMediaQuery('(max-width:375px)');\n\n let customDateRange = [\n {\n label: \"Today\",\n hasCustomRendering: true,\n range: () => ({\n startDate: new Date(),\n endDate: new Date(),\n ranged: \"Today\",\n }),\n isSelected() {\n return false;\n },\n },\n {\n label: \"Yesterday\",\n hasCustomRendering: true,\n range: () => ({\n startDate: subDays(new Date(), 1),\n endDate: new Date(),\n ranged: \"Yesterday\",\n }),\n isSelected() {\n return false;\n },\n },\n {\n label: \"This week\",\n hasCustomRendering: true,\n range: () => ({\n startDate: startOfWeek(new Date()),\n endDate: endOfWeek(new Date()),\n ranged: \"This week\",\n }),\n isSelected() {\n return false;\n },\n },\n {\n label: \"Last 7 days\",\n hasCustomRendering: true,\n range: () => ({\n startDate: subDays(new Date(), 6),\n endDate: new Date(),\n ranged: \"Last 7 days\",\n }),\n isSelected() {\n return false;\n },\n },\n {\n label: \"This month\",\n hasCustomRendering: true,\n range: () => ({\n startDate: startOfMonth(new Date(), 1),\n endDate: endOfMonth(new Date()),\n ranged: \"This month\",\n }),\n isSelected() {\n return false;\n },\n },\n {\n label: \"Last month\",\n hasCustomRendering: true,\n range: () => ({\n startDate: startOfMonth(addMonths(new Date(), -1)),\n endDate: endOfMonth(addMonths(new Date(), -1)),\n ranged: \"Last month\",\n }),\n isSelected() {\n return false;\n },\n },\n {\n label: \"Last 30 days\",\n hasCustomRendering: true,\n range: () => ({\n startDate: subDays(new Date(), 30),\n endDate: new Date(),\n ranged: \"Last 30 days\",\n }),\n isSelected() {\n return false;\n },\n },\n {\n label: \"Last 1 year\",\n hasCustomRendering: true,\n range: () => ({\n startDate: subYears(new Date(), 1),\n endDate: new Date(),\n ranged: \"Last 1 year\",\n }),\n isSelected() {\n return false;\n },\n },\n ];\n\n const { customDateRangeRed } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n const [stateDate, setStateDate] = React.useState([]);\n const [initialStateDate, setInitialStateDate] = React.useState([]);\n\n const dateRef = useRef(null);\n\n React.useEffect(() => {\n if (customDateRangeRed) {\n setStateDate(customDateRangeRed);\n setInitialStateDate(customDateRangeRed)\n\n }\n }, [customDateRangeRed]);\n\n const customClick = () => {\n setCustomDate(!customDate);\n setStateDate(initialStateDate)\n };\n\n const handleClickAway = () => {\n setCustomDate(false);\n setStateDate(initialStateDate)\n };\n\n const handleDateChange = () => {\n const convertedDate = stateDate.map((sd) => ({\n ...sd,\n startDate: moment(sd.startDate).format(\"YYYY-MM-DD\"),\n endDate: moment(sd.endDate).format(\"YYYY-MM-DD\"),\n }));\n setInitialStateDate(stateDate)\n dispatch(setCustomDateRangeAction(convertedDate));\n setCustomDate(false);\n };\n const renderStaticRange = (range) => {\n return

{range.label}

;\n };\n\n const onChangeDate = (item) => {\n setStateDate([item.selection]);\n };\n // console.log(\"show date func\", moment(stateDate[0].startDate).format('YYYY-MM-DD'));\n const formatDate = (date) => moment(date).format(\"YYYY-MM-DD\");\n const dateFunc = () => {\n if (stateDate && stateDate.length !== 0) {\n if (\n (formatDate(stateDate[0].startDate) ===\n formatDate(stateDate[0].endDate)) &&\n formatDate(stateDate[0].endDate) === formatDate(moment())\n ) {\n return \"Today\";\n } else if (\n formatDate(stateDate[0].startDate) ===\n formatDate(moment().subtract(1, \"day\")) &&\n formatDate(stateDate[0].endDate) === formatDate(moment())\n ) {\n return \"Yesterday\"\n } else if (\n formatDate(stateDate[0].startDate) ===\n formatDate(moment().startOf(\"week\")) &&\n formatDate(stateDate[0].endDate) === formatDate(moment().endOf(\"week\"))\n ) {\n return \"This Week\"\n } else if (\n formatDate(stateDate[0].startDate) ===\n formatDate(moment().subtract(6, \"day\")) &&\n formatDate(stateDate[0].endDate) === formatDate(moment())\n ) {\n return \"Last 7 days\"\n } else if (\n formatDate(stateDate[0].startDate) ===\n formatDate(moment().startOf(\"month\")) &&\n formatDate(stateDate[0].endDate) === formatDate(moment().endOf(\"month\"))\n ) {\n return \"This month\"\n } else if (\n formatDate(stateDate[0].startDate) ===\n formatDate(moment().subtract(1, \"month\").startOf(\"month\")) &&\n formatDate(stateDate[0].endDate) === formatDate(moment().subtract(1, \"month\").endOf(\"month\"))\n ) {\n return \"Last month\"\n } else if (\n formatDate(stateDate[0].startDate) ===\n formatDate(moment().subtract(30, \"day\")) &&\n formatDate(stateDate[0].endDate) === formatDate(moment())\n ) {\n return \"Last 30 days\"\n } else if (\n formatDate(stateDate[0].startDate) ===\n formatDate(moment().subtract(365, \"day\")) &&\n formatDate(stateDate[0].endDate) === formatDate(moment())\n ) {\n return \"Last 1 year\"\n } else {\n return \"Custom\";\n }\n }\n };\n\n console.log()\n\n return (\n \n
\n }\n endIcon={}\n onClick={() => customClick()}\n title=\"button\"\n >\n {dateFunc()}\n \n
\n {customDate && (\n onChangeDate(item)}\n showSelectionPreview={true}\n moveRangeOnFirstSelection={false}\n months={2}\n ranges={stateDate.map((sd) => ({\n ...sd,\n startDate: new Date(sd.startDate),\n endDate: new Date(sd.endDate),\n }))}\n direction={xs ? \"vertical\" : \"horizontal\"}\n retainEndDateOnFirstSelection={true}\n inputRanges={[]}\n renderStaticRangeLabel={(definedRange) =>\n renderStaticRange(definedRange)\n }\n showPreview={false}\n rangeColors={[\"#FFF8DE\"]}\n color={\"#323132\"}\n staticRanges={customDateRange}\n />\n )}\n {customDate && (\n \n \n Apply\n \n
\n )}\n
\n \n \n );\n};\n\nexport default TopFilter;\n","import React, { useEffect } from \"react\";\nimport {\n makeStyles,\n Box,\n Typography,\n useTheme,\n useMediaQuery,\n Switch,\n Grid,\n withStyles,\n FormControl,\n InputLabel,\n Avatar,\n MenuItem,\n Select,\n Checkbox,\n} from \"@material-ui/core\";\nimport { Bar, Chart } from \"react-chartjs-2\";\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport { useSelector } from 'react-redux'\nimport { formatImage } from \"../../Functions\";\nimport { CustomButton } from '../../Components/CustomButton/CustomButton';\n\nconst useStyles = makeStyles((test) => ({\n unselected: {\n backgroundColor: \"transparent !important\",\n borderColor: \"transparent !important\",\n transition: \"0.3s ease\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n },\n },\n\n profileImgBtn: {\n width: 28,\n height: 28,\n objectFit: \"cover\",\n borderRadius: \"50%\",\n marginRight: 8,\n },\n\n graphTitleSection: {\n justifyContent: \"space-between\",\n alignItems: \"flex-end\",\n },\n\n graphTitle: {\n fontSize: 24,\n letterSpacing: 0,\n fontWeight: 600,\n },\n\n graphSection: {\n background: \"#fff\",\n padding: \"35px 15px 10px 20px\",\n border: \"1px solid #bdbdbd\",\n borderRadius: \"5px\",\n },\n\n dateFilterBtnGroup: {\n height: 34,\n background: \"#fff\",\n border: \"1px solid #E0E0E0\",\n },\n dateFilterBtn: {\n padding: props => props.xs ? \"7px 10px\" : \"7px 20px\",\n fontSize: 13,\n fontWeight: \"bold\",\n border: \"none\",\n textTransform: \"Capitalize\",\n },\n selectedDateFiterBtnGroup: {\n color: \"#323132\",\n backgroundColor: \"#fbe281\",\n },\n}));\n\n//styled component\n\nconst StyledSwitch = withStyles({\n thumb: {\n backgroundColor: \"#FBE281\",\n },\n // colorSecondary: {\n // backgroundColor: \"#FBE281\"\n // }\n // checked: {\n // backgroundColor: \"#FBE281\"\n // }\n colorSecondary: {\n \"&checked\": {\n \"&track\": {\n backgroundColor: \"#FBE281\",\n },\n },\n },\n})(Switch);\n\nconst StyledSelect = withStyles({\n root: {\n padding: 8,\n border: \"1px solid #BDBDBD\",\n },\n\n})(Select);\n\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n})(MenuItem);\n\nconst StyledInputLabel = withStyles({\n outlined: {\n transform: \"translate(10px, 12px) scale(0.8) !important\",\n },\n focused: {\n color: \"#757575 !important\",\n opacity: \"1 !important\",\n },\n})(InputLabel);\n\nconst BarChart = ({\n chartTitle,\n adddeSocialMedaiProfile,\n graphTitle,\n chartData,\n getSelectedProfile,\n switchShow,\n showPeriod,\n height,\n showLabel,\n chartId,\n noDecimalPoint\n}) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const matches = useMediaQuery('(max-width:420px)');\n const [addProfiles, setAddProfiles] = React.useState(\n adddeSocialMedaiProfile.length === 0 ? [] : [adddeSocialMedaiProfile[0].id]\n );\n const [selectProfiles, setSelectProfiles] = React.useState(\n adddeSocialMedaiProfile.length === 0 ? [] : [adddeSocialMedaiProfile[0].id]\n );\n const [dateFilter, setDateFilter] = React.useState(\"day\");\n const [color, setColor] = React.useState(\"default\");\n const [mobileView, setMobileView] = React.useState(false);\n const [kPerFans, setKPerFnas] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const [checkedValue, setCheckedValue] = React.useState([]);\n\n const {\n activeSocialMediaType,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n const {\n user\n } = useSelector((state) => state.auth)\n\n let subdomain = user.CustomerSubdomain.subdomain\n\n useEffect(() => {\n const setResponsiveness = () => {\n return window.innerWidth < 1024\n ? setMobileView((prevState) => ({ ...prevState, mobileView: true }))\n : setMobileView((prevState) => ({ ...prevState, mobileView: false }));\n };\n\n setResponsiveness();\n\n window.addEventListener(\"resize\", () => setResponsiveness());\n }, []);\n\n Chart.Tooltip.positioners.custom = function (elements, position) {\n if (!elements.length) {\n return false;\n }\n var offset = 0;\n let heightOffset = 0;\n //adjust the offset left or right depending on the event position\n if (elements[0]._chart.width / 2 > position.x) {\n offset = 20;\n }\n if (elements[0]._chart.height / 2 < position.y) {\n heightOffset = -70;\n } else {\n heightOffset = 70;\n }\n // if(elements[0]._chart.width / 2 > position.y) {\n // heightOffset = 70\n // }\n return {\n x: position.x + offset,\n y: position.y + heightOffset,\n };\n };\n\n const chart = React.createRef();\n\n Chart.pluginService.register({\n afterDraw: function (chart, easing) {\n if (chart.tooltip._active && chart.tooltip._active.length) {\n const activePoint = chart.controller.tooltip._active[0];\n const ctx = chart.ctx;\n const x = activePoint.tooltipPosition().x;\n const topY = chart.scales[\"y-axis-0\"]\n ? chart.scales[\"y-axis-0\"].top\n : \"\";\n const bottomY = chart.scales[\"y-axis-0\"]\n ? chart.scales[\"y-axis-0\"].bottom\n : \"\";\n\n ctx.save();\n ctx.beginPath();\n ctx.moveTo(x, topY);\n ctx.lineTo(x, bottomY);\n ctx.lineWidth = activePoint._view.width;\n ctx.strokeStyle = \"#ddd9d9\";\n ctx.globalAlpha = 0.9;\n ctx.globalCompositeOperation = \"destination-over\";\n ctx.stroke();\n ctx.restore();\n }\n },\n });\n\n // Chart JS Options\n var chartOptions = {\n responsive: true,\n maintainAspectRatio: true,\n // Default legend display false\n legend: {\n display: false,\n },\n scales: {\n xAxes: [\n {\n gridLines: {\n display: false,\n drawBorder: true,\n color: \"rgb(153, 21, 21)\",\n offsetGridLines: true,\n },\n ticks: {\n fontColor: \"#323132\",\n fontSize: 14,\n fontStyle: 600,\n fontFamily: \"'Poppins', sans-serif\"\n },\n },\n ],\n yAxes: [\n {\n gridLines: {\n drawBorder: false,\n },\n ticks: {\n fontColor: \"#757575\",\n fontSize: 12,\n fontFamily: \"'Poppins', sans-serif\",\n precision: noDecimalPoint ? 0 : 1\n },\n },\n ],\n },\n // Graph Title\n title: {\n display: true,\n text: graphTitle,\n position: \"left\",\n },\n hover: {\n mode: \"y\",\n intersect: false,\n label: false,\n },\n tooltips: {\n // Disable the on-canvas tooltip\n mode: \"x\",\n displayColors: true,\n intersect: false,\n enabled: true,\n padding: 20,\n titleFontSize: 18,\n titleSpacing: 10,\n bodyFontSize: 18,\n xPadding: 18,\n yPadding: 18,\n yAlign: \"center\",\n caretSize: 12,\n position: \"custom\",\n titleMarginBottom: 18,\n callbacks: {\n title: function (tooltipItem) {\n if (tooltipItem) {\n const dataPointsIndex = tooltipItem.map((data) => {\n return `${data.index}`;\n });\n const dateRange = chartData.timeline\n ? chartData.timeline.filter(\n (date, index) => index == dataPointsIndex\n )\n : [];\n if (dateRange && dateRange.length !== 0) {\n if (dateFilter === \"day\") {\n return `${dateRange\n ? new Date(dateRange[0].start).toDateString().split(\" \")[1]\n : \"\"\n } ${dateRange\n ? new Date(dateRange[0].start).toDateString().split(\" \")[2]\n : \"\"\n } `;\n } else {\n return `From : ${dateRange\n ? new Date(dateRange[0].start).toDateString().split(\" \")[1]\n : \"\"\n } ${dateRange\n ? new Date(dateRange[0].start).toDateString().split(\" \")[2]\n : \"\"\n } To: ${dateRange\n ? new Date(dateRange[0].end).toDateString().split(\" \")[1]\n : \"\"\n } ${dateRange\n ? new Date(dateRange[0].end).toDateString().split(\" \")[2]\n : \"\"\n }`;\n }\n } else {\n return tooltipItem.map((item) => item.label.toUpperCase());\n }\n }\n },\n },\n },\n };\n /* fires on selecting profiles */\n useEffect(() => {\n if (selectProfiles && selectProfiles.length !== 0) {\n getSelectedProfile(selectProfiles, dateFilter, kPerFans);\n // Updating Chart\n chart.current.chartInstance.update();\n }\n }, [dateFilter, kPerFans, selectProfiles]);\n\n const updateAddedProfiles = (id) => {\n setOpen(true);\n if (addProfiles.includes(id)) {\n const removeProfile = addProfiles.filter(\n (a) => a !== id\n );\n setAddProfiles(removeProfile);\n }\n // if profile is not selected add to state\n else {\n setAddProfiles((prevState) => [...prevState, id]);\n }\n };\n\n const updateSelectedProfiles = (id) => {\n /* data fetched through api call*/\n // if profile is selected, Unselect it and update state\n setOpen(true);\n if (selectProfiles.includes(id)) {\n const unselectProfile = selectProfiles.filter(\n (selectProfiles) => selectProfiles !== id\n );\n setSelectProfiles(unselectProfile);\n }\n // if profile is not selected add to state\n else {\n setSelectProfiles((prevState) => [...prevState, id]);\n }\n };\n\n // useEffect(() => {\n // // setSelectProfiles(\n // // adddeSocialMedaiProfile.length === 0\n // // ? []\n // // : [adddeSocialMedaiProfile[0].id]\n // // );\n // // setSelectProfiles((prevState) => [...prevState, adddeSocialMedaiProfile[0].id])\n // // setAddProfiles(\n // // adddeSocialMedaiProfile.length === 0\n // // ? []\n // // : [adddeSocialMedaiProfile[0].id]\n // // );\n // }, [adddeSocialMedaiProfile]);\n\n // Date Filter onchange validations and functions\n const handleAlignment = (event, newAlignment) => {\n setColor(event.target.checked ? \"blue\" : \"default\");\n if (newAlignment !== null) {\n setDateFilter(newAlignment);\n }\n };\n\n // handle function to fetch data per 1000 fans\n\n\n const handle1KperFans = () => {\n setKPerFnas(!kPerFans);\n };\n\n useEffect(() => {\n if (adddeSocialMedaiProfile && adddeSocialMedaiProfile.length !== 0) {\n setCheckedValue((prevState) => [\n ...prevState,\n adddeSocialMedaiProfile[0],\n ]);\n }\n }, [adddeSocialMedaiProfile]);\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const menuProps = {\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"right\",\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"right\",\n },\n getContentAnchorEl: null,\n };\n\n const classes = useStyles({ xs });\n return (\n \n
\n \n {switchShow ? (\n <>\n \n {\" \"}\n \n Interaction per fans\n {\" \"}\n \n \n \n \n \n \n Interaction per 1k fans\n \n \n \n ) : (\n \"\"\n )}\n \n
\n
\n
\n \n {chartTitle}\n \n
\n
\n {showPeriod === true ? (\n \n \n {mobileView.mobileView ? \"D\" : \"Day\"}\n \n \n {mobileView.mobileView ? \"W\" : \"Week\"}\n \n \n {mobileView.mobileView ? \"M\" : \"Month\"}\n \n \n ) : (\n \"\"\n )}\n
\n
\n
\n \n \n \n
\n \n \n {showLabel !== \"false\" && !xs ? (\n \n \n {\" \"}\n Selected profiles:{\" \"}\n \n \n {selectProfiles.map((data, profileIndex) => {\n const profileList = adddeSocialMedaiProfile.filter(\n (profile) => profile.id === data\n );\n const string = profileList.map((data, index) => );\n\n return string;\n })}\n \n \n ) : (\n \"\"\n )}\n
\n {showLabel !== \"false\" ? (\n \n \n \n {\" \"}\n Select profiles\n \n \n {adddeSocialMedaiProfile.length > 0 ?\n
\n {adddeSocialMedaiProfile.map((addedProfileList) => (\n -1\n ? \"#FFF8DE\"\n : \"transparent\",\n borderBottom: \"1px solid #e0e0e0\",\n }}\n >\n \n \n updateAddedProfiles(addedProfileList.id)\n }\n checked={\n addProfiles.indexOf(addedProfileList.id) > -1\n }\n />\n {\" \"}\n \n {\" \"}\n {addedProfileList.name}{\" \"}\n {\" \"}\n
\n \n ))}\n
\n setSelectProfiles(addProfiles)}\n defaultBackgroundColor\n width={'10px'}\n >\n Go\n \n
\n
\n : (\n \n \n No Data Avialable\n {\" \"}\n \n )}\n \n \n \n ) : (\n \"\"\n )}\n \n \n \n
\n );\n};\n\nexport default BarChart;","import React from \"react\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport {makeStyles} from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n loader: {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n position: \"absolute\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 999,\n },\n\n}));\n\nconst Index = (props) => {\n const classes = useStyles();\n\n return (\n \n
\n \n
\n\n \n );\n};\n\nexport default Index;\n","export default __webpack_public_path__ + \"static/media/post-img.67d01cc1.jpeg\";","import React from \"react\";\nimport {\n makeStyles,\n Box,\n Typography,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport { Doughnut, Chart } from \"react-chartjs-2\";\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport { blue } from \"@material-ui/core/colors\";\nimport { numbersFormat } from \"../../Functions\";\n\nconst useStyles = makeStyles((test) => ({\n unselected: {\n backgroundColor: \"transparent !important\",\n borderColor: \"transparent !important\",\n transition: \"0.3s ease\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n },\n },\n\n profileImgBtn: {\n width: 28,\n height: 28,\n objectFit: \"cover\",\n borderRadius: \"50%\",\n marginRight: 8,\n },\n\n graphTitleSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 15,\n alignItems: \"flex-end\",\n },\n\n graphSection: {\n position: \"relative\",\n },\n\n graphTitle: {\n fontSize: 24,\n letterSpacing: 0,\n fontWeight: 600,\n },\n\n dateFilterBtnGroup: {\n height: 34,\n background: \"#fff\",\n border: \"1px solid #E0E0E0\",\n },\n dateFilterBtn: {\n padding: \"7px 20px\",\n fontSize: 13,\n fontWeight: \"bold\",\n border: \"none\",\n textTransform: \"Capitalize\",\n },\n selectedDateFiterBtnGroup: {\n color: \"#323132\",\n backgroundColor: \"#fbe281\",\n },\n pieChartDistributionChart: {\n position: \"relative\",\n },\n\n pieTotal: {\n position: \"absolute\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n top: \"50%\",\n marginTop: \"-28px\",\n left: 0,\n right: 0,\n textAlign: \"center\",\n fontSize: 42,\n fontWeight: \"bold\",\n color: \"#323132\",\n },\n\n zeroData: {\n width: \"13vw\",\n height: \"13vw\",\n margin: \"auto\",\n borderRadius: \"50%\",\n border: \"35px solid rgba(224, 224, 224, 1)\",\n },\n}));\n// Chart.plugins.register({\n// afterDraw: function(chart) {\n// console.log(\"pie index chart\", chart);\n// if (chart && chart.data.datasets[0].data.every(item => item === 0)) {\n// let ctx = chart.chart.ctx;\n// let width = chart.chart.width;\n// let height = chart.chart.height;\n\n// chart.clear();\n// ctx.save();\n// ctx.textAlign = 'center';\n// ctx.textBaseline = 'middle';\n// ctx.fillText('No data to display', width / 2, height / 2);\n// ctx.fillStyle = \"#FF0000\";\n// ctx.fillRect(20, 20, 150, 100);\n// ctx.restore();\n// }\n// }\n// })\n\nconst PieChart = (props) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n\n\n const chart = React.createRef();\n // Chart JS Options\n var chartOptions = {\n // Default legend display false\n legend: {\n display: false,\n },\n aspectRatio: 1,\n cutoutPercentage: 65,\n };\n\n const data = {\n datasets: [\n {\n data: [\n props.chartData.total_reactions,\n props.chartData.total_comments ? props.chartData.total_comments : props.chartData.feed_comment_count,\n props.chartData.total_shares ? props.chartData.total_shares : props.chartData.feed_share_count,\n ],\n backgroundColor: [\"#FF3434\", \"#0B6670\", \"#F8C144\"],\n },\n ],\n\n // These labels appear in the legend and in the tooltips when hovering different arcs\n labels: props.activeSocialMediaType == \"instagram\" ? [\"Like\", \"Comments\"] : [\"Reactions\", \"Comments\", \"Share\"],\n };\n\n const total =\n Math.abs(props.total) > 999\n ? Math.sign(props.total) * (Math.abs(props.total) / 1000).toFixed(1) + \"k\"\n : Math.sign(props.total) * Math.abs(props.total);\n\n /* fires on selecting profiles */\n React.useEffect(() => {\n if (props.getTotal) {\n props.getTotal(total);\n // Updating Chart\n {\n total != 0\n ? chart.current.chartInstance.update()\n : console.log(\"Pie Chart Data Empty\",);\n }\n }\n }, [props.getTotal]);\n\n console.log(\"show pie data reaction\", props.chartData);\n\n const classes = useStyles();\n return (\n \n
\n \n {numbersFormat(props.total)}\n \n {total != 0 ? (\n \n ) : (\n <>\n
\n \n \n )}\n {/* */}\n
\n
\n );\n};\n\nexport default PieChart;\n","import React from \"react\";\nimport {\n Avatar,\n Typography,\n Slide,\n Modal,\n Container,\n Grid,\n makeStyles,\n TableContainer,\n Paper,\n Table,\n TableHead,\n TableRow,\n TableCell,\n TableBody,\n Card,\n CardActionArea,\n CardMedia,\n CardContent,\n withStyles,\n Tooltip,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport PieChart from \"../PieChart\";\nimport {\n formatImage,\n formatNumber,\n numbersFormat,\n totalEngagementPerKFans,\n} from \"../../Functions\";\nimport FavoriteIcon from \"@material-ui/icons/Favorite\";\nimport MessageIcon from \"@material-ui/icons/Message\";\nimport ReplySharpIcon from \"@material-ui/icons/ReplySharp\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { useSelector } from \"react-redux\";\nimport ReactPlayer from \"react-player\";\nimport { Haha, Like, Love, Wow, Care, Angry } from \"../logosandicons\";\nimport LazyLoad from \"react-lazyload\";\nimport \"./SocialMediaPostsCard.css\";\nimport instaIcon from \"../../assets/images/insta-icon.png\";\nimport fbIcon from \"../../assets/images/facebook.png\";\n\nconst HtmlTooltip = withStyles((theme) => ({\n tooltip: {\n backgroundColor: \"#f5f5f9\",\n color: \"rgba(0, 0, 0, 0.87)\",\n maxWidth: 220,\n fontSize: theme.typography.pxToRem(12),\n border: \"1px solid #dadde9\",\n },\n}))(Tooltip);\n\nconst useStyles = makeStyles((theme) => ({\n modal: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n paper: {\n width: (props) => props.xs ? \"100vw\" : \"55vw\",\n backgroundColor: \"#FAFAFA\",\n boxShadow: theme.shadows[5],\n paddingBottom: 30,\n position: \"relative\",\n overflow: \"auto\",\n },\n postsDate: {\n display: props => props.xs ? \"block\" : \"flex\",\n flexDirection: \"row\",\n marginLeft: 20,\n },\n postDetailsheader: {\n padding: \"10px 20px\",\n backgroundColor: \"#fff\",\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n pageTitle: {\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1,\n marginLeft: 10,\n },\n postDetailContent: {\n backgroundColor: \"#fff\",\n borderRadius: 10,\n boxShadow:\n \"0px 3px 5px -1px rgb(0 0 0 / 20%), 0px 5px 8px 0px rgb(0 0 0 / 14%), 0px 1px 14px 0px rgb(0 0 0 / 12%)\",\n padding: props => props.xs ? 10 : 24,\n marginTop: 20,\n height: \"90%\",\n },\n postsMedia: {\n boxShadow: \"none\",\n \"& .MuiCardContent-root\": {\n padding: 0,\n },\n \"& .MuiCardMedia-root\": {\n borderRadius: 10,\n minHeight: 360,\n maxHeight: 360,\n \"&.no-attachment\": {\n background: \"#000\",\n backgroundImage: \"none !important\",\n },\n },\n \"& .MuiButtonBase-root\": {\n cursor: \"auto\",\n },\n \"& .MuiCardActionArea-root\": {\n \"&:hover\": {\n backgroundColor: \"#fff\",\n \"& .MuiCardActionArea-focusHighlight\": {\n opacity: 0.0,\n },\n },\n\n // \"&:hover\": {\n // backgroundColor: \"#ffff\",\n // \"& .MuiCardActionArea-root\": {\n // opacity: 1\n // }\n // }\n },\n },\n postsInteraction: {\n borderLeft: \"1px solid #bdbdbd\",\n height: \"100%\",\n width: \"100%\",\n flexBasis: \"45%\",\n paddingLeft: 24,\n },\n interactionTitle: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 45,\n \"& div\": {\n \"& p\": {\n fontWeight: 600,\n fontSize: 15,\n marginBottom: 10,\n \"&:last-child\": {\n fontWeight: 400,\n },\n },\n },\n },\n pieDistributionIcon: {\n width: 38,\n height: 38,\n padding: 7,\n borderRadius: \"50%\",\n marginRight: 20,\n },\n pieChartDetailHeader: {\n display: \"flex\",\n alignItems: \"center\",\n \"& p\": {\n fontWeight: 600,\n },\n },\n detailPieChart: {\n \"& p\": {\n fontSize: \"30px !important\",\n },\n },\n closeIcon: {\n backgroundColor: \"#fff\",\n zIndex: 999999,\n cursor: \"pointer\",\n },\n}));\n\nexport const PostDetailsModal = ({\n modalOpen,\n handleClose,\n profile_info,\n profileImage,\n pageName,\n createdDate,\n caption,\n total_engagement,\n totalPageLikes,\n postImage,\n chartData,\n feed_link,\n feed_type,\n feedTypeIcon,\n subdomain\n}) => {\n const { activeSocialMediaType } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n const theme = useTheme();\n\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const classes = useStyles({xs});\n\n return (\n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n \n {pageName}\n \n
\n
\n
\n {feedTypeIcon(feed_type)}\n
\n \n {\" \"}\n Date:\n \n \n {\" \"}\n {createdDate}\n \n
\n
\n\n \n \n \n \n \n \n \n {\" \"}\n {caption}\n \n
\n \n \n \n
\n
\n {feed_type.toLowerCase() === \"video\" &&\n postImage !== \"/static/media/post-img.67d01cc1.jpeg\" ? (\n
\n \n {/* {activeSocialMediaType !== \"facebook\" ? (\n \n \n ) : (\n \n )} */}\n
\n ) : (\n \n )}\n
\n
\n
\n \n
\n
\n
\n Total engagements\n \n {\" \"}\n {numbersFormat(total_engagement)}{\" \"}\n \n
\n
\n Engagements per 1k fans\n \n {numbersFormat(chartData.avg_interaction_per_1k_fans)}\n \n
\n
\n
\n \n
\n \n \n \n \n {activeSocialMediaType === \"facebook\" ? (\n \n
    \n
  • \n {\" \"}\n \n \n Like\n {\" \"}\n \n {\" \"}\n {formatNumber(\n chartData.feed_like_count\n )}\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Love\n {\" \"}\n \n {\" \"}\n {formatNumber(\n chartData.feed_love_count\n )}\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Wow\n {\" \"}\n \n {\" \"}\n {formatNumber(chartData.feed_wow_count)}\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Haha\n {\" \"}\n \n {\" \"}\n {chartData.feed_haha_count}\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Care\n {\" \"}\n \n {\" \"}\n 0\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Angry\n {\" \"}\n \n {\" \"}\n 0\n {\" \"}\n
  • \n
\n
\n
\n \n Reactions\n {\" \"}\n \n {\" \"}\n {numbersFormat(chartData.total_reactions)}\n \n
\n \n }\n placement=\"top\"\n >\n \n \n \n \n Reactions\n \n \n \n {formatNumber(chartData.total_reactions) || 0}\n \n \n {chartData.total_reactions || 0\n ? Math.round(\n (parseInt(chartData.total_reactions) /\n (parseInt(chartData.total_reactions) +\n parseInt(\n chartData.feed_comment_count\n ) +\n parseInt(\n chartData.feed_share_count\n ? chartData.feed_share_count\n : 0\n ))) *\n 100\n ) + \"%\"\n : \"0%\"}\n \n \n \n ) : (\n \n \n \n \n Like\n \n \n \n {formatNumber(chartData.total_reactions) || 0}\n \n \n {chartData.total_reactions || 0\n ? Math.round(\n (parseInt(chartData.total_reactions) /\n (parseInt(chartData.total_reactions) +\n parseInt(\n chartData.feed_comment_count\n ) +\n parseInt(\n chartData.feed_share_count\n ? chartData.feed_share_count\n : 0\n ))) *\n 100\n ) + \"%\"\n : \"0%\"}\n \n \n )}\n \n \n \n \n Comments\n \n \n \n {formatNumber(chartData.feed_comment_count) || 0}\n \n \n {chartData.feed_comment_count || 0\n ? Math.round(\n (parseInt(chartData.feed_comment_count) /\n (parseInt(chartData.total_reactions) +\n parseInt(chartData.feed_comment_count) +\n parseInt(\n chartData.feed_share_count\n ? chartData.feed_share_count\n : 0\n ))) *\n 100\n ) + \"%\"\n : \"0%\"}\n \n \n\n {activeSocialMediaType !== \"instagram\" ? (\n \n \n \n \n Share\n \n \n \n {formatNumber(chartData.feed_share_count) || 0}\n \n \n {chartData.feed_share_count || 0\n ? Math.round(\n (parseInt(chartData.feed_share_count) /\n (parseInt(chartData.total_reactions) +\n parseInt(\n chartData.feed_comment_count\n ) +\n parseInt(\n chartData.feed_share_count\n ))) *\n 100\n ) + \"%\"\n : \"0%\"}\n \n \n ) : (\n \"\"\n )}\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n );\n};\n","import {\n Avatar,\n Card,\n CardContent,\n CardMedia,\n Typography,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport { withStyles, makeStyles } from \"@material-ui/core/styles\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport \"./SocialMediaPostsCard.css\";\nimport React, { useState } from \"react\";\nimport instaIcon from \"../../assets/images/insta-icon.png\";\nimport fbIcon from \"../../assets/images/facebook.png\";\nimport { useSelector } from \"react-redux\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport postImg from \"../../assets/images/post-img.jpeg\";\nimport ReactPlayer from \"react-player\";\nimport {\n numbersFormat,\n totalEngagementPerKFans,\n formatImage,\n formatVideo,\n formatNumber,\n} from \"../../Functions\";\nimport { Haha, Like, Love, Wow, Care, Angry } from \"../logosandicons\";\nimport { PostDetailsModal } from \"./PostDetailsModal\";\nimport CameraAltIcon from \"@material-ui/icons/CameraAlt\";\nimport VideocamIcon from \"@material-ui/icons/Videocam\";\nimport LinkIcon from \"@material-ui/icons/Link\";\nimport PhotoAlbumIcon from \"@material-ui/icons/PhotoAlbum\";\nimport CommentIcon from \"@material-ui/icons/Comment\";\nimport PhotoLibraryIcon from \"@material-ui/icons/PhotoLibrary\";\nimport { DateTime } from \"luxon\";\nimport * as moment from \"moment-timezone\";\nimport { Styles } from \"./Styles\";\nimport LazyLoad from \"react-lazyload\";\n\nimport Spinner from \"../../Components/Spinner\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst SocialMediaPostsCard = ({\n topPostData,\n pageId,\n pageName,\n pagePicture,\n totalPageLikes,\n history\n}) => {\n const {\n attachment,\n feed_comment_count,\n feed_like_count,\n caption,\n feed_created_date,\n feed_created_date_utc,\n feed_share_count,\n feed_love_count,\n feed_haha_count,\n feed_wow_count,\n feed_care_count,\n feed_angry_count,\n feed_link,\n feed_type,\n total_engagement,\n other_engagement,\n profile_info,\n avg_interaction_per_1k_fans,\n } = topPostData;\n\n const { activeSocialMediaType } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n const { user } = useSelector((state) => state.auth);\n\n let subdomain = user.CustomerSubdomain.subdomain;\n\n const [openModal, setOpenModal] = useState(false);\n\n // const createdDate = new Date(feed_created_date)\n // .toLocaleString()\n // .split(\" \")[0]\n // .replace(/,/g, \" \");\n\n let createdDate =\n user && feed_created_date_utc\n ? `${moment(feed_created_date_utc)\n .tz(user.timezone)\n .format(\"DD/MM/YYYY HH:mm\")} ${user.timezone}`\n : moment(feed_created_date).format(\"DD/MM/YYYY\");\n\n const HtmlTooltip = withStyles((theme) => ({\n tooltip: {\n backgroundColor: \"#f5f5f9\",\n color: \"rgba(0, 0, 0, 0.87)\",\n maxWidth: 220,\n fontSize: theme.typography.pxToRem(12),\n border: \"1px solid #dadde9\",\n },\n }))(Tooltip);\n\n let total_reactions =\n (feed_like_count ? feed_like_count : 0) +\n (feed_haha_count ? feed_haha_count : 0) +\n (feed_love_count ? feed_love_count : 0) +\n (feed_wow_count ? feed_wow_count : 0);\n\n const handleClose = () => {\n setOpenModal(false);\n };\n const handleOpenModal = () => {\n setOpenModal(true);\n };\n\n console.log(\"total reaction\", total_reactions);\n\n const feedTypeIcon = (type) => {\n if (type.toLowerCase() === \"image\" || type.toLowerCase() === \"photo\") {\n return ;\n }\n if (type.toLowerCase() === \"video\") {\n return ;\n }\n if (type.toLowerCase() === \"link\") {\n return ;\n }\n if (type.toLowerCase() === \"album\") {\n return ;\n }\n if (type.toLowerCase() === \"sidecar\") {\n return ;\n }\n return ;\n };\n\n const classes = useStyles();\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n const lg = useMediaQuery(theme.breakpoints.down(\"lg\"));\n const xl = useMediaQuery(theme.breakpoints.down(\"xl\"));\n const matches = useMediaQuery(\"(min-width:1440px) and (max-width:1919px)\");\n const matches_lg = useMediaQuery(\"(min-width:1280px) and (max-width:1439px)\");\n const matches_xl = useMediaQuery(\"(min-width:1280px) and (max-width:1439px)\");\n\n let iframeConfig = {\n urlHeight: \"360px\",\n urlWidth: \"360px\",\n height: \"360px\",\n width: \"100%\",\n };\n\n if (matches) {\n iframeConfig = {\n urlHeight: \"560px\",\n urlWidth: \"460px\",\n height: \"360px\",\n width: \"100%\",\n };\n }\n if (matches_lg) {\n iframeConfig = {\n urlHeight: \"660px\",\n urlWidth: \"460px\",\n height: \"360px\",\n width: \"100%\",\n };\n }\n\n const [imageLoaded, setImageLoaded] = useState(false);\n\n const getImage = (attachment) => {\n const img = new Image();\n\n let imageSrc = formatImage(activeSocialMediaType, subdomain, postImg);\n if (attachment) {\n imageSrc = formatImage(activeSocialMediaType, subdomain, attachment);\n }\n\n img.src = imageSrc;\n img.onload = () => setImageLoaded(true);\n\n return imageSrc;\n };\n\n return (\n
\n \n \n \n
\n \n
\n \n history.push(\"/brand-overview\", pageId)}>\n {pageName}\n \n \n\n
\n {feedTypeIcon(feed_type)}\n \n {\" \"}\n {createdDate}\n \n
\n
\n
\n
\n \n \n \n
\n
\n\n \n {caption}\n \n \n\n {feed_type.toLowerCase() === \"video\" && attachment ? (\n \n \n \n \n \n ) : attachment ? (\n \n {!imageLoaded ? (\n \n \n \n ) : null}\n {/* */}\n \n \n \n \n ) : (\n \n \n {feed_type} Unavailable\n \n
\n This {feed_type} may no longer exist, or you don't have permission\n to view it.\n
\n \n )}\n \n\n \n \n
\n \n {\" \"}\n Engagements per 1k Fans{\" \"}\n \n \n {\" \"}\n {numbersFormat(avg_interaction_per_1k_fans)}\n \n
\n \n \n Total Engagements\n \n \n {numbersFormat(total_engagement)}\n \n \n \n \n
\n {activeSocialMediaType === \"facebook\" ? (\n <>\n {\" \"}\n \n Reactions\n \n \n
    \n
  • \n {\" \"}\n \n \n Like\n {\" \"}\n \n {\" \"}\n {formatNumber(feed_like_count)}\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Love\n {\" \"}\n \n {\" \"}\n {formatNumber(feed_love_count)}\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Wow\n {\" \"}\n \n {\" \"}\n {formatNumber(feed_wow_count)}\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Haha\n {\" \"}\n \n {\" \"}\n {formatNumber(feed_haha_count)}\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Care\n {\" \"}\n \n {\" \"}\n 0\n {\" \"}\n
  • \n
  • \n {\" \"}\n \n \n Angry\n {\" \"}\n \n {\" \"}\n 0\n {\" \"}\n
  • \n
\n
\n
\n Reactions{\" \"}\n \n {\" \"}\n {numbersFormat(total_reactions)}\n \n
\n \n }\n placement=\"top\"\n >\n \n {numbersFormat(total_reactions)}\n \n {\" \"}\n \n ) : (\n <>\n {\" \"}\n \n Likes\n \n \n {numbersFormat(feed_like_count)}\n \n \n )}\n
\n
\n \n Comments\n \n \n {numbersFormat(feed_comment_count)}\n \n
\n {activeSocialMediaType !== \"instagram\" ? (\n
\n
\n \n Shares\n \n \n {numbersFormat(feed_share_count)}\n \n
\n {/*
\n \n Other Engagements\n \n \n {numbersFormat(other_engagement)}\n \n
*/}\n
\n ) : (\n \"\"\n )}\n \n
\n \n \n );\n};\n\nexport default withRouter(SocialMediaPostsCard);","export const Styles = () => ({\n cardVideo: {\n \"& #react-player\": {\n \"& div\": {\n backgroundColor: \"black\",\n display: \"flex\",\n alignItems: \"center\",\n borderRadius: 10,\n \n }\n }\n \n }\n})","export default \"data:image/png;base64,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\"","import { Typography, useMediaQuery, useTheme } from '@material-ui/core'\nimport fbIcon from \"../../assets/images/facebook.png\";\nimport instaBg from \"../../assets/images/instabg.png\";\nimport React from 'react'\nimport { useSelector } from 'react-redux';\n\nconst PageTitle = ({ title, subTitle }) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const {\n activeSocialMediaType,\n\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n return (\n \n \n \n {title ? `${title}` : `${activeSocialMediaType} ${subTitle ? subTitle : \"Overview\"}`}\n\n \n \n )\n}\n\nexport default PageTitle","import { Typography } from \"@material-ui/core\";\nimport { DateTime } from \"luxon\";\nimport React, { useEffect, useState } from \"react\";\nimport ReactExport from \"react-data-export\";\nimport { useSelector } from \"react-redux\";\nimport { totalEngagementPerKFans } from \"../../Functions\";\nconst ExcelFile = ReactExport.ExcelFile;\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\n\nexport const DashboardExport = ({\n timeRange,\n interaction1kPerFans,\n interactionDateFilter,\n fanGrowthDateFilter,\n showDownloadSnackBar,\n xlsxLogo,\n onClick\n}) => {\n const [interactionExcellData, setInteractionExcellData] = useState([]);\n const [interactionDataCount, setInteractionDataCount] = useState([]);\n const [fanGrowthExcellData, setFansGrowthExcellData] = useState([]);\n const [fanGrowthDataCount, setFanGrowthDataCount] = useState([]);\n const [profileTopPostCount, setProfileTopPostCount] = useState([]);\n const [profileTopPostExcellData, setProfileTopPostExcellData] = useState([]);\n // const [overviewCount, setOverviewCount] = useState([]);\n\n const {\n addedProfileList,\n activeSocialMediaType,\n fansGrowth,\n interactionData,\n profileTopPost,\n customDateRangeRed,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n //setting value for interactions data for excell export\n useEffect(() => {\n if (\n interactionData &&\n interactionDateFilter &&\n activeSocialMediaType &&\n timeRange\n ) {\n setInteractionDataCount([]);\n const { timeline, datasets } = interactionData;\n\n for (const timelineIndex in timeline) {\n if (Object.hasOwnProperty.call(timeline, timelineIndex)) {\n const date = timeline[timelineIndex];\n\n //finding label for this date\n for (const key in datasets) {\n if (Object.hasOwnProperty.call(datasets, key)) {\n const dataset = datasets[key];\n let profileDetails = [\n { value: date.end },\n { value: dataset.label },\n { value: dataset.data[timelineIndex] },\n { value: \"\" },\n ];\n setInteractionDataCount((prevState) => [\n ...prevState,\n profileDetails,\n ]);\n }\n }\n }\n }\n }\n }, [\n interactionData,\n interactionDateFilter,\n customDateRangeRed,\n activeSocialMediaType,\n ]);\n\n useEffect(() => {\n if (interactionDataCount) {\n setInteractionExcellData([\n {\n columns: [\n { title: \"Date\" },\n { title: \"Page name\" },\n {\n title: interaction1kPerFans\n ? \"1k per interactions data\"\n : \"Interactions data\",\n },\n { title: `Filter_by: ${interactionDateFilter}` },\n ],\n data: interactionDataCount,\n },\n ]);\n }\n }, [interactionDataCount]);\n\n //setting value for fan growth data for excell export\n useEffect(() => {\n if (\n fansGrowth &&\n fanGrowthDateFilter &&\n activeSocialMediaType &&\n timeRange\n ) {\n setFanGrowthDataCount([]);\n const { timeline, datasets } = fansGrowth;\n\n for (const timelineIndex in timeline) {\n if (Object.hasOwnProperty.call(timeline, timelineIndex)) {\n const date = timeline[timelineIndex];\n\n //finding label for this date\n for (const key in datasets) {\n if (Object.hasOwnProperty.call(datasets, key)) {\n const dataset = datasets[key];\n let profileDetails = [\n { value: date.end },\n { value: dataset.label },\n { value: dataset.data[timelineIndex] },\n { value: \"\" },\n ];\n setFanGrowthDataCount((prevState) => [\n ...prevState,\n profileDetails,\n ]);\n }\n }\n }\n }\n }\n }, [fansGrowth, fanGrowthDateFilter, customDateRangeRed, activeSocialMediaType]);\n\n useEffect(() => {\n if (fanGrowthDataCount) {\n setFansGrowthExcellData([\n {\n columns: [\n { title: \"Date\" },\n { title: \"Page name\" },\n {\n title: \"Fan growth data\",\n },\n { title: `Filter_by: ${fanGrowthDateFilter}` },\n ],\n data: fanGrowthDataCount,\n },\n ]);\n }\n }, [fanGrowthDataCount]);\n\n //setting profile top post data for excell export\n\n useEffect(() => {\n if (profileTopPost && activeSocialMediaType) {\n const { feeds } = profileTopPost ? profileTopPost : \"\";\n setProfileTopPostCount([]);\n if (feeds) {\n for (let i = 0; i < feeds.length; ++i) {\n if (feeds[i]) {\n let data = [\n { value: i },\n { value: feeds[i].feed_created_date },\n { value: feeds[i].profile_info.page_name },\n { value: feeds[i].feed_link },\n { value: feeds[i].feed_type },\n { value: feeds[i].caption },\n { value: feeds[i].attachment ? feeds[i].attachment : \"null\" },\n { value: feeds[i].feed_comment_count },\n { value: feeds[i].feed_like_count },\n { value: feeds[i].feed_share_count },\n { value: feeds[i].other_engagement },\n { value: feeds[i].total_engagement },\n {\n value: feeds[i].avg_interaction_per_1k_fans,\n },\n ];\n setProfileTopPostCount((prevState) => [...prevState, data]);\n }\n }\n }\n }\n }, [profileTopPost, customDateRangeRed, activeSocialMediaType]);\n\n useEffect(() => {\n if (profileTopPostCount) {\n setProfileTopPostExcellData([\n {\n columns: [\n { title: \"#\" },\n { title: \"Date\" },\n { title: \"Page name\" },\n { title: \"URL\" },\n { title: \"Post type\" },\n { title: \"Caption\" },\n { title: \"Post URL\" },\n { title: \"Comment\" },\n { title: \"Like\" },\n { title: \"Share\" },\n { title: \"Other engagement\" },\n { title: \"Total engagement\" },\n { title: \"Engagement per 1k fans\" },\n ],\n data: profileTopPostCount,\n },\n ]);\n }\n }, [profileTopPostCount]);\n\n const overviewDataSet = [\n {\n columns: [\n { title: \"Overview\", style: { font: { bold: true } } },\n { title: \"\", style: { alignment: { vertical: \"center\" } } },\n {\n title: `${activeSocialMediaType} overview`,\n style: { alignment: { vertical: \"center\" } },\n },\n ],\n data: [\n [{ value: \" \" }, { value: \"\" }, { value: \"\" }],\n [\n { value: \"Time Range \", style: { font: { bold: true } } },\n { value: \"\" },\n {\n value: `${new Date(customDateRangeRed[0].startDate).toDateString()} to ${new Date(\n customDateRangeRed[0].endDate\n ).toDateString()} `,\n },\n ],\n [{ value: \" \" }, { value: \"\" }, { value: \"\" }],\n [\n { value: \"pages name\", style: { font: { bold: true } } },\n { value: `${addedProfileList.map((data) => data.name)}` },\n ],\n ],\n },\n ];\n console.log(\"show xcell data\", profileTopPostExcellData);\n\n return (\n
\n {\n showDownloadSnackBar(true);\n setTimeout(() => {\n showDownloadSnackBar(false);\n }, 2000);\n }}\n style={{ fontSize: 15, cursor: \"pointer\" }}\n onClick={onClick}\n >\n {\" \"}\n Export xlsx\n \n }\n >\n \n\n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { IconButton } from '@material-ui/core';\nimport GetAppIcon from '@material-ui/icons/GetApp';\n\nconst StyledMenu = withStyles({\n \n paper: {\n border: '1px solid #E2E2E2',\n marginTop: 5\n },\n})((props) => (\n \n));\n\nconst StyledButton = withStyles({\n root: {\n border: \"1px solid #bdbdbd\",\n marginLeft: 20,\n backgroundColor: \"#fff\",\n borderRadius: 4,\n padding: 9,\n \"&:hover\": {\n backgroundColor: \"#FFF8DE\"\n }\n }\n})(IconButton)\n\n\nconst DownloadButton = ({children}) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n
\n \n \n \n \n {children}\n \n
\n );\n}\n\nexport default DownloadButton","export default __webpack_public_path__ + \"static/media/instagram.e719d8b2.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAACbElEQVR42u3Yz4tNcRjH8dcYNWLUjMTMhoU/wWaKBWOlbMjPmvEjKVmQKIsxhIVoQriTHzOiSRFFWchKTSELZhYTWUiSBmXl52B8LeZmzLjnnnvnnjOr83lW99zn+X7e3fs9z/M9h0yZMmXKlKlcNev1VSgQQ/qsS9t+k18FzUfjaJr2a/2MsQ+CjrTs15RkHwTH07BfXbJ9EBxL2n6VH2XYB8GBiVot1eH8uLhUtn0Q3PxvnQ5LiptX65mAUXlxxZRogL2p2wfB7miAF6mZDrvummFB8Dwa4FdZiw64LSfntoHY3EOgXRD8jAYo1fqjNgvGVC7Q5mORipVgRf5ThQBn1BWsrnc2sqbXbLPcrxxgyJa/d8xi++XktFn0d2dvMRS5C0b/4AoAtoIqLV6Nuf7ShvwarSWsMmGAkTFTE9EtLqsBJ9MCeG8mqlyNzOgBtQbTAdgJthXN2Qx2pQEwrAHTvC2a9UYN5uRbTqIAD8bcydGxHDxKHuACOFHiRu1KHmCkmd6IBbgODicP0A5uxQLc+qfrJwrQCTpjAXLgXPIAd0FLLMBIR7yXPMB3M1Hvc9GsT+pQ61sajWgtOFI05yBYn04nfGYqpnkcmfHEdFTHHlAmPIy2g0Z9Bb99qhHsSG8aftMEZjg97qA+5JTpoMn39ACCQQvzufPtdUe/fnfsMS9/dWHsJKz4SPZFq6qC1VU2Rjy4JwoQBA81j3u8mGJZzABKFCAI3um2T6tW+3R7X1ZtIgCVRKR+T4r972iAD5MC8C4a4OKkAJyPBmjwOnX7V+YUe0PQoKvMHV3ej3/B3OxNZ6ZMmTJlGqs/4PiClc/cqToAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAABOElEQVR42u2YvUoDURCFv5UURgKxFLRVHyAgCXZiLcRG7LWTvIKWggR8goidBLQSEQQ7wWAh4iP4ApYGwQ1rdmM0mz/YubfwnGl2pjkfXFhmDkiSJEnSj2bYpM4VdxnULefUWJrGfp0XwoyrzSn5yex3aWdu360W8+Pty3wY2Ud1Q5DimWch+Qx4MrSPanvAvsIbX+wnTWhc93/sa/GDN7vtkTnAJ3M98wIXvXkMcGYOELIS26/y2jeNAZoOAErfTlXef02dAuQ4Hpg6BNjiIWXqECD9P+MQIBSAAAQgAAEIQAD/HsD7QuJ9JfO+lI5cyxsOAJZHHSaHvk+zsu/jNKBlDFAdcp7vJe2aaUBxnRqK9AUUkXbMIppHipOlRBWeDUKqOrPTxHQbnHCZWUx3wKKyT0mSJGm8Oh5Lnozw7J9RAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAABVElEQVR4nO2XsY5BURCGbyK03kGpEeU+hqfRqIQnkGyh0HB38TS6rfZBtlh2ppCIYM9wjpkx/5d87cl/PpdcVQUAAOAmfXJK1uTWibx1QvYeuXiLnJN78uBU3v5ONu8JMDdwgVzOpJfnx97zJ3/uL9mVBJgYGJ3bkSRAbWBwbheSAFsDg3O7RAAEQAAEKBFAGwRIdCU5FAEEB2uDAIkWC6D93z91Z10qgBeLPQFeDP8bUOwroA0CJIoAkkMRQHCwl/eAj1IBvBj+RajYE6ANAiSKAJJDEUBwsDbqAby8B3yWCuBFBEAABEhnY2BwbteSADMDg1UDDAwMVg3QIHcGRqsFYDrkt4HhagGYNjkmv8gfA5d4egAPDKvgAZiUCC8dgPkvwssHYG5F2CjueirXIoQJwFyKECoAcx4hXADmNELIAMwxQtgADEcIHYB50x4AAADm+AO6XAIRas6obgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAADFElEQVR4nO1ZvW4TQRDewvIZW/ae5YIf+RXgHVJAeAEaAkgGHgEpEhA5ifIGsZ2ELg2J8w4kUESBKmUCBYGEjoZgqGGGW9DlmN3bu9twZzOfNJpi9uebud3ZuV0hGAwGg8FgMBgMBoPBYDD08BqNxk0pZR/0K9CHoL+B/hEjn6HdXNLJsA/2jRtfcTgA/RJ0D/Q0dC8787rVal2BgVdg4FMLZ01EZxI4P5NxLuQ6qFarl7P4XoFBlmCw71nIhEitJwjAuqM5cXUsoi+JPMfIQcfXLkiEyHQTBKDrcm6QPevV4Pv+NSBw4tj5fdC+bQCwrerjksMJ+macGKMEDT/FDPQF9HPQT0F3QG7FyBQMXbJ1PoQS9rUYv6O4bChuxiBoV0K73b4Ajd4YOr8HuS1cZlj3KNfr9TvA88i0HQSVE8CwZOg0EMV2PAoPOK8a/Fk40xqPOkO2f5STE5kB3Gc1q3kEW+FSuKEuWis58ncC8GFN41v/dxuPKnJwz4vxWvY6eFROwIQp0D9V3lLLxLpyKzogMd7V+DiNS2Sgjc7kgFzlv7YBGHYIw0aaWWRQwHRBD0G2HMtQjW1dUEW4DYkPvY2Gd4ThcYo5Sq6rN82y3RcpCiv1dxkd7xANI8LQSTqBDKq2c3U+JFMp+D0ggjnCAHwlJrg/gQF4SATgFA1vCcOTpBOI8dwCB7okuJkiAEVPgltEMF+goU8Y/pdjcFlbCOFfVd6sXcH3/Xua7XQd7WVNKXwENi9n7i5QAV8+Gle5JKpBJav5cs8OcPSZxrfen0bqJkh3xT2bI/9MkIbf4VqtdjHaeNFw/KyJ8doOFcOXR5knO4Fhz3D+flCJscing4cJj9rzIdkVuo+ptoLxRlglzE1VWBTlUnRO1QlUVRvmfvzX0o9igq/Fj5vN5lUrAuphRLsdUhLI82Fk98wdoCUwJyxYPoDaBCCPpzH8050XWRI4Rk4GL8LGRwcLMv/ycRS59mL3e0JgxXhDBk/Q2zJ4kqbuEqJy3s/jI8UFOS2r8rbIJxWDwWAwGAwGg8FgMBiMnPET6GC38ISCKz8AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAACOElEQVR4nO2bu0sDQRCHVwTxgVqonY0WYiGCrYWNipUISjBWARsLX6Wl5k9QewNilU7Ezt7WBz4QLCSVWPhAFEXUWe+EGG729tab7OYyP/iqbHZmPmRNjo0QHA6Hw4mcDmAJyAF5y8geFoF20omLMg08AV+O8QikCOf+yRjwYXlQFbK3Uarha4BLB4YM49zvNfb0OzCcLn0UAiaQYiYHV4FYwASFgBRSzCR5ZK+4IDkMWQBSzCQsANmLBcQECzDsSxkWgBQzCQtA9mIBMcECDPtShgUgxUzCApC9WEBMsADDvpRhAUixoIwAJ8A60BTwemIFdALbJa8XAhpKnIA6YBl4VjS1B3T76xMlYBy41mzsFVgVnozECHARFsACWEBlC/isZgFy+DRwVK0Csn69HmF+D6FiBRwAtUU104b7OCPgCrjQXHsjgq+5bBnUdULACzAAdAF3IWvfgUGkbr2Ifh44ISBT9N4h4E2xdi6kdtTzwLqAjYD3zyJrdzTrz0Sob1XAofC+HQZls2StfGbQGKGHnGYP1gTcCu+ZABZ5wu/7a+WfdG/EHhqE3nlgRYDuFbUW4BSYNOxD5zywImAlwl7N/+wlE9JL2QXsCqK7eYqozoOyCpAfdlopCoZEngfHSE9lFZD1X7PBmgsCXIQFUAjArsq6CMlV2aq/LC3/zel+tbXJGcXwv5Gf9Fz/wcQw2fR+5AHzYHnQIO6BKcK5/0Q+uVkQ3tMa2z+akj3MA22kE3M4HE4S8w3LwObDpUglVAAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/Poppins-Medium.9e1bb626.ttf\";","import { Image, Text, View, Link, StyleSheet, Font } from \"@react-pdf/renderer\";\nimport { formatImage, numbersFormat } from \"Functions\";\nimport React from \"react\";\nimport fbLogo from \"../../../assets/images/facebook.png\";\nimport InstagramLogo from \"../../../assets/images/instagram.png\";\nimport cameraIcon from \"../../../assets/images/cameraIcon.png\";\nimport playArrowIcon from \"../../../assets/images/playIcon.png\";\nimport videoIcon from \"../../../assets/images/videoIcon.png\";\nimport commentIcon from \"../../../assets/images/commentIcon.png\";\nimport linkIcon from \"../../../assets/images/linkIcon.png\";\nimport photoAlbumIcon from \"../../../assets/images/photoAlbumIcon.png\";\nimport * as moment from \"moment-timezone\";\nimport PoppinsFont from \"../../../assets/fonts/Poppins-Medium.ttf\";\n\nexport const PdfTopPostComponent = ({\n topPost,\n activeSocialMediaType,\n subdomain,\n user,\n}) => {\n // Register font\n Font.register({ family: \"Poppins\", src: PoppinsFont });\n const stylesPdf = StyleSheet.create({\n profileImg: {\n height: 30,\n width: 30,\n border: \"1px solid #D5DDE0\",\n borderRadius: 5,\n },\n profileImgSelected: {\n height: 20,\n width: 20,\n border: \"1px solid #D5DDE0\",\n borderRadius: \"50%\",\n },\n page: {\n backgroundColor: \"#f5f5f5\",\n padding: 15,\n fontFamily: \"Poppins\",\n },\n graphPage: {\n backgroundColor: \"#f5f5f5\",\n padding: 30,\n fontFamily: \"Poppins\",\n },\n\n section: {\n alignSelf: \"center\",\n marginTop: 20,\n alignItems: \"center\",\n marginBottom: 40,\n },\n logo: {\n height: 40,\n width: 40,\n backgroundColor: \"#E4E4E4\",\n alignSelf: \"center\",\n borderRadius: \"50%\",\n },\n graph: {\n height: 180,\n marginTop: 20,\n backgroundColor: \"#ffffff\",\n },\n topPosts: {\n width: 120,\n height: 200,\n marginTop: 20,\n marginRight: 10,\n },\n twoImageContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n topPostsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n sectionTitle: {\n fontSize: 15,\n fontFamily: \"Poppins\",\n fontWeight: \"bold\",\n marginBottom: \"15px\",\n paddingBottom: 4,\n borderBottom: \"1px solid #D5DDE0\",\n },\n pageName: {\n alignSelf: \"center\",\n fontSize: 15,\n fontFamily: \"Poppins\",\n fontWeight: 400,\n marginTop: \"10px\",\n paddingBottom: 4,\n borderBottom: \"1px solid #D5DDE0\",\n },\n graphTitle: {\n fontSize: 10,\n fontFamily: \"Poppins\",\n },\n likeCommentCardSection: {\n padding: \"0px 40px\",\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n likeCommentCard: {\n width: 180,\n height: 70,\n marginBottom: 10,\n },\n socialMediaCardLabels: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n width: 200,\n height: 100,\n marginBottom: 10,\n padding: \"10px 10px 10px 10px\",\n border: \"1px solid #D5DDE0\",\n borderRadius: \"3px\",\n fontFamily: \"Poppins\",\n backgroundColor: \"#ffffff\",\n },\n socialMediaCardLabelTitleText: {\n fontSize: \"10px\",\n },\n socialMediaCardLabelFilterText: {\n fontSize: \"8px\",\n },\n socialMediaCardLabelIcon: {\n width: 15,\n height: 15,\n marginLeft: \"auto\",\n },\n socialMediaPostsCard: {\n fontFamily: \"Poppins\",\n width: 230,\n padding: 8,\n margin: 10,\n border: \"1px solid #D5DDE0\",\n backgroundColor: \"#ffffff\",\n },\n socialMediaCardTopSection: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n marginBottom: 10,\n },\n socialMediaPostPageTitle: {\n fontSize: 10,\n marginLeft: 5,\n marginRight: 10,\n },\n socialMediaPostDate: {\n fontSize: 8,\n },\n socialMediaPostMidSection: {\n fontSize: 9,\n marginBottom: 8,\n },\n socialMediaCardLink: {\n color: \"#0645AD\",\n marginBottom: 8,\n marginTop: 8,\n whiteSpace: \"no-wrap\",\n },\n socialMediaCardImage: {\n borderRadius: \"5\",\n },\n socialMediaCardImageContainer: {\n width: 210,\n height: 180,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n overflow: \"hidden\",\n },\n socialMediaPostBottomSection: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n socialMediaCardPageLogo: {\n width: 20,\n height: 20,\n borderRadius: \"50%\",\n marginRight: 5,\n },\n socialMediaPostCardEngagementsTitle: {\n fontSize: \"10px\",\n color: \"rgb(117, 117, 117)\",\n marginBottom: 2,\n },\n socialMediaPostCardEngagementsNumber: {\n fontSize: \"8px\",\n fontWeight: 600,\n },\n socialMediaPostCardEngagementsNumberRight: {\n fontSize: \"8px\",\n fontWeight: 600,\n },\n engagementRow: {\n display: \"flex\",\n justifyContent: \"space-between\",\n flexDirection: \"row\",\n marginBottom: 8,\n marginTop: 8,\n },\n engagementColumn: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n interactionsper1k: {\n float: \"right\",\n fontSize: 8,\n marginTop: \"10px\",\n },\n totalEngagements: {\n marginBottom: 8,\n marginTop: 10,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n socialMediaPostSocialLogo: {\n width: 15,\n height: 15,\n marginLeft: 10,\n },\n\n feedIcon: {\n width: 12,\n height: 12,\n },\n });\n\n const feedTypeIcon = (type) => {\n if (type.toLowerCase() === \"image\" || type.toLowerCase() === \"photo\") {\n return ;\n }\n if (type.toLowerCase() === \"video\") {\n return ;\n }\n if (type.toLowerCase() === \"link\") {\n return ;\n }\n if (type.toLowerCase() === \"album\") {\n return ;\n }\n if (type.toLowerCase() === \"sidecar\") {\n return ;\n }\n return ;\n };\n\n function removeEmojis(string) {\n var regex =\n /([#0-9]\\u20E3)|[\\xA9\\xAE\\u203C\\u2047-\\u2049\\u2122\\u2139\\u3030\\u303D\\u3297\\u3299][\\uFE00-\\uFEFF]?|[\\u2190-\\u21FF][\\uFE00-\\uFEFF]?|[\\u2300-\\u23FF][\\uFE00-\\uFEFF]?|[\\u2460-\\u24FF][\\uFE00-\\uFEFF]?|[\\u25A0-\\u25FF][\\uFE00-\\uFEFF]?|[\\u2600-\\u27BF][\\uFE00-\\uFEFF]?|[\\u2900-\\u297F][\\uFE00-\\uFEFF]?|[\\u2B00-\\u2BF0][\\uFE00-\\uFEFF]?|(?:\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDEFF])[\\uFE00-\\uFEFF]?|[\\u20E3]|[\\u26A0-\\u3000]|\\uD83E[\\udd00-\\uddff]|[\\u00A0-\\u269F]/g;\n return string.replace(regex, \"\");\n }\n\n return (\n \n \n \n \n \n \n \n \n {topPost.profile_info.page_name}\n \n \n \n {feedTypeIcon(topPost.feed_type)}\n \n \n {user && topPost.feed_created_date_utc\n ? `${moment(topPost.feed_created_date_utc)\n .tz(user.timezone)\n .format(\"DD/MM/YYYY HH:mm\")} ${user.timezone}`\n : \"\"}\n \n \n \n \n \n \n \n \n \n \n \n \n {removeEmojis(topPost.caption).length < 100\n ? removeEmojis(topPost.caption)\n : `${removeEmojis(topPost.caption.slice(0, 100))}...`}\n \n {/* \n \"testing all asdasdasdasdasdasdasdasdshdfjkshdfhjdf\"\n */}\n \n \n {topPost.feed_type.toLowerCase() === \"video\" ? (\n <>\n \n \n \n ) : (\n \n )}\n \n \n \n {\" \"}\n Interactions per 1k Fans:{\" \"}\n {numbersFormat(topPost.avg_interaction_per_1k_fans)}\n \n \n \n \n Total Engagements\n \n {numbersFormat(topPost.total_engagement)}\n \n \n \n \n {activeSocialMediaType === \"facebook\" ? (\n \n \n Reactions\n \n \n {numbersFormat(\n topPost.feed_like_count +\n topPost.feed_haha_count +\n topPost.feed_love_count +\n topPost.feed_wow_count\n )}\n \n \n ) : (\n \n \n Likes\n \n \n {numbersFormat(topPost.feed_like_count)}\n \n \n )}\n\n \n \n Comments\n \n \n {\" \"}\n {numbersFormat(topPost.feed_comment_count)}\n \n \n \n\n {activeSocialMediaType === \"facebook\" && (\n \n \n \n Shares\n \n \n {numbersFormat(topPost.feed_share_count)}\n \n \n \n )}\n \n \n \n );\n};\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAD2ElEQVRoge2ZT2wUZRjGn3d2usqyUwOIAlusLcQ24bgEDp4gXiAxsQeCEUk8NKnrFmO8GpOaGM+K3S174WJJoDVRonLszQPYvUtjykbWhbR0D93JNt125vGwNTYzs50/+001ob/j+73fvM+z8+3M970D7LHH840oucoME/31xhnNxjlCshowTOAogPRWhkmgBuChgGWCc5Wl3geYELvb0l0ZOFFoHqfYeYDvE8iErFylLdO6pRX++DhVjaohkoGT1xuHLR1fAvgAQDJq8S1aAtzUE/x8Yaz3WdjJoQ0MFs33CH4L4GDYuT6sUDBeyRm3w0wKbCBbYk/dMosARkNLC4EQpQN6+lp5TDYC5QdJOlZi6kWr8T0hF7qTFwyS91q6cak2Jk2/XM0vIVtiz26KBwARufiCZd49NUPf/5evgbplFndT/DbeWntmfuOXtOMSGpwyr5CcVqcpPCTereSNO53GOxrITK4eSmryO4CXY1EWnHpPgkOdHrEdl1BSk6/w34sHgIMbtnzRadDTwMnrzT60X1KBmB3Zhzf7EhG0BYQYHSytveY15GnA1u1xhHjDZo8k8N3b++I0krQ3rZzXgNvABDUKr0SpEqcRTXgVM3Rd1GWg/0jjLIi+borFYYRAZmBlNeuMuwxoNs4pqQj1RgRy3hlzGRDK6a4rOVBlhBD/O2AL3ohcwQcFRoacAfcdaJ+kYiWyEbq1eT1G0x6xWIhgxHAGfDdz/3d0j5gJ9actT8pPLXz9Wwu/Vq2gUxrOgMsAgScSs4EIwtsInjhDLgMasUDBqejyOhNZ+L88dAbcd0A4D8hI1ApeKBAOACA574x5LCHOiaJ+lyrh/6AxMeeMuQxUlnofDLxiPgZwPGoh1cK3+HNxOVV2Bj12o2KTcitKhfJTC1d/WsOlH9ZUiwcht7xakV6PUeiWVrB061MEPBPcr7V/8fs1taK3sb4pWsFroONiHyw2pgh8GJeiUBCTj/LGNa+hjm/iVtL+DEDoXmUMrPToDHcmBoDq6Et1Cjxd7zK5nZq+O+6FKjnjthAl9ZoCU3j0kTG7U4LvZm7xcDovwI/qNAVFfulfSn/imxXkUsdKTCU3G7MicrF7YUGQn9cT+y8rae4CQG1Mmod04x0BbnQvzpdC/9L+kSDigQgfOF4vNC6LYBLqu3bLAPJ+a95J6ANNJW/cadkchqAIYD3sfA/WQUxuJO3hsOKBLj/y9U01M7ptj0u7ERZ27/SYkOlN0QrVXOqvqBrUbDsnqA28unpaIOe3Wh9DIDLY9pkVQBWCBZLzGhNzi8upsorPrHvs8bzzN6YVcIlux5q/AAAAAElFTkSuQmCC\"","import React from \"react\";\nimport {\n Document,\n Page,\n Text,\n View,\n StyleSheet,\n Image,\n Font,\n Link,\n} from \"@react-pdf/renderer\";\nimport FacebookRoundLogo from \"../../assets/images/facebook.png\";\nimport InstagramLogo from \"../../assets/images/instagram.png\";\nimport defaultLogo from \"../../assets/images/msvfooterLogo.png\";\nimport cameraIcon from \"../../assets/images/cameraIcon.png\";\nimport videoIcon from \"../../assets/images/videoIcon.png\";\nimport commentIcon from \"../../assets/images/commentIcon.png\";\nimport linkIcon from \"../../assets/images/linkIcon.png\";\nimport photoAlbumIcon from \"../../assets/images/photoAlbumIcon.png\";\n\nimport {\n formatImage,\n numbersFormat,\n totalEngagementPerKFans,\n} from \"../../Functions\";\nimport fbLogo from \"../../assets/images/facebook.png\";\nimport PoppinsFont from \"../../assets/fonts/Poppins-Medium.ttf\";\nimport * as moment from \"moment-timezone\";\nimport { PdfTopPostComponent } from \"./PdfComponent/PdfTopPostComponent\";\n\n//Registering font for PDF\n\nFont.register({ family: \"Poppins\", src: PoppinsFont });\n\nconst DashboardPDF = (props) => {\n const {\n activeSocialMediaType,\n addedProfileList,\n feeds,\n interactionAddedProfiles,\n topPostPageName,\n page_picture,\n user,\n feedLimit,\n customDateRangeRed\n } = props;\n let subdomain = user.CustomerSubdomain.subdomain;\n const stylesPdf = StyleSheet.create({\n profileImg: {\n height: 30,\n width: 30,\n border: \"1px solid #D5DDE0\",\n borderRadius: 5,\n },\n profileImgSelected: {\n height: 20,\n width: 20,\n border: \"1px solid #D5DDE0\",\n borderRadius: \"50%\",\n },\n page: {\n backgroundColor: \"#f5f5f5\",\n padding: 15,\n fontFamily: \"Poppins\",\n },\n graphPage: {\n backgroundColor: \"#f5f5f5\",\n padding: 30,\n fontFamily: \"Poppins\",\n },\n postsPage: {\n backgroundColor: \"#f5f5f5\",\n padding: 30,\n },\n\n section: {\n alignSelf: \"center\",\n marginTop: 20,\n alignItems: \"center\",\n marginBottom: 40,\n },\n logo: {\n height: 40,\n width: 40,\n backgroundColor: \"#E4E4E4\",\n alignSelf: \"center\",\n borderRadius: \"50%\",\n },\n graph: {\n height: 180,\n marginTop: 20,\n backgroundColor: \"#ffffff\",\n },\n topPosts: {\n width: 120,\n height: 200,\n marginTop: 20,\n marginRight: 10,\n },\n twoImageContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n topPostsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n sectionTitle: {\n fontSize: 15,\n fontFamily: \"Poppins\",\n fontWeight: \"bold\",\n marginBottom: \"15px\",\n paddingBottom: 4,\n borderBottom: \"1px solid #D5DDE0\",\n },\n pageName: {\n alignSelf: \"center\",\n fontSize: 15,\n fontFamily: \"Poppins\",\n fontWeight: 400,\n marginTop: \"10px\",\n paddingBottom: 4,\n borderBottom: \"1px solid #D5DDE0\",\n },\n graphTitle: {\n fontSize: 10,\n fontFamily: \"Poppins\",\n },\n likeCommentCardSection: {\n padding: \"0px 40px\",\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n likeCommentCard: {\n width: 180,\n height: 70,\n marginBottom: 10,\n },\n socialMediaCardLabels: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n width: 200,\n height: 100,\n marginBottom: 10,\n padding: \"10px 10px 10px 10px\",\n border: \"1px solid #D5DDE0\",\n borderRadius: \"3px\",\n fontFamily: \"Poppins\",\n backgroundColor: \"#ffffff\",\n },\n socialMediaCardLabelTitleText: {\n fontSize: \"10px\",\n },\n socialMediaCardLabelFilterText: {\n fontSize: \"8px\",\n },\n socialMediaCardLabelIcon: {\n width: 15,\n height: 15,\n marginLeft: \"auto\",\n },\n socialMediaPostsCard: {\n fontFamily: \"Poppins\",\n width: 200,\n padding: 8,\n margin: 10,\n border: \"1px solid #D5DDE0\",\n backgroundColor: \"#ffffff\",\n },\n socialMediaCardTopSection: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n marginBottom: 10,\n },\n socialMediaPostPageTitle: {\n fontSize: 10,\n },\n socialMediaPostDate: {\n fontSize: 8,\n },\n socialMediaPostMidSection: {\n fontSize: 9,\n marginBottom: 8,\n },\n socialMediaCardLink: {\n color: \"#0645AD\",\n marginBottom: 8,\n marginTop: 8,\n whiteSpace: \"no-wrap\",\n },\n socialMediaCardImage: {\n width: 180,\n height: 180,\n borderRadius: \"5\",\n },\n socialMediaCardImageContainer: {\n width: 180,\n height: 180,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n overflow: \"hidden\",\n },\n socialMediaPostBottomSection: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n socialMediaCardPageLogo: {\n width: 20,\n height: 20,\n borderRadius: \"50%\",\n marginRight: 5,\n },\n socialMediaPostCardEngagementsTitle: {\n fontSize: \"10px\",\n color: \"rgb(117, 117, 117)\",\n marginBottom: 2,\n },\n socialMediaPostCardEngagementsNumber: {\n fontSize: \"8px\",\n fontWeight: 600,\n },\n socialMediaPostCardEngagementsNumberRight: {\n fontSize: \"8px\",\n fontWeight: 600,\n },\n engagementRow: {\n display: \"flex\",\n justifyContent: \"space-between\",\n flexDirection: \"row\",\n marginBottom: 8,\n marginTop: 8,\n },\n engagementColumn: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n interactionsper1k: {\n float: \"right\",\n fontSize: 8,\n marginTop: \"10px\",\n },\n totalEngagements: {\n marginBottom: 8,\n marginTop: 10,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n socialMediaPostSocialLogo: {\n width: 15,\n height: 15,\n },\n socialMainLogo: {\n width: 25,\n height: 25,\n marginRight: 10,\n },\n overviewTitle: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n fontFamily: \"Poppins\",\n },\n metricText: {\n fontSize: 10,\n fontWeight: 400,\n lineHeight: \"1.5 px\",\n marginBottom: 8,\n },\n graphSection: {\n marginBottom: 20,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-evenly\",\n border: \"1px solid #f4f4f4\",\n alignItems: \"center\",\n paddingRight: 10,\n paddingTop: 10,\n },\n graphContents: {\n display: \"flex\",\n flexDirection: \"column-reverse\",\n justifyContent: \"space-between\",\n },\n feedIcon: {\n width: 12,\n height: 12,\n },\n date: {\n alignSelf: \"center\",\n marginTop: 10,\n fontSize: 12,\n },\n });\n\n let SelectedProfileDetails = addedProfileList.filter((data) =>\n interactionAddedProfiles.includes(data.id)\n );\n\n function removeEmojis(string) {\n var regex =\n /([#0-9]\\u20E3)|[\\xA9\\xAE\\u203C\\u2047-\\u2049\\u2122\\u2139\\u3030\\u303D\\u3297\\u3299][\\uFE00-\\uFEFF]?|[\\u2190-\\u21FF][\\uFE00-\\uFEFF]?|[\\u2300-\\u23FF][\\uFE00-\\uFEFF]?|[\\u2460-\\u24FF][\\uFE00-\\uFEFF]?|[\\u25A0-\\u25FF][\\uFE00-\\uFEFF]?|[\\u2600-\\u27BF][\\uFE00-\\uFEFF]?|[\\u2900-\\u297F][\\uFE00-\\uFEFF]?|[\\u2B00-\\u2BF0][\\uFE00-\\uFEFF]?|(?:\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDEFF])[\\uFE00-\\uFEFF]?|[\\u20E3]|[\\u26A0-\\u3000]|\\uD83E[\\udd00-\\uddff]|[\\u00A0-\\u269F]/g;\n return string.replace(regex, \"\");\n }\n\n const feedTypeIcon = (type) => {\n if (type.toLowerCase() === \"image\" || type.toLowerCase() === \"photo\") {\n return ;\n }\n if (type.toLowerCase() === \"video\") {\n return ;\n }\n if (type.toLowerCase() === \"link\") {\n return ;\n }\n if (type.toLowerCase() === \"album\") {\n return ;\n }\n if (type.toLowerCase() === \"sidecar\") {\n return ;\n }\n return ;\n };\n\n return (\n \n \n \n {activeSocialMediaType === \"instagram\" ? (\n \n \n Dashboard Overview\n \n ) : (\n \n \n Dashboard Overview\n \n \n )}\n \n {\" \"}\n {`${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[1]\n } ${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[2]\n } ${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[3]\n } - ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[1]\n } ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[2]\n } ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[3]\n }`}\n \n \n \n \n \n Selected Pages\n \n \n {SelectedProfileDetails.map((profile) => (\n \n \n \n {profile.page_name} \n\n \n @{profile.username}{\" \"}\n \n \n \n ))}\n \n \n \n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n \n \n \n \n \n Follower growth (By{\" \"}\n \n {props.fanGrowthDateFilter}\n \n )\n \n \n \n \n \n \n {SelectedProfileDetails.map((profile) => (\n \n \n \n {/* {profile.name} */}\n\n {/* \n {profile.page_username}{\" \"}\n */}\n \n \n ))}\n \n \n \n \n \n Interactions (By{\" \"}\n \n {props.interactionDateFilter}\n \n )\n \n \n \n \n \n \n {SelectedProfileDetails.map((profile) => (\n \n \n \n {/* {profile.name} */}\n\n {/* \n {profile.page_username}{\" \"}\n */}\n \n \n ))}\n \n \n \n \n \n\n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n\n {feeds.length > 0 && (\n \n \n {feeds.length > 0 && (\n \n \n {topPostPageName} Top Posts{\" \"}\n \n \n {feeds && feeds.length !== 0\n ? feeds.map((topPost, index) => (\n \n ))\n : \"\"}\n \n \n )}\n \n\n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n )}\n\n {/* Metrics Page */}\n \n \n \n Metrics Overview\n \n \n \n 1. Fan's growth \n \n\n \n \n This chart shows the information regarding the growth of\n followers of your pages withing selected time period. The\n negative value shows decrease in followers whereas positive\n value shows increase in followers.\n \n \n \n \n \n 2. Top Posts \n \n\n \n \n This shows the distribution of the Post Types by the average\n Interactions per 1000 fans metric or by the average Interactions\n per post metric during the selected time range.\n \n \n \n \n \n 3. Interactions \n \n\n \n \n The colorful bar chart displays interactions (Reactions,\n Comments and Shares) count of page during selected time range.\n \n \n \n \n \n \n );\n};\n\nexport default DashboardPDF;\n","import React from 'react'\nimport Snackbar from '@material-ui/core/Snackbar';\nimport { CircularProgress, withStyles } from '@material-ui/core';\n\nconst StyledSnackbar = withStyles({\n root: {\n zIndex: props => props.zindex ? 999 : 99,\n \"& .MuiSnackbarContent-message\": {\n fontSize: 12,\n // color: \"#323132\"\n },\n \"& .MuiPaper-root\": {\n // backgroundColor: \"#FFF8DE \"\n }\n },\n})(Snackbar)\n\nexport const SnackBarDownload = ({message, sociallistening}) => {\nconst action = (\n \n );\n \n\n return (\n \n \n \n )\n}\n","import { useMediaQuery, useTheme } from \"@material-ui/core\";\nimport {\n Avatar,\n FormControl,\n Typography,\n withStyles,\n MenuItem,\n makeStyles,\n InputLabel,\n Select,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { formatImage } from \"../../Functions\";\nimport { Styles } from \"./Styles\";\n\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n})(MenuItem);\n\nconst StyledSelect = withStyles({\n root: {\n padding: 8,\n border: \"1px solid #BDBDBD\",\n },\n})(Select);\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nexport const CustomSelectDropdown = ({\n selectProfile,\n selectProfileHandleChange,\n addedProfileList,\n subdomain,\n activeSocialMediaType,\n}) => {\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const classes = useStyles({ sm });\n\n //menuProps for select dropdown component\n const menuProps = {\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"right\",\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"right\",\n },\n getContentAnchorEl: null,\n };\n return (\n \n \n \n {addedProfileList && addedProfileList.length > 0 ? (\n addedProfileList.map((addedProfileList) => (\n \n \n {\" \"}\n \n {\" \"}\n {addedProfileList.name}{\" \"}\n {\" \"}\n \n \n ))\n ) : (\n \n {\" \"}\n \n No Data Available\n {\" \"}\n \n )}\n \n \n );\n};\n","export const Styles = (theme) => ({\n formControl: {\n minWidth: (props) => (props.sm ? 180 : 230),\n maxWidth: (props) => (props.sm ? 180 : \"auto\"),\n },\n})","import axios from \"axios\";\nimport { toast } from \"react-toastify\";\nimport Moment from 'moment';\n\nexport const getSubdomainList = () => (dispatch) => {\n dispatch({\n type: \"GET_SUBDOMAIN_LIST\"\n })\n\n axios.get(`/dashboard/subdomain-list`)\n .then(response => {\n dispatch({\n type: \"GET_SUBDOMAIN_LIST_SUCCESS\",\n payload: response.data.data\n })\n })\n .catch((error) => {\n dispatch({\n type: \"GET_SUBDOMAIN_LIST_ERROR\",\n payload: error.response.data.data\n })\n\n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Some thing went wrong\");\n }\n })\n}\n\nexport const getUserLoginActivity = (filter, page = 1, pageLimit = 10) => (dispatch) => {\n dispatch({\n type: \"GET_USER_LOGIN_ACTIVITY\"\n })\n\n axios.get(`dashboard/login-logs?page=${page}&page_limit=${pageLimit}&${filter}`)\n .then(response => {\n dispatch({\n type: \"GET_USER_LOGIN_ACTIVITY_SUCCESS\",\n payload: response.data.data\n })\n })\n .catch((error) => {\n dispatch({\n type: \"GET_USER_LOGIN_ACTIVITY_ERROR\",\n payload: error.response.data.data\n })\n\n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Some thing went wrong\");\n }\n })\n}\n\nexport const getMoreUserLoginActivity = (filter, page = 1, pageLimit = 10) => (dispatch, getState) => {\n dispatch({\n type: \"GET_MORE_USER_LOGIN_ACTIVITY\"\n })\n\n const userLoginActivityData = getState().userActivityReducer.userLoginActivity.data;\n\n axios.get(`dashboard/login-logs?page=${page}&page_limit=${pageLimit}&${filter}`)\n .then(response => {\n dispatch({\n type: \"GET_USER_LOGIN_ACTIVITY_SUCCESS\",\n payload: [...userLoginActivityData, ...response.data.data]\n })\n })\n .catch((error) => {\n dispatch({\n type: \"GET_USER_LOGIN_ACTIVITY_ERROR\",\n payload: error.response.data.data\n })\n\n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Some thing went wrong\");\n }\n })\n}\n\nexport const createUserReportDownloadActivity = (profiles, downloadType) => (dispatch, getState) => {\n console.log({ profiles })\n dispatch({\n type: \"CREATE_USER_REPORT_DOWNLOAD_ACTIVITY\"\n })\n\n const userDetail = getState().auth.user;\n const activeSocialMedia = getState().socialMediaProfileListReducer.activeSocialMediaType;\n\n let postParams = {\n name: `${userDetail.first_name} ${userDetail.last_name}`,\n email: userDetail.email,\n subdomain_id: userDetail.subdomain_id,\n social_type: activeSocialMedia,\n profile: JSON.stringify(profiles),\n file_type: downloadType,\n download_time: Moment().format('YYYY-MM-DD HH:mm'),\n }\n\n axios.post(`download-logs/create`, postParams)\n .then(response => {\n dispatch({\n type: \"CREATE_USER_REPORT_DOWNLOAD_ACTIVITY_SUCCESS\",\n payload: response.data.data\n })\n })\n .catch((error) => {\n dispatch({\n type: \"CREATE_USER_REPORT_DOWNLOAD_ACTIVITY_ERROR\",\n payload: error.response.data.data\n })\n\n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Some thing went wrong\");\n }\n })\n}\n\nexport const getUserReportDownloadActivity = (filter, page = 1, pageLimit = 10) => (dispatch) => {\n dispatch({\n type: \"GET_USER_REPORT_DOWNLOAD_ACTIVITY\"\n })\n\n axios.get(`download-logs?page=${page}&page_limit=${pageLimit}&${filter}`)\n .then(response => {\n dispatch({\n type: \"GET_USER_REPORT_DOWNLOAD_ACTIVITY_SUCCESS\",\n payload: response.data.data\n })\n })\n .catch((error) => {\n dispatch({\n type: \"GET_USER_REPORT_DOWNLOAD_ACTIVITY_ERROR\",\n payload: error.response.data.data\n })\n\n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Some thing went wrong\");\n }\n })\n}\n\nexport const getMoreUserReportDownloadActivity = (filter, page = 1, pageLimit = 10) => (dispatch, getState) => {\n dispatch({\n type: \"GET_MORE_USER_REPORT_DOWNLOAD_ACTIVITY\"\n })\n\n const userReportDownloadActivityData = getState().userActivityReducer.userReportDownloadActivity.data;\n\n axios.get(`download-logs?page=${page}&page_limit=${pageLimit}&${filter}`)\n .then(response => {\n dispatch({\n type: \"GET_USER_REPORT_DOWNLOAD_ACTIVITY_SUCCESS\",\n payload: [...userReportDownloadActivityData, ...response.data.data]\n })\n })\n .catch((error) => {\n dispatch({\n type: \"GET_USER_REPORT_DOWNLOAD_ACTIVITY_ERROR\",\n payload: error.response.data.data\n })\n\n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Some thing went wrong\");\n }\n })\n}","import React, { useEffect, useState } from \"react\";\nimport Layout from \"../../Components/Layout\";\nimport {\n Grid,\n Typography,\n makeStyles,\n useTheme,\n useMediaQuery,\n Box,\n withStyles,\n MenuItem,\n Container,\n} from \"@material-ui/core\";\nimport SocialButton from \"../../Components/SocialButton\";\nimport FilterDays from \"../../Components/FilterDays\";\nimport BarChart from \"../../Components/BarChart\";\nimport {\n getAddedProfileList,\n getSocialProfileFanGrowth,\n getInteractions,\n getSocialProfileTopPost,\n getMoreSocialProfileTopPost,\n} from \"../../store/actions/SocialMediaProfileAction\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport Spinner from \"../../Components/Spinner\";\nimport SocialMediaPostsCard from \"../../Components/SocialMediaPostsCard/SocialMediaPostsCard\";\nimport PageTitle from \"../../Components/PageTitle/PageTitle\";\nimport { toast } from \"react-toastify\";\nimport { DashboardExport } from \"./DashboardExport\";\nimport DownloadButton from \"../../Components/DownloadButton/DownloadButton\";\nimport { saveAs } from \"file-saver\";\nimport domtoimage from \"dom-to-image\";\nimport DashboardPDF from \"./DashboardPDF\";\nimport { SnackBarDownload } from \"../../Components/SnackBar/DownloadSnackBar\";\nimport { PDFlogo, PNGlogo, XLSXlogo } from \"../../Components/logosandicons\";\nimport { CustomButton } from \"../../Components/CustomButton/CustomButton\";\n\nimport { pdf } from \"@react-pdf/renderer\";\nimport { Styles } from \"./Style\";\nimport { CustomSelectDropdown } from \"../../Components/CustomSelectDropdown/CustomSelectDropdown\";\nimport { NO_DATA_AVAILABLE } from '../../utlis/constant';\nimport { createUserReportDownloadActivity } from \"../../store/actions/UserActivityAction\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n})(MenuItem);\n\nconst DashboardPage = ({ history }) => {\n const dispatch = useDispatch();\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const [selectProfile, setSelectProfile] = useState([]);\n const [showDownloadToast, setShowDownloadToast] = useState(false);\n\n //handle change of select profile\n const selectProfileHandleChange = (e) => {\n setSelectProfile(e.target.value);\n };\n\n // Fan Growth Chart\n const [fanGrowthData, setFanGrowthData] = useState({\n datasets: \"\",\n labels: \"\",\n });\n const [fanGrowthSelectedProfiles, setFanGrowthSelectedProfiles] = useState([]);\n const [fanGrowthDateFilter, setfanGrowthDateFilter] = useState(\"\");\n // Fan Growth Chart\n\n // Interactions Chart\n const [interactionsData, setinteractionsData] = useState({\n datasets: \"\",\n labels: \"\",\n });\n const [interactionSelectedProfiles, setinteractionSelectedProfiles] =\n useState([]);\n const [interactionDateFilter, setinteractionDateFilter] = useState(\"\");\n const [interaction1kPerFans, setInteraction1KPerFans] = useState(false);\n //Interactions Chart\n\n //For Chart Images\n const [Image1, setImage1] = useState(\"\");\n const [Image2, setImage2] = useState(\"\");\n\n //Top Posts limit and page\n\n let [page_limit, setPageLimit] = useState(4);\n let [currentPage, setCurrentPage] = useState(1);\n\n //Resetting page limit to 4 after profile change\n\n useEffect(() => {\n setPageLimit(4);\n }, [selectProfile]);\n\n const {\n addedProfileList,\n addedProfileListLoading,\n activeSocialMediaType,\n fansGrowth,\n fanGrowthLoader,\n interactionData,\n profileTopPost,\n profileTopPostLoading,\n interactionLoader,\n customDateRangeRed,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n const { user } = useSelector((state) => state.auth);\n\n let subdomain = user.CustomerSubdomain.subdomain;\n\n const { feeds, pages } = profileTopPost ? profileTopPost : \"\";\n\n React.useEffect(() => {\n //checking internet connection\n\n var condition = navigator.onLine ? \"online\" : \"offline\";\n\n if (condition === \"offline\") {\n toast.error(\"No internet connection\");\n }\n }, [customDateRangeRed, activeSocialMediaType, selectProfile]);\n\n React.useEffect(() => {\n if (activeSocialMediaType) {\n setSelectProfile([])\n dispatch(getAddedProfileList());\n }\n }, [activeSocialMediaType]);\n\n /* setting initial value for selecting profiles */\n useEffect(() => {\n if (addedProfileList && addedProfileList.length !== 0) {\n setSelectProfile(addedProfileList[0].id);\n }\n }, [addedProfileList]);\n\n\n // Fan Growth Chart\n const fanGrowthChart = (selectedProfiles, dateFilter) => {\n setFanGrowthSelectedProfiles(selectedProfiles);\n setfanGrowthDateFilter(dateFilter);\n };\n useEffect(() => {\n setFanGrowthData({\n datasets: fansGrowth && fansGrowth.datasets,\n labels:\n fansGrowth && fansGrowth.timeline\n ? fansGrowth.timeline.map(\n (date) =>\n `${new Date(date.end).toDateString().split(\" \")[1]} ${new Date(date.end).toDateString().split(\" \")[2]\n }`\n )\n : [],\n timeline: fansGrowth && fansGrowth.timeline,\n });\n }, [fansGrowth]);\n\n useEffect(() => {\n if (\n fanGrowthSelectedProfiles &&\n fanGrowthSelectedProfiles.length !== 0 &&\n fanGrowthDateFilter &&\n customDateRangeRed\n ) {\n dispatch(\n getSocialProfileFanGrowth(\n fanGrowthSelectedProfiles,\n fanGrowthDateFilter\n )\n );\n }\n }, [\n fanGrowthSelectedProfiles,\n fanGrowthDateFilter,\n customDateRangeRed,\n ]);\n\n // Fan Growth Chart\n\n // Interaction Chart\n const interactionsChart = (\n selectedProfiles,\n interactionDateFilter,\n kPerFans\n ) => {\n setinteractionSelectedProfiles(selectedProfiles);\n setinteractionDateFilter(interactionDateFilter);\n setInteraction1KPerFans(kPerFans);\n };\n useEffect(() => {\n setinteractionsData({\n datasets: interactionData && interactionData.datasets,\n labels:\n interactionData && interactionData.timeline\n ? interactionData.timeline.map(\n (date) =>\n `${new Date(date.end).toDateString().split(\" \")[1]} ${new Date(date.end).toDateString().split(\" \")[2]\n }`\n )\n : [],\n timeline: interactionData && interactionData.timeline,\n });\n }, [interactionData]);\n\n useEffect(() => {\n if (\n interactionSelectedProfiles &&\n interactionSelectedProfiles.length !== 0 &&\n interactionDateFilter &&\n customDateRangeRed\n\n ) {\n dispatch(\n getInteractions(\n interactionSelectedProfiles,\n interactionDateFilter,\n interaction1kPerFans\n )\n );\n }\n }, [\n interactionSelectedProfiles,\n interactionDateFilter,\n customDateRangeRed,\n interaction1kPerFans,\n ]);\n // Interaction Chart\n // Top Posts\n useEffect(() => {\n if (selectProfile && selectProfile.length !== 0 && customDateRangeRed) {\n dispatch(getSocialProfileTopPost(selectProfile, page_limit, currentPage));\n }\n }, [customDateRangeRed, selectProfile,]);\n\n // Top Posts Load More\n React.useEffect(() => {\n if (selectProfile && selectProfile.length !== 0 && customDateRangeRed) {\n dispatch(getMoreSocialProfileTopPost(selectProfile, page_limit, currentPage));\n }\n }, [page_limit]);\n\n // const props = {}\n const classes = useStyles({ sm, xs });\n\n //fucntion to convert canvas to base64 dataUrl\n function getBase64(file) {\n return domtoimage.toPng(file).then((dataURL) => dataURL);\n\n // return new Promise((resolve, reject) => {\n // const mapData1 = file.toDataURL('image/jpg', 1.0);\n // resolve(mapData1);\n\n // });\n }\n\n useEffect(() => {\n var Image1 = document.querySelector(\"#totalFollowers\");\n var Image2 = document.querySelector(\"#interaction\");\n\n setTimeout(() => {\n if (Image1) {\n getBase64(Image1).then((data) => setImage1(data));\n }\n }, 3000);\n\n setTimeout(() => {\n if (Image2) {\n getBase64(Image2).then((data) => setImage2(data));\n }\n }, 3000);\n }, [\n selectProfile,\n interactionDateFilter,\n fanGrowthDateFilter,\n customDateRangeRed,\n activeSocialMediaType,\n addedProfileList,\n interactionSelectedProfiles,\n ]);\n\n //For Generating PDF\n\n let [selectedTopPostProfile] = addedProfileList.filter((data) => data.id === selectProfile)\n\n //send download activity report\n const createUserDownloadActivity = (type) => {\n let profilesForActivityReport = [];\n\n if (selectedTopPostProfile) {\n profilesForActivityReport.push(selectedTopPostProfile.name)\n }\n\n fanGrowthSelectedProfiles.forEach(f => {\n const [profilesDetails] = addedProfileList.filter(d => d.id === f)\n\n if (profilesDetails && !profilesForActivityReport.includes(profilesDetails.name)) {\n profilesForActivityReport.push(profilesDetails.name)\n }\n });\n\n interactionSelectedProfiles.forEach(f => {\n const [profilesDetails] = addedProfileList.filter(d => d.id === f)\n if (profilesDetails && !profilesForActivityReport.includes(profilesDetails.name)) {\n profilesForActivityReport.push(profilesDetails.name)\n }\n });\n\n dispatch(createUserReportDownloadActivity(profilesForActivityReport, type));\n }\n\n const generatePdfDocument = async () => {\n //send download activity report function\n createUserDownloadActivity('pdf');\n\n setShowDownloadToast(true)\n setTimeout(() => {\n setShowDownloadToast(false)\n }, 3000)\n\n const blob = await pdf((\n \n \n )).toBlob();\n saveAs(blob, `${activeSocialMediaType}-overview Dashboard.pdf`);\n }\n console.log(\"show feedss\", feeds);\n //For Generating PNG\n\n function screenshotPage() {\n //send download activity report function\n createUserDownloadActivity('screenshot');\n\n setShowDownloadToast(true);\n setTimeout(() => {\n setShowDownloadToast(false);\n }, 3000);\n var wrapper = document.querySelector(\".dashboardPageContainer\");\n domtoimage.toBlob(wrapper, { bgcolor: \"#ffffff\" }).then(function (blob) {\n saveAs(\n blob,\n `${selectedTopPostProfile.name} ${activeSocialMediaType}-overview.png`\n );\n });\n }\n\n //For changing page limit for Top Posts\n\n function changePageLimit() {\n switch (page_limit) {\n case 4:\n setPageLimit(12);\n break;\n\n case 12:\n setPageLimit(20);\n break;\n\n default:\n setPageLimit(4);\n }\n }\n\n //For adding top post profile id into reducer\n\n function addTopPostProfileId() {\n dispatch({\n type: \"REMOVE_PROFILES_FROM_COMPARE\",\n payload: [],\n });\n dispatch({\n type: \"TOP_POST_ID\",\n payload: selectProfile,\n });\n history.push(\"/content-newsfeed\");\n }\n\n return (\n \n
\n
\n \n \n \n \n \n \n \n \n \n generatePdfDocument()}> \"pdf Export pdf \n screenshotPage()}>\"png Export png \n \n {\" \"}\n {\n //send download activity report function\n createUserDownloadActivity('excel');\n }}\n />{\" \"}\n \n \n \n \n \n \n\n {addedProfileListLoading ? :\n (addedProfileList && addedProfileList.length !== 0) ?\n <>\n \n \n {addedProfileList.length !== 0 ? (\n
\n {\n fanGrowthChart(selectProfiles, dateFilter);\n }}\n />\n {fanGrowthLoader && }\n
\n ) : (\n
\n
\n \n Top Followers\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n
\n \n {addedProfileList.length != 0 ? (\n
\n {\n interactionsChart(\n selectProfiles,\n interactionDateFilter,\n kPerFans\n );\n }}\n switchShow={true}\n />\n\n {interactionLoader && }\n
\n ) : (\n
\n
\n \n Interactions\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n
\n
\n\n \n \n
\n
\n \n Top posts\n \n \n
\n \n {profileTopPostLoading ? (\n
\n
\n \n
\n
\n ) : feeds && feeds.length !== 0 ? (\n feeds.map((topPost) => (\n \n
\n \n
\n
\n ))\n ) : (\n
\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n
\n {feeds && feeds.length !== 0 && (\n
\n {\" \"}\n {page_limit === 20 || pages === 1 ? (\n \n Show all\n \n ) : (\n \n Load more posts\n \n )}{\" \"}\n
\n )}\n
\n
\n
\n \n :\n No records found\n }\n
\n
\n
\n {showDownloadToast && (\n \n )}\n
\n );\n};\n\nexport default withRouter(DashboardPage);\n","export const Styles = (theme) => ({\n main: {\n padding: (props) => (props.sm ? \"15px 0px\" : \"15px 40px\"),\n marginTop: 75,\n minHeight: \"84vh\"\n },\n header: {\n background: \"red\",\n },\n titleOverview: {\n margin: \"30px 0\",\n },\n contentNewsfeed: {\n display: \"flex\",\n alignItems: \"center\",\n },\n contentNewsfeedImg: {\n height: 70,\n objectFit: \"contain\",\n },\n contentNewsfeedTitle: {\n marginLeft: 20,\n fontSize: 32,\n marginBottom: 0,\n fontWeight: \"bold\",\n },\n charts: {\n marginTop: 30,\n minHeight: 350,\n },\n growthChart: {\n position: \"relative\",\n },\n loader: {\n background: \"rgba(255, 255, 255, 0.6)\",\n },\n graphTitleSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 15,\n alignItems: \"flex-end\",\n },\n chartFallBackContainer: {\n height: \"calc(100% - 47px)\",\n },\n graphTitle: {\n fontSize: 20,\n letterSpacing: 0,\n fontWeight: 600,\n },\n chartFallBack: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n background: \"#fff\",\n border: \"1px solid #bdbdbd\",\n minHeight: 350,\n borderRadius: 4,\n },\n loadMoreButtonDivDashboard: {\n display: \"flex\",\n justifyContent: \"center\",\n marginTop: 20,\n },\n topPostHeadSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginBottom: 20,\n },\n \n subTitle: {\n fontSize: (props) => (props.xs ? 16 : 22),\n fontWeight: 600,\n },\n topPost: {\n width: \"100%\",\n position: \"relative\",\n margin: 10,\n },\n downloadBtnImg: {\n width: 20,\n height: 20,\n marginRight: 5,\n },\n});\n","import React from 'react';\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\nimport Avatar from '@material-ui/core/Avatar';\nimport Chip from '@material-ui/core/Chip';\nimport FaceIcon from '@material-ui/icons/Face';\nimport DoneIcon from '@material-ui/icons/Done';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n justifyContent: 'center',\n flexWrap: 'wrap',\n '& > *': {\n margin: theme.spacing(0.5),\n },\n },\n}));\n/* styled component starts */\nconst StyledChip = withStyles({\n root: {\n backgroundColor: \"#fff8de\",\n border: \"1px solid #E0E0E0\",\n },\n label: {\n fontSize: 15,\n color: \"#323132\",\n fontWeight: (props) => props.bold ? 600 : \"normal\"\n }\n })(Chip);\n\nconst ChipComp = ({chipData, setChipData, setApiResponse}) => {\n const classes = useStyles();\n\n const handleDelete = (chipToDelete) => () => {\n setChipData((chips) => chips.filter((chip) => chip.label !== chipToDelete.label));\n if( setApiResponse) {\n setApiResponse({})\n }\n };\n\n return (\n
\n {chipData.map((data)=> {\n return (\n \n\n )\n })}\n \n {/* \n }\n label=\"The Hunter and Barrel\"\n onDelete={handleDelete}\n /> */}\n \n
\n );\n}\n\nexport default ChipComp","import React from \"react\";\nimport {\n TextField,\n makeStyles,\n withStyles,\n InputAdornment,\n} from \"@material-ui/core\";\nimport { OutlinedInput } from \"@material-ui/core\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\nconst StyledTextField = withStyles({\n root: {\n height: 44,\n borderColor: \"#BDBDBD\",\n backgroundColor: props => props.backgroundColor ? \"#fff\" : \"transparent\",\n fontSize: 13,\n borderRadius: (props) => (props.radius == true ? \"4px 4px 0px 0px\" : \"4px 4px 4px 4px\"),\n color: \"#323132\",\n \"& .MuiInput-underline\": {\n \"&:before\": {\n borderBottom: 0,\n },\n },\n \"&.Mui-focused\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#BDBDBD\",\n borderWidth: 1,\n },\n },\n \"&:hover\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#BDBDBD\",\n },\n },\n },\n input: {\n padding: \"12px 10px\",\n \"&::placeholder\": {\n color: \"#BDBDBD\",\n fontSize: 13,\n fontFamily: \"Poppins, sans-serif \",\n },\n },\n notchedOutline: {\n border: \"1px solid #BDBDBD\",\n },\n})(OutlinedInput);\n\nconst TextInput = ({\n title,\n type,\n error,\n value, \n name,\n helperText,\n onChange,\n label,\n placeholder,\n radius,\n closeBtn,\n onClick,\n backgroundColor,\n onKeyPress,\n suggestion,\n disable\n}) => {\n return (\n \n \n \n }\n endAdornment={\n closeBtn ? \n \n : \"\"\n }\n disabled={disable}\n />\n );\n};\n\nexport default TextInput;\n","import React, { useState, useEffect } from \"react\";\nimport {\n Document,\n Page,\n Text,\n View,\n StyleSheet,\n PDFDownloadLink,\n Image,\n Link,\n Canvas,\n Font,\n pdf,\n} from \"@react-pdf/renderer\";\nimport FacebookRoundLogo from \"../../assets/images/facebook.png\";\nimport InstagramLogo from \"../../assets/images/instagram.png\";\n\nimport domtoimage from \"dom-to-image\";\nimport defaultLogo from \"../../assets/images/msvfooterLogo.png\";\nimport {\n formatImage,\n numbersFormat,\n totalEngagementPerKFans,\n} from \"../../Functions\";\nimport fbLogo from \"../../assets/images/facebook.png\";\nimport PoppinsFont from \"../../assets/fonts/Poppins-Medium.ttf\";\nimport cameraIcon from \"../../assets/images/cameraIcon.png\";\nimport videoIcon from \"../../assets/images/videoIcon.png\";\nimport commentIcon from \"../../assets/images/commentIcon.png\";\nimport linkIcon from \"../../assets/images/linkIcon.png\";\nimport photoAlbumIcon from \"../../assets/images/photoAlbumIcon.png\";\nimport * as moment from \"moment-timezone\";\nimport { PdfTopPostComponent } from \"Pages/DashboardPage/PdfComponent/PdfTopPostComponent\";\n\n//Registering font for PDF\n\nFont.register({ family: \"Poppins\", src: PoppinsFont });\n\nconst ContentNewsFeedPDF = (props) => {\n const {\n activeSocialMediaType,\n addedProfileList,\n profile_feeds,\n page_fan_count,\n selectedProfilesList,\n topFilterData,\n postType,\n keyWords,\n pageNumber,\n totalPages,\n user,\n } = props;\n let subdomain = user.CustomerSubdomain.subdomain;\n const stylesPdf = StyleSheet.create({\n profileImg: {\n height: 30,\n width: 30,\n border: \"1px solid #D5DDE0\",\n borderRadius: 5,\n },\n profileImgSelected: {\n height: 20,\n width: 20,\n border: \"1px solid #D5DDE0\",\n borderRadius: \"50%\",\n },\n page: {\n backgroundColor: \"#f5f5f5\",\n padding: 15,\n fontFamily: \"Poppins\",\n },\n graphPage: {\n backgroundColor: \"#f5f5f5\",\n padding: 30,\n fontFamily: \"Poppins\",\n },\n postsPage: {\n backgroundColor: \"#f5f5f5\",\n padding: 30,\n },\n\n section: {\n alignSelf: \"center\",\n marginTop: 20,\n alignItems: \"center\",\n marginBottom: 40,\n },\n logo: {\n height: 40,\n width: 40,\n backgroundColor: \"#E4E4E4\",\n alignSelf: \"center\",\n borderRadius: \"50%\",\n },\n graph: {\n height: 180,\n marginTop: 20,\n backgroundColor: \"#ffffff\",\n },\n posts: {\n width: 120,\n height: 200,\n marginTop: 20,\n marginRight: 10,\n },\n twoImageContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n postsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n sectionTitle: {\n fontSize: 15,\n fontFamily: \"Poppins\",\n fontWeight: \"bold\",\n marginBottom: \"15px\",\n paddingBottom: 4,\n borderBottom: \"1px solid #D5DDE0\",\n },\n pageName: {\n alignSelf: \"center\",\n fontSize: 15,\n fontFamily: \"Poppins\",\n fontWeight: 400,\n marginTop: \"10px\",\n paddingBottom: 4,\n borderBottom: \"1px solid #D5DDE0\",\n },\n graphTitle: {\n fontSize: 10,\n fontFamily: \"Poppins\",\n },\n likeCommentCardSection: {\n padding: \"0px 40px\",\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n likeCommentCard: {\n width: 180,\n height: 70,\n marginBottom: 10,\n },\n socialMediaCardLabels: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n width: 200,\n height: 100,\n marginBottom: 10,\n padding: \"10px 10px 10px 10px\",\n border: \"1px solid #D5DDE0\",\n borderRadius: \"3px\",\n fontFamily: \"Poppins\",\n backgroundColor: \"#ffffff\",\n },\n socialMediaCardLabelTitleText: {\n fontSize: \"10px\",\n },\n socialMediaCardLabelFilterText: {\n fontSize: \"8px\",\n },\n socialMediaCardLabelIcon: {\n width: 15,\n height: 15,\n marginLeft: \"auto\",\n },\n socialMediaPostsCard: {\n fontFamily: \"Poppins\",\n width: 200,\n padding: 8,\n margin: 10,\n border: \"1px solid #D5DDE0\",\n backgroundColor: \"#ffffff\",\n },\n socialMediaCardTopSection: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n marginBottom: 10,\n },\n socialMediaPostPageTitle: {\n fontSize: 10,\n },\n socialMediaPostDate: {\n fontSize: 8,\n },\n socialMediaPostMidSection: {\n fontSize: 9,\n overflow: \"hidden\",\n },\n socialMediaCardLink: {\n color: \"#0645AD\",\n marginBottom: 8,\n marginTop: 8,\n },\n socialMediaCardImage: {\n width: 180,\n height: 180,\n borderRadius: \"5\",\n },\n socialMediaCardImageContainer: {\n width: 180,\n height: 180,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n overflow: \"hidden\",\n },\n socialMediaPostBottomSection: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n socialMediaCardPageLogo: {\n width: 20,\n height: 20,\n borderRadius: \"50%\",\n marginRight: 5,\n },\n socialMediaPostCardEngagementsTitle: {\n fontSize: \"10px\",\n color: \"rgb(117, 117, 117)\",\n marginBottom: 2,\n },\n socialMediaPostCardEngagementsNumber: {\n fontSize: \"8px\",\n fontWeight: 600,\n },\n socialMediaPostCardEngagementsNumberRight: {\n fontSize: \"8px\",\n fontWeight: 600,\n marginLeft: \"auto\",\n },\n engagementRow: {\n display: \"flex\",\n justifyContent: \"space-between\",\n flexDirection: \"row\",\n marginBottom: 8,\n marginTop: 5,\n },\n engagementColumn: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n interactionsper1k: {\n float: \"right\",\n fontSize: 8,\n marginLeft: \"auto\",\n },\n totalEngagements: {\n marginTop: 8,\n display: \"flex\",\n flexDirection: \"row\",\n },\n socialMediaPostSocialLogo: {\n width: 15,\n height: 15,\n },\n socialMainLogo: {\n width: 25,\n height: 25,\n marginRight: 10,\n },\n overviewTitle: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n fontFamily: \"Poppins\",\n },\n metricText: {\n fontSize: 10,\n fontWeight: 400,\n lineHeight: \"1.5 px\",\n marginBottom: 8,\n },\n keywordsDisplay: {\n fontSize: 10,\n marginBottom: 20,\n },\n feedIcon: {\n width: 12,\n height: 12\n }\n });\n\n let SelectedProfileDetails = addedProfileList.filter((data) =>\n selectedProfilesList.includes(data.id)\n );\n\n\n return (\n \n \n \n {activeSocialMediaType === \"instagram\" ? (\n \n \n Content Newsfeed\n \n ) : (\n \n \n Content Newsfeed\n \n )}\n \n \n \n \n Selected Pages\n \n \n {SelectedProfileDetails.map((profile) => (\n \n \n \n {profile.page_name} \n \n @{profile.username}\n \n \n \n ))}\n \n {keyWords.length > 0 && (\n \n \n KeyWords Selected:\n \n \n {keyWords.map((value) => {\n return (\n {value.label}, \n );\n })}\n \n \n )}\n \n \n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n\n\n \n \n {profile_feeds.length > 0 && (\n \n \n {\" \"}\n Posts Showing page {pageNumber} of {totalPages}{\" \"}\n \n \n {profile_feeds && profile_feeds.length !== 0\n ? profile_feeds.map((post, index) => )\n : \"\"}\n \n \n )}\n \n\n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n\n {/* Metrics Page */}\n \n \n \n Metrics Overview\n \n \n \n 1. Search Keywords \n \n\n \n \n These are the keywords that you use to filter the posts. If one\n of your keywords is 'Football'. Posts related to football are\n shown.\n \n \n \n \n \n 2. Post Type \n \n\n \n Post type maybe all, photo, video, album, status etc.\n \n \n \n \n 3. Page Numbers (Total, Current Page) \n \n\n \n \n The page you are currently on is rendered in PDF, posts title\n shows which page you are on and total number of pages.\n \n \n \n \n \n \n );\n};\n\nexport default ContentNewsFeedPDF;\n","import { Typography } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport ReactExport from \"react-data-export\";\nimport { useSelector } from \"react-redux\";\nimport { totalEngagementPerKFans } from \"../../Functions\";\nconst ExcelFile = ReactExport.ExcelFile;\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\n\nexport const ContentNewsFeedDataExport = ({\n timeRange, \n showDownloadSnackBar,\n xlsxLogo,\n selectProfiles,\n selectedPostTypes\n}) => {\n\n const [profileTopPostCount, setProfileTopPostCount] = useState([]);\n const [profileTopPostExcellData, setProfileTopPostExcellData] = useState([]);\n\n const {\n contentNewsFeed,\n activeSocialMediaType,\n selectedProfilesListToComapre,\n customDateRangeRed,\n addedProfileList,\n chipData\n\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n const selectedData = addedProfileList.filter(list => selectProfiles.includes(list.id))\n\n useEffect(() => {\n \n const { feeds, pages } =\n contentNewsFeed ? contentNewsFeed : \"\";\n setProfileTopPostCount([]);\n if(feeds) {\n for (let i = 0; i < feeds.length; ++i) {\n if (feeds[i]) {\n let data = [\n { value: i },\n { value: feeds[i].feed_created_date },\n { value: feeds[i].profile_info.page_name },\n { value: feeds[i].feed_link },\n { value: feeds[i].feed_type },\n { value: feeds[i].caption },\n // { value: feeds[i].attachment },\n { value: feeds[i].feed_comment_count },\n { value: feeds[i].feed_like_count },\n { value: feeds[i].feed_share_count },\n { value: feeds[i].total_engagement },\n {\n value:feeds[i].avg_interaction_per_1k_fans\n },\n ];\n setProfileTopPostCount((prevState) => [...prevState, data]);\n }\n }\n }\n \n }, [contentNewsFeed,]);\n\n useEffect(() => {\n if (profileTopPostCount) {\n setProfileTopPostExcellData([\n {\n columns: [\n { title: \"#\" },\n { title: \"Date\" },\n { title: \"Page name\" },\n { title: \"URL\" },\n { title: \"Post type\" },\n { title: \"Caption\" },\n // { title: \"Post URL\" },\n { title: \"Comment\" },\n { title: \"Like\" },\n { title: \"Share\" },\n { title: \"Total engagement\" },\n { title: \"Engagement per 1k fans\" },\n ],\n data: profileTopPostCount,\n },\n ]);\n }\n }, [profileTopPostCount]);\n\n\n const overviewDataSet = [\n {\n columns: [\n { title: \"Overview\", style: { font: { bold: true } } },\n { title: \"\", style: { alignment: { vertical: \"center\" } } },\n {\n title: `${activeSocialMediaType} overview`,\n style: { alignment: { vertical: \"center\" } },\n },\n ],\n data: [\n [{ value: \" \" }, { value: \"\" }, { value: \"\" }],\n [\n { value: \"Time Range \", style: { font: { bold: true } } },\n { value: \"\" },\n { value: `${new Date(customDateRangeRed[0].startDate).toDateString()} to ${new Date(customDateRangeRed[0].endDate).toDateString()} ` },\n ],\n [{ value: \" \" }, { value: \"\" }, { value: \"\" }],\n [\n { value: \"pages name\", style: { font: { bold: true } } },\n { value: \" \" },\n { value: `${ selectedData ? selectedData.map(data => data.name) : \"\"}` },\n ],\n [\n { value: \"search keywords\", style: { font: { bold: true } } },\n { value: \" \" },\n { value: `${ chipData ? chipData.map(data => data.label) : \"\"}` },\n ],\n [\n { value: \"feed types\", style: { font: { bold: true } } },\n { value: \" \" },\n { value: `${ selectedPostTypes ? selectedPostTypes.map(data => data) : \"\"}` },\n ],\n ],\n },\n ];\n \n\n return (\n
\n {showDownloadSnackBar(true) \n setTimeout(()=> {\n showDownloadSnackBar(false)\n }, 2000)\n }}\n style={{ fontSize: 15, cursor: \"pointer\" }}>\n \"xlsx Export xlsx\n \n }\n >\n \n \n \n \n
\n );\n};\n","export default __webpack_public_path__ + \"static/media/noResultFound.9547d61c.png\";","import React, { useEffect } from \"react\";\nimport { makeStyles, useTheme, withStyles } from \"@material-ui/core/styles\";\nimport Button from \"@material-ui/core/Button\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport MuiDialogTitle from \"@material-ui/core/DialogTitle\";\nimport MuiDialogContent from \"@material-ui/core/DialogContent\";\nimport MuiDialogActions from \"@material-ui/core/DialogActions\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Paper from \"@material-ui/core/Paper\";\nimport AddCircleOutlineIcon from \"@material-ui/icons/AddCircleOutline\";\nimport RemoveCircleOutlineOutlinedIcon from \"@material-ui/icons/RemoveCircleOutlineOutlined\";\nimport Spinner from \"../Spinner\";\nimport {\n Avatar,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n getAddedProfileList,\n selectProfilesToComapre,\n} from \"../../store/actions/SocialMediaProfileAction\";\nimport noResultFoundImg from \"../../assets/images/noResultFound.png\";\nimport * as constant from \"../../utlis/constant\";\nimport { CustomButton } from \"../CustomButton/CustomButton\";\nimport TextInput from \"../TextInput/TextInput\";\nimport { formatImage, formatNumber } from \"../../Functions\";\n\nconst styles = (theme) => ({\n root: {\n margin: 0,\n marginBottom: 30,\n display: \"flex\",\n justifyContent: \"space-between\",\n padding: 0,\n },\n});\n\n\n/* styled component starts */\n/* styled buuton for materail ui dialog component */\nconst StyledDialog = withStyles({\n paper: {\n width: (props) => (props.view ? \"100%\" : \"46%\"),\n padding: (props) => (props.xs ? 20 : \"26px 40px 37px 40px\"),\n height: \"auto\",\n margin: 0,\n boxShadow: \"none\"\n },\n})(Dialog);\n\n/* styled component for materail ui dialogTitle component */\nconst DialogTitle = withStyles(styles)((props) => {\n const useStyles = makeStyles((theme) => ({\n root: {\n marginBottom: 10,\n display: \"flex\",\n justifyContent: \"space-between\",\n padding: 0,\n },\n }));\n const { children, classes, onClose, ...other } = props;\n const classes1 = useStyles();\n return (\n \n \n {children}\n \n {onClose ? (\n \n \n \n ) : null}\n \n );\n});\n\n/* styled component for materail ui dialogContent component */\nconst DialogContent = withStyles((theme) => ({\n root: {\n border: \"none\",\n marginTop: 10,\n padding: 0,\n height: 335,\n position: \"relative\",\n },\n}))(MuiDialogContent);\n\n/* styled component for materail ui dialogAction component */\nconst DialogActions = withStyles((theme) => ({\n root: {\n margin: 0,\n padding: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"center\",\n },\n}))(MuiDialogActions);\n\n/* styled component for materail ui button component */\nconst StyledButton = withStyles({\n root: {\n border: props => props.profile ? \"1px solid #BDBDBD\" : \"none\",\n height: \"100%\",\n \"&:hover\": {\n backgroundColor: props => props.profile ? \"#FBE281\" : \"transparent\",\n border: props => props.profile ? \"1px solid #fff\" : \"none\",\n },\n },\n label: {\n color: \"#323132\",\n },\n})(Button);\n\n/* styled component ends */\n\nexport default function AddProfileComaprisonModal({profile}) {\n\n const dispatch = useDispatch();\n const [mobileView, setMobileView] = React.useState(false);\n React.useEffect(() => {\n const setResponsiveness = () => {\n return window.innerWidth < 1024\n ? setMobileView((prevState) => ({ ...prevState, mobileView: true }))\n : setMobileView((prevState) => ({ ...prevState, mobileView: false }));\n };\n\n setResponsiveness();\n\n window.addEventListener(\"resize\", () => setResponsiveness());\n }, []);\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const [open, setOpen] = React.useState(false);\n const [inputCloseBtn, setInputCloseBtn] = React.useState(false);\n const [searchQuery, setSearchQuery] = React.useState(\"\");\n const [searchLoading, setSearchLoading] = React.useState(false);\n const [profileListToAdd, setProfileListToAdd] = React.useState([]);\n const {\n selectedProfilesListToComapre,\n addedProfileList,\n addedProfileListLoading,\n activeSocialMediaType\n } = useSelector((state) => state.socialMediaProfileListReducer);\n const { user } = useSelector((state) => state.auth);\nlet subdomain = user.CustomerSubdomain.subdomain\n\n const handleClickOpen = () => {\n setOpen(true);\n \n };\n const handleClose = () => {\n setOpen(false);\n setSearchQuery(\"\");\n setProfileListToAdd([]); /* setting local state to empty after submitting */\n setInputCloseBtn(false)\n };\n\n\n /* searching socail media profiles list */\n const searchProfilesList = async (event) => {\n event.preventDefault();\n if(event) {\n setSearchLoading(true);\n await setSearchQuery(\n event.target.value\n ); /* setting state value in local component */\n \n await dispatch(\n getAddedProfileList(event.target.value)\n ); /* dispatching actions for api calls */\n \n setSearchLoading(false);\n setInputCloseBtn(false)\n }\n };\n \n /* adding profile list in local state component*/\n const handleAddProfile = (data) => {\n setProfileListToAdd((prevState) => [...prevState, data]);\n };\n\n /* deleting profile list from local state component*/\n const handleDelete = (data) => {\n const deleteItem = profileListToAdd.filter(\n (profiles) => profiles.id !== data.id\n ); /* deleting profiles */\n setProfileListToAdd(deleteItem);\n };\n\n /* adding list of profiles */\n const addProfilesToCompare = (e) => {\n e.preventDefault();\n dispatch(\n selectProfilesToComapre(profileListToAdd)\n ); /* dispatching actions for api call */\n setOpen(false);\n setSearchQuery(\"\");\n setProfileListToAdd([]); /* setting local state to empty after submitting */\n };\n /* text field close btn on click handling */\n const closeBtnClick = async() => {\n setSearchQuery(\"\");\n await dispatch(\n getAddedProfileList(\"\")\n );\n };\n\n useEffect(async() => {\n \n setSearchQuery(\"\");\n await dispatch(\n getAddedProfileList(\"\")\n );\n \n }, [open,])\n\n return (\n <>\n }\n disabled={user.role === constant.CUSTOMER_VIEWER_NAME ? true : false}\n profile={profile}\n >\n Add Profile\n \n \n \n \n {\" \"}\n Add Profile{\" \"}\n \n \n {/* \n \n \n ),\n }}\n style={{ height: \"35px\" }}\n /> */}\n \n \n \n {\n addedProfileListLoading ? (\n \n ) /* showing loader if the loading value is true */\n : !addedProfileListLoading &&\n searchQuery &&\n addedProfileList.length === 0 ? (\n \n \"results\n Sorry no result found\n \n ) : (\n \n \n \n \n {\n /* displaying data as soon the search query is true and loading is false */\n \n addedProfileList &&\n addedProfileList.length !== 0 &&\n addedProfileList.map((profilesList) => (\n \n profile.id ===\n profilesList.id\n )\n ? \"#FFF8DE\"\n : \"\",\n }}\n >\n \n
\n {\" \"}\n {\" \"}\n \n {\" \"}\n {profilesList.name}{\" \"}\n \n
\n \n \n {\" \"}\n
\n \n {\" \"}\n Total Fans{\" \"}\n {\" \"}\n \n {\" \"}\n {formatNumber(profilesList.fan_count)}{\" \"}\n {\" \"}\n
\n \n \n {\n /* */\n selectedProfilesListToComapre.find(\n (profile) =>\n profile.id ===\n profilesList.id\n ) ||\n profileListToAdd.find(\n (profile) =>\n profile.id ===\n profilesList.id\n ) ? (\n handleDelete(profilesList)}\n disabled={\n selectedProfilesListToComapre.find(\n (addedprofile) =>\n parseInt(\n addedprofile.id\n ) === profilesList.id\n )\n ? true\n : false\n }\n >\n {selectedProfilesListToComapre.find(\n (profile) =>\n profile.id ===\n profilesList.id\n ) ? (\n \n Already Added\n \n ) : (\n \n )}\n \n ) : (\n handleAddProfile(profilesList)}\n >\n \n \n )\n }\n \n \n ))\n }\n
\n
\n
\n )\n }\n {\n }\n
\n \n \n Done\n \n \n \n \n \n );\n}\n","import {\n Grid,\n makeStyles,\n CardMedia,\n Typography,\n withStyles,\n MenuItem,\n Avatar,\n InputLabel,\n Select,\n useMediaQuery,\n FormControl,\n useTheme,\n Checkbox,\n Card,\n ClickAwayListener,\n Container,\n} from \"@material-ui/core\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport React from \"react\";\nimport Layout from \"../../Components/Layout\";\nimport PageTitle from \"../../Components/PageTitle/PageTitle\";\nimport SocialButton from \"../../Components/SocialButton\";\nimport FilterDays from \"../../Components/FilterDays\";\nimport { Styles } from \"./Styles\";\nimport ChipComp from \"../../Components/ChipComponent/ChipComp\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n getAddedProfileList,\n getContentNewsFeed,\n clearContentNewsFeed,\n} from \"../../store/actions/SocialMediaProfileAction\";\nimport TextInput from \"../../Components/TextInput/TextInput\";\nimport SocialMediaPostsCard from \"../../Components/SocialMediaPostsCard/SocialMediaPostsCard\";\nimport Spinner from \"../../Components/Spinner\";\nimport ReactPaginate from \"react-paginate\";\nimport { saveAs } from \"file-saver\";\nimport { SnackBarDownload } from \"../../Components/SnackBar/DownloadSnackBar\";\nimport { pdf } from \"@react-pdf/renderer\";\nimport \"./paginationStyles.css\";\nimport DownloadButton from \"../../Components/DownloadButton/DownloadButton\";\nimport ContentNewsFeedPDF from \"./ContentNewsFeedPDF\";\nimport { PDFlogo, PNGlogo, XLSXlogo } from \"../../Components/logosandicons\";\nimport domtoimage from \"dom-to-image\";\nimport { ContentNewsFeedDataExport } from \"./ContentNewsFeedDataExport\";\nimport { formatImage } from \"../../Functions\";\nimport AddProfileComaprisonModal from \"../../Components/AddProfileComparisonModal/AddProfileComparisonModal\";\n\nimport { NO_DATA_AVAILABLE } from \"../../utlis/constant\";\nimport { param } from \"jquery\";\nimport { createUserReportDownloadActivity } from \"../../store/actions/UserActivityAction\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst StyledSelect = withStyles({\n root: {\n padding: 8,\n border: \"1px solid #BDBDBD\",\n height: \"24px\",\n },\n\n})(Select);\n\nconst HtmlTooltip = withStyles((theme) => ({\n tooltip: {\n backgroundColor: \"#f5f5f9\",\n color: \"rgba(0, 0, 0, 0.87)\",\n maxWidth: 220,\n fontSize: theme.typography.pxToRem(12),\n border: \"1px solid #dadde9\",\n },\n}))(Tooltip);\n\nconst StyleCardAddprofile = withStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#FFF8DE !important\",\n },\n },\n})(Card); //card add profile button custom style\n\n//Styled menu\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n})(MenuItem);\n\nconst StyledInputLabel = withStyles({\n root: {\n fontSize: 20,\n fontWeight: 600,\n color: \"#000000 !important\",\n },\n outlined: {\n transform: \"translate(10px, 12px) scale(0.8) !important\",\n },\n focused: {\n color: \"#000000 !important\",\n opacity: \"1 !important\",\n },\n})(InputLabel);\n\n//Multiple Select\n\nconst ContentNewsFeedPage = () => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n const lg = useMediaQuery(theme.breakpoints.down(\"lg\"));\n const dispatch = useDispatch();\n const [selectProfile, setSelectProfile] = React.useState(\"\");\n\n const {\n activeSocialMediaType,\n addedProfileList,\n addedProfileListLoading,\n contentNewsFeedLoading,\n contentNewsFeed,\n selectedProfilesListToComapre,\n topPostProfileID,\n customDateRangeRed,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n const { user } = useSelector((state) => state.auth);\n\n let postTypes = [\"All Types\", \"Photo\", \"Video\", \"Album\", \"Link\", \"Status\"];\n if (activeSocialMediaType === \"instagram\") {\n postTypes = [\"All Types\", \"Image\", \"Video\", \"Sidecar\"];\n }\n let sortOptions = [\n { name: \"Most recent\", value: \"mostrecent\" },\n { name: \"Top reactions\", value: \"feed_reaction_count\" },\n { name: \"Top comments\", value: \"feed_comment_count\" },\n { name: \"Top shares\", value: \"feed_share_count\" },\n { name: \"Engagements\", value: \"total_engagement\" },\n { name: \"Engagements per 1k fans\", value: \"engagement_per_1k_fans\" },\n ];\n if (activeSocialMediaType === \"instagram\") {\n sortOptions = [\n { name: \"Most recent\", value: \"mostrecent\" },\n { name: \"Top likes\", value: \"feed_like_count\" },\n { name: \"Top comments\", value: \"feed_comment_count\" },\n { name: \"Engagements\", value: \"total_engagement\" },\n { name: \"Engagements per 1k fans\", value: \"engagement_per_1k_fans\" },\n ];\n }\n\n let subdomain = user.CustomerSubdomain.subdomain;\n\n const { feeds, pages, total, page } = contentNewsFeed ? contentNewsFeed : \"\";\n const comparisonSelectedDataId = selectedProfilesListToComapre.map(\n (profiles) => profiles.id\n );\n const addedProfilesDataId = addedProfileList.map((profiles) => profiles.id);\n\n const [open, setOpen] = React.useState(false);\n const [openPost, setOpenPosts] = React.useState(false);\n\n const [showDownloadToast, setShowDownloadToast] = React.useState(false);\n\n //For Selecting Multiple Profiles ---------------------------------------------\n\n const [selectProfiles, setSelectProfiles] = React.useState([]);\n\n const [selectedPostTypes, setSelectedPostTypes] = React.useState(postTypes);\n\n const [checkedValue, setCheckedValue] = React.useState([]);\n\n //Content News Feed Query Params\n\n let [contentQueryParams, setContentQueryParams] = React.useState({\n searchData: [],\n searchKeyWord: \"\",\n postTypes: selectedPostTypes,\n selectedProfiles: [],\n currentPage: 1,\n sortType: sortOptions[0].value,\n });\n\n let [searchKeyWord, setSearchKeyWord] = React.useState(\"\");\n\n const [chipData, setChipData] = React.useState([]);\n\n //functions//\n\n const selectSortHandleChange = (e) => {\n setContentQueryParams({ ...contentQueryParams, sortType: e.target.value });\n };\n\n /* getting added profile list on component did mount */\n React.useEffect(() => {\n dispatch(clearContentNewsFeed());\n setSelectedPostTypes(postTypes);\n dispatch(getAddedProfileList());\n }, [activeSocialMediaType]);\n\n React.useEffect(() => {\n if (addedProfileList && addedProfileList.length !== 0) {\n if (\n selectedProfilesListToComapre &&\n selectedProfilesListToComapre.length === 0\n ) {\n setCheckedValue((prevState) => [\n ...prevState,\n [addedProfilesDataId[0]],\n ]);\n\n setSelectProfiles([addedProfilesDataId[0]]);\n }\n if (comparisonSelectedDataId && comparisonSelectedDataId.length !== 0) {\n setCheckedValue((prevState) => [\n ...prevState,\n comparisonSelectedDataId,\n ]);\n\n setSelectProfiles(comparisonSelectedDataId);\n }\n if (topPostProfileID && comparisonSelectedDataId.length === 0) {\n setCheckedValue((prevState) => [...prevState, [topPostProfileID]]);\n\n setSelectProfiles([topPostProfileID]);\n }\n }\n }, [addedProfileList, selectedProfilesListToComapre, topPostProfileID]);\n\n //setting values\n\n React.useEffect(() => {\n if (selectProfiles && selectProfiles.length !== 0) {\n setContentQueryParams({\n ...contentQueryParams,\n selectedProfiles: selectProfiles,\n });\n }\n }, [selectProfiles]);\n\n React.useEffect(() => {\n if (selectedPostTypes && selectedPostTypes.length !== 0) {\n setContentQueryParams({\n ...contentQueryParams,\n postTypes: selectedPostTypes,\n });\n }\n }, [selectedPostTypes]);\n\n React.useEffect(() => {\n if (chipData) {\n setContentQueryParams({\n ...contentQueryParams,\n searchData: chipData,\n });\n }\n }, [chipData]);\n\n React.useEffect(() => {\n if (\n addedProfileList &&\n addedProfileList.length !== 0 &&\n selectProfiles &&\n selectProfiles.length !== 0 &&\n !addedProfileListLoading\n ) {\n dispatch(getContentNewsFeed(contentQueryParams));\n }\n }, [contentQueryParams, customDateRangeRed]);\n\n //handle change of select profile\n\n //Content Feed ---------------------------------------------------------------\n\n //Handle search function\n\n const handleSearchFunction = (event) => {\n setChipData([\n { key: Math.floor(Math.random() * 100 + 1), label: event.target.value },\n ...chipData,\n ]);\n setSearchKeyWord(\"\");\n };\n\n const menuProps = {\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\",\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\",\n },\n getContentAnchorEl: null,\n autoFocus: false,\n };\n\n //For updating array of selected Posts\n\n const updateSelectedPosts = (value, checked) => {\n setOpenPosts(true);\n if (value === \"All Types\") {\n setSelectedPostTypes(checked ? postTypes : []);\n } else {\n const postTypesWithoutAll = postTypes.filter(\n (selectedPost) => selectedPost !== \"All Types\"\n );\n let newPostTypes = checked\n ? [...selectedPostTypes, value]\n : selectedPostTypes.filter((selectedPost) => selectedPost !== value);\n newPostTypes = newPostTypes.filter(\n (selectedPost) => selectedPost !== \"All Types\"\n );\n if (postTypesWithoutAll.length === newPostTypes.length) {\n newPostTypes = [...newPostTypes, \"All Types\"];\n }\n setSelectedPostTypes(newPostTypes);\n }\n };\n\n const updateSelectedProfiles = (id) => {\n /* data fetched through api call*/\n // if profile is selected, Unselect it and update state\n setOpen(true);\n if (selectProfiles.includes(id)) {\n const unselectProfile = selectProfiles.filter(\n (selectProfiles) => selectProfiles !== id\n );\n setSelectProfiles(unselectProfile);\n }\n // if profile is not selected add to state\n else {\n setSelectProfiles((prevState) => [...prevState, id]);\n }\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handlePostsOpen = () => {\n setOpenPosts(true);\n };\n\n const handlePostsClose = () => {\n setOpenPosts(false);\n };\n\n const handleClickAway = () => {\n setOpen(false);\n };\n\n const handleClickAwayPost = () => {\n setOpenPosts(false);\n };\n\n React.useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n //Pagination\n const handlePageChange = (e) => {\n window.scrollTo(0, 0);\n const param = {\n ...contentQueryParams,\n currentPage: e.selected + 1,\n };\n dispatch(getContentNewsFeed(param));\n };\n\n //Function to take screenshot of a webpage and download it.\n function screenshotPage() {\n //send download activity report function\n createUserDownloadActivity(\"screenshot\");\n\n setShowDownloadToast(true);\n setTimeout(() => {\n setShowDownloadToast(false);\n }, 3000);\n var wrapper = document.querySelector(\".contentNewsfeedContainer\");\n\n domtoimage.toBlob(wrapper, { bgcolor: \"#ffffff\" }).then(function (blob) {\n saveAs(blob, `${activeSocialMediaType}-Content Newsfeed.png`);\n });\n }\n\n //send download activity report\n const createUserDownloadActivity = (type) => {\n let profilesForActivityReport = [];\n\n selectProfiles.forEach((f) => {\n const [profilesDetails] = addedProfileList.filter((d) => d.id === f);\n\n if (\n profilesDetails &&\n !profilesForActivityReport.includes(profilesDetails.name)\n ) {\n profilesForActivityReport.push(profilesDetails.name);\n }\n });\n\n dispatch(createUserReportDownloadActivity(profilesForActivityReport, type));\n };\n\n //For Generating PDF\n\n const generatePdfDocument = async () => {\n //send download activity report function\n createUserDownloadActivity(\"pdf\");\n\n setShowDownloadToast(true);\n setTimeout(() => {\n setShowDownloadToast(false);\n }, 3000);\n const blob = await pdf(\n \n ).toBlob();\n saveAs(\n blob,\n `Content NewsFeed-${activeSocialMediaType}-overview Dashboard.pdf`\n );\n };\n\n let SelectedProfileDetails = addedProfileList.filter((data) =>\n contentQueryParams.selectedProfiles.includes(data.id)\n );\n\n const classes = useStyles({ xs });\n\n return (\n \n
\n \n \n
\n
\n \n
\n\n \n \n {selectProfiles.length > 0 ? (\n \n {\" \"}\n Select profiles\n \n ) : (\n \n {\" \"}\n Select profiles\n \n )}\n\n \n {addedProfileList.length > 0 ? (\n addedProfileList.map((addedProfileList) => (\n -1\n ? \"#FFF8DE\"\n : \"transparent\",\n borderBottom: \"1px solid #e0e0e0\",\n }}\n >\n \n \n updateSelectedProfiles(addedProfileList.id)\n }\n checked={\n selectProfiles.indexOf(addedProfileList.id) > -1\n }\n />\n {\" \"}\n \n {\" \"}\n {addedProfileList.name}{\" \"}\n {\" \"}\n
\n \n ))\n ) : (\n \n \n No Data Avialable\n {\" \"}\n \n )}\n \n \n
\n\n \n \n {selectedPostTypes.length === postTypes.length ? (\n \n {\" \"}\n All types\n \n ) : (\n \n {\" \"}\n Post types\n \n )}\n\n \n {postTypes.length > 0 ? (\n postTypes.map((postType) => (\n \n -1\n ? \"#FFF8DE\"\n : \"transparent\",\n borderBottom: \"1px solid #e0e0e0\",\n }}\n >\n \n \n updateSelectedPosts(\n postType,\n e.target.checked\n )\n }\n checked={\n selectedPostTypes.indexOf(postType) > -1\n }\n />\n \n {\" \"}\n {postType}{\" \"}\n {\" \"}\n \n \n \n ))\n ) : (\n \n \n No Data Avialable\n {\" \"}\n \n )}\n \n \n \n\n \n
\n \n
\n
\n \n generatePdfDocument()}>\n {\" \"}\n {\" \"}\n Export pdf{\" \"}\n \n screenshotPage()}>\n {\" \"}\n {\" \"}\n Export png{\" \"}\n \n \n {\" \"}\n {\n //send download activity report function\n createUserDownloadActivity(\"excel\");\n }}\n />{\" \"}\n \n \n
\n \n \n\n \n \n
\n {selectProfiles &&\n selectProfiles.length !== 0 &&\n SelectedProfileDetails &&\n SelectedProfileDetails.map((profileList) => (\n
\n \n \n \n \n \n \n
\n
\n ))}\n \n
\n \n
\n \n {\" \"}\n setSearchKeyWord(e.target.value)}\n onKeyPress={(event) => {\n if (event.key === \"Enter\" && event.target.value !== \"\") {\n handleSearchFunction(event);\n }\n }}\n backgroundColor\n />\n
\n
\n \n {chipData.length > 0 && (\n setChipData([])}\n >\n Clear all\n \n )}\n
\n \n
\n {contentQueryParams.selectedProfiles.length > 0 &&\n selectedPostTypes.length > 0 && (\n
\n \n {selectProfiles.length !== 0\n ? total\n ? `${total} Results`\n : \"\"\n : null}\n {/* {total && total} */}\n \n
\n {selectProfiles.length !== 0 && (\n \n \n \n {sortOptions.map((option) => {\n return (\n \n \n \n {\" \"}\n {option.name}{\" \"}\n {\" \"}\n
\n \n );\n })}\n \n \n )}\n
\n \n )}\n {selectedPostTypes.length !== 0 ? (\n
\n {selectProfiles && selectProfiles.length !== 0 ? (\n \n {addedProfileListLoading || contentNewsFeedLoading ? (\n \n
\n \n
\n
\n ) : !contentNewsFeedLoading && feeds && feeds.length > 0 ? (\n feeds.map((feed) => (\n \n
\n \n
\n
\n ))\n ) : (\n feeds &&\n feeds.length === 0 && (\n
\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )\n )}\n \n ) : (\n
\n
\n \n Select at least one profile to show posts.\n \n
\n
\n )}\n \n ) : (\n
\n
\n
\n \n Select at least one post type to show posts.\n \n
\n
\n
\n )}\n {!sm &&\n contentQueryParams.selectedProfiles.length > 0 &&\n selectedPostTypes.length > 0 &&\n selectProfiles.length > 0 && (\n
\n \"}\n breakLabel={\"...\"}\n breakClassName={\"PaginationLi\"}\n pageCount={Math.ceil(pages)}\n marginPagesDisplayed={2}\n pageRangeDisplayed={5}\n onPageChange={(e) => handlePageChange(e)}\n containerClassName={\"pagination\"}\n subContainerClassName={\"pages pagination\"}\n activeClassName={\"activePaginate\"}\n forcePage={page ? page - 1 : 1}\n />\n
\n )}\n \n \n {showDownloadToast && (\n \n )}\n \n
\n );\n};\n\nexport default ContentNewsFeedPage;\n","export const Styles = (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n tabHeaderComp: {\n marginTop: \"30px\",\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n padding: (props) => (props.xs ? \"0px 10px\" : \"0px 40px\"),\n width: \"100%\",\n alignItems: \"center\"\n },\n\n //Content News feed css\n\n ContentNewsFeedPostsContainer: {\n padding: (props) => (props.xs ? \"15px 10px\" : \"15px 40px\"),\n },\n contentNewsFeedCount: {\n fontSize: \"22px\",\n fontWeight: 600,\n },\n\n selectedPagesDiv: {\n display: \"flex\",\n justifyContent: \"center\",\n marginBottom: 40,\n marginTop: -10,\n },\n dropDown: {\n width: 200,\n \"& .MuiInputBase-root\": {\n height: \"100%\",\n },\n },\n postWrapper: {\n display: \"flex\",\n justifyContent: \"space-between\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n padding: (props) => (props.xs ? \"0px 10px\" : \"0px 40px\"),\n },\n inputWrapper: {\n display: \"flex\",\n justifyContent: \"center\",\n flexDirection: \"column\",\n marginBottom: 50,\n width: (props) => (props.xs ? \"100%\" : \"50%\"),\n },\n chipComp: {\n display: \"flex\",\n justifyContent: \"center\",\n \"& .clearname\": {\n marginLeft: 10,\n alignSelf: \"center\",\n color: \"#0B6670\",\n fontSize: 15,\n fontWeight: \"600\",\n cursor: \"pointer\",\n },\n },\n noData: {\n textAlign: \"center\"\n },\n\n});\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport Button from \"@material-ui/core/Button\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\n\nconst useStyles = makeStyles((theme) => ({\n alertIconContainer: {\n paddingBottom: 0,\n },\n popUpContainer: {\n textAlign: \"center\",\n },\n actionBtn: {\n justifyContent: \"center\",\n marginBottom: 15,\n },\n\n btnItem: {\n margin: \"0 15px\",\n },\n}));\n\nconst Alert = ({\n title,\n open,\n setOpen,\n onConfirm,\n description,\n icon,\n confirmBtn,\n buttonbgcolor,\n closeButton\n}) => {\n const classes = useStyles();\n // console.log(\"show set open modal\", setOpen());\n return (\n setOpen(false)}\n aria-labelledby=\"alert-box\"\n >\n \n {icon}\n \n {title}\n \n {description}\n \n\n \n setOpen(false)}\n variant=\"contained\"\n color=\"default\"\n >\n {closeButton ? closeButton : 'CANCEL'}\n \n {confirmBtn ?\n {\n setOpen(false);\n onConfirm();\n }}\n variant=\"contained\"\n color=\"default\"\n style={{\n backgroundColor: buttonbgcolor,\n }}\n >\n {confirmBtn}\n \n : null\n }\n \n \n );\n};\n\nexport default Alert;\n","import axios from \"axios\";\nimport { toast } from \"react-toastify\";\n\nexport const getPagesInfo = (page =1, page_limit =10) => (dispatch, getState)=> { // get all added profile pages info for superadmin\n dispatch({\n type: \"GET_PAGES_INFO_START\"\n })\n const { activeSocialMediaType } =\n getState().socialMediaProfileListReducer;\n axios.get(`admin-dashboard/${activeSocialMediaType}?page=${page}&page_limit=${page_limit}`)\n .then(response => {\n dispatch({\n type: \"GET_PAGES_INFO\",\n payload: response.data.data\n })\n })\n .catch((error) => { \n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Some thing went wrong\");\n\n }\n })\n}\n\nexport const updatePagesInfo = (id) => (dispatch, getState)=> { // update profile pages info for superadmin\n dispatch({\n type: \"UPDATE_PAGES_INFO_START\"\n })\n const { activeSocialMediaType } =\n getState().socialMediaProfileListReducer;\n axios.put(`social-media/${activeSocialMediaType}/${id}/pull`)\n .then(response => {\n dispatch({\n type: \"UPDATE_PAGES_INFO\"\n })\n })\n .then(() => {\n toast.success(\"Page updated sucessfull\")\n })\n \n .catch((error) => { \n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Something went wrong\");\n\n }\n })\n}\n\nexport const deletePagesInfo = (id) => (dispatch, getState)=> { // delete profile pages info for superadmin\n dispatch({\n type: \"DELETE_PAGES_START\"\n })\n const { activeSocialMediaType } =\n getState().socialMediaProfileListReducer;\n axios.delete(`social-media/profiles/delete/${id}`)\n .then(response => {\n dispatch({\n type: \"DELETE_PAGES\"\n })\n })\n .then(() => {\n toast.success(\"Page removed sucessfull\")\n })\n .then(() => {\n dispatch(getPagesInfo())\n })\n .catch((error) => { \n if (error.response) {\n toast.error(error.response.data.message);\n } else {\n toast.error(\"Something went wrong\");\n\n }\n })\n}","import {\n makeStyles,\n Checkbox,\n Avatar,\n Typography,\n IconButton,\n Tooltip,\n} from \"@material-ui/core\";\nimport React, { useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { formatImage, formatNumber } from \"../../../Functions\";\nimport Spinner from \"../../../Components/Spinner\";\n\nimport RemoveCircleOutlineOutlinedIcon from \"@material-ui/icons/RemoveCircleOutlineOutlined\";\nimport Alert from \"../../../Components/AlertBox/Alert\";\nimport ErrorOutlineIcon from \"@material-ui/icons/ErrorOutline\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport SystemUpdateAltIcon from \"@material-ui/icons/SystemUpdateAlt\";\nimport { deletePagesInfo, updatePagesInfo } from \"../../../store/actions/SuperAdminDashboardAction\";\nimport Moment from 'moment-timezone';\n\nconst useStyles = makeStyles((theme) => ({\n divTabelContent: {\n display: \"flex\",\n width: \"100%\",\n position: \"relative\",\n },\n table1: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 500,\n \"& .table-1-table-data\": {\n minHeight: 65,\n display: \"flex\",\n alignItems: \"center\",\n },\n },\n table2: {\n flexGrow: 2,\n overflowX: \"auto\",\n scrollBehavior: \"smooth\",\n \"& .table-2-table-header-data\": {\n display: \"flex\",\n justifyContent: \"center\",\n },\n\n \"& .table-2-table-data\": {\n padding: 24,\n fontSize: 14,\n paddingLeft: 14,\n display: \"flex\",\n justifyContent: \"center\",\n // minHeight: 65.5\n },\n },\n table3: {\n flexGrow: 3,\n borderLeft: \"1px solid #bdbdbd\",\n position: \"relative\",\n \"& .table-3-table-data\": {\n padding: 22,\n justifyContent: \"center\",\n // minHeight: 66.5\n },\n \"& .MuiButtonBase-root\": {\n padding: 0,\n },\n },\n tableHeader: {\n \"& div\": {\n backgroundColor: \"#F5F5F5\",\n fontWeight: 600,\n fontSize: 14,\n textTransform: \"capitalize\",\n cursor: \"pointer\",\n \"& :hover\": {\n \"& .arrowComponent\": {\n display: \"block\",\n },\n },\n\n \"& .arrowComponent\": {\n display: \"none\",\n },\n \"& .table-3-table-data\": {\n alignItems: \"center\",\n },\n },\n },\n tableBody: {},\n tableRow: {\n display: \"flex\",\n minHeight: 70,\n },\n tableData: {\n minWidth: 200,\n padding: 12,\n width: \"100%\",\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n alignItems: \"center\",\n },\n tableCheckbox: {\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: 16,\n\n \"& .MuiCheckbox-colorSecondary.Mui-checked\": {\n color: \"#0B6670\",\n },\n },\n arrow: {\n fontSize: 22,\n color: \"#bdbdbd\",\n },\n headerTextStyle: {\n margin: 0,\n whiteSpace: \"break-spaces\",\n textAlign: \"center\",\n },\n link: {\n color: \"initial\",\n textDecoration: \"none\"\n }\n}));\n\nconst DashboardTable = ({\n data,\n loader,\n selectedLabels,\n getSelectedProfileList,\n history,\n allLabels,\n}) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const [checkedData, setCheckedData] = useState([]);\n const [sort, setSort] = useState(false);\n const [deleteAlertOpen, setDeleteAlertOpen] = React.useState(false);\n const [updateAlertOpen, setUpdateAlertOpen] = React.useState(false);\n const [itemToDelete, setItemToDelete] = React.useState(null);\n const [itemToUpdate, setItemToUpdate] = React.useState(null);\n const { user } = useSelector((state) => state.auth);\n const { activeSocialMediaType } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n let subdomain = user.CustomerSubdomain\n ? user.CustomerSubdomain.subdomain\n : \"\";\n\n //handele all select function\n\n /* deleting added social media profiles dialog opens */\n const deleteAddedprofile = (data) => {\n setDeleteAlertOpen(true);\n setItemToDelete(data);\n };\n const updateAddedprofile = (data) => {\n setUpdateAlertOpen(true);\n setItemToUpdate(data);\n };\n /* Deleting social medai profiles list */\n const handleDelete = () => {\n if (itemToDelete) {\n dispatch(deletePagesInfo(itemToDelete));\n }\n };\n\n /* udpate social medai profiles list */\n const handleUpdate = () => {\n if (itemToUpdate) {\n dispatch(updatePagesInfo(itemToUpdate));\n }\n };\n\n\n\n return (\n <>\n
\n {loader ? (\n \n ) : (\n <>\n
\n
\n
\n
\n Profile\n
\n
\n Total Fans\n
\n
\n Last Updated\n
\n
\n Domain\n
\n
\n Actions\n
\n
\n
\n
\n {data.length !== 0 && data.map((d, i) =>\n
\n
\n \n \n
\n \n \n {d.profile}\n \n \n \n {d.username}\n \n
\n
\n
\n
\n \n {formatNumber(d.fan_count)}\n \n\n
\n
\n \n {Moment(d.updatedAt).tz('Australia/Sydney').format('YYYY-MM-DD hh:mm A')}\n
\n Australia/Sydney\n
\n
\n
\n {/* {d.subdomains.map(d => d)} */}\n {d.subdomains.length > 3 ?\n \n \n {d.subdomains.slice(0, 3).join(\", \")}...\n \n :\n\n \n {d.subdomains.join(\", \")}\n \n }\n\n
\n
\n \n deleteAddedprofile(d.profile_id)}\n >\n \n \n \n \n updateAddedprofile(d.profile_id)}\n >\n \n \n \n
\n
\n )}\n
\n
\n\n {/*
\n
\n
\n
\n Delete\n
\n
\n
\n
\n {data.map((d) => (\n \n
\n {user.role !== constant.CUSTOMER_VIEWER_NAME ? (\n deleteAddedprofile(d.id)}\n >\n \n \n ) : (\n \"\"\n )}\n \n
\n
\n ))}\n
\n scrollScroller(\"right\")}\n >\n \n \n */}\n \n )}\n \n }\n title=\"Are you sure?\"\n confirmBtn=\"DELETE\"\n description={`You're about to delete the profile. This process cannot be undone.`}\n open={deleteAlertOpen}\n setOpen={setDeleteAlertOpen}\n onConfirm={handleDelete}\n buttonbgcolor=\"#f50057\"\n />\n \n }\n title=\"Are you sure?\"\n confirmBtn=\"UPDATE\"\n description={`You're about to update the profile. This process cannot be undone.`}\n open={updateAlertOpen}\n setOpen={setUpdateAlertOpen}\n onConfirm={handleUpdate}\n buttonbgcolor=\"#2196f3\"\n\n />\n \n \n );\n};\n\nexport default withRouter(DashboardTable);\n","import React, { useEffect } from \"react\";\nimport Layout from \"../../Components/Layout\";\nimport {\n Grid,\n Typography,\n makeStyles,\n useTheme,\n useMediaQuery,\n Box,\n withStyles,\n MenuItem,\n Container,\n} from \"@material-ui/core\";\nimport { Styles } from \"./Styles\";\nimport SocialButton from \"../../Components/SocialButton\";\nimport FilterDays from \"../../Components/FilterDays\";\nimport PageTitle from \"../../Components/PageTitle/PageTitle\";\nimport DashboardTable from \"../Components/DashboardTable/DashboardTable\";\nimport { useDispatch } from \"react-redux\";\nimport { getPagesInfo } from \"../../store/actions/SuperAdminDashboardAction\";\nimport { useSelector } from \"react-redux\";\nimport ReactPaginate from \"react-paginate\";\nimport Spinner from '../../Components/Spinner'\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\n\n\nconst AdminDashboardPage = () => {\nconst dispatch = useDispatch()\nconst {activeSocialMediaType} = useSelector((state) => state.socialMediaProfileListReducer)\nconst {pagesInfoLoading, pagesInfo} = useSelector((state) => state.adminDashboardReducer)\n\nuseEffect(() => { // fetch profiles list info\ndispatch(getPagesInfo())\n \n},[activeSocialMediaType])\n\nconst handlePageChange = (pageNumber) => {\ndispatch(getPagesInfo(pageNumber))\n \n}\n\n const classes = useStyles()\n console.log(\"show page info\", pagesInfo);\n return (\n \n
\n
\n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n {pagesInfoLoading ? : \n \n }\n \n \n {\n !pagesInfoLoading && pagesInfo.responseData && pagesInfo.responseData.length !== 0 &&
\n \"}\n breakLabel={\"...\"}\n breakClassName={\"PaginationLi\"}\n pageCount={Math.ceil(pagesInfo.pages)}\n marginPagesDisplayed={2}\n pageRangeDisplayed={5}\n onPageChange={(e) => handlePageChange(e.selected + 1)}\n containerClassName={\"pagination\"}\n subContainerClassName={\"pages pagination\"}\n activeClassName={\"activePaginate\"}\n forcePage={Math.ceil(pagesInfo.page -1)}\n />\n
\n }\n
\n
\n
\n
\n );\n};\n\nexport default AdminDashboardPage;\n","\nexport const Styles = (theme) => ({\n main: {\n padding: (props) => (props.sm ? \"15px 0px\" : \"15px 40px\"),\n marginTop: 75,\n minHeight: \"84vh\"\n },\n});\n","import React from \"react\";\nimport { Button } from \"@material-ui/core\";\nimport {makeStyles} from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n btnPrimary: {\n background: \"#FBE281\",\n fontSize: 15,\n color: \"#323132\",\n fontWeight: 600,\n borderRadius: 4,\n borderColor: \"#FBE281\",\n border: \"1px solid \",\n margin: \"auto 0\",\n '&:hover': {\n backgroundColor: \"#f4d45f\",\n borderColor: \"#f4d45f\",\n },\n },\n\n}));\n\nconst Buttons = ({ className, children, ...props }) => {\n const classes = useStyles();\n return (\n \n );\n};\n\nexport default Buttons;\n","import React, { useEffect } from \"react\";\nimport {\n Container,\n Grid,\n Box,\n Typography,\n Avatar,\n makeStyles,\n Button,\n TextField,\n useMediaQuery,\n useTheme,\n withStyles,\n FormControl,\n Select,\n MenuItem,\n FormHelperText,\n InputLabel\n} from \"@material-ui/core\";\nimport {\n Link\n} from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Layout from \"../../Components/Layout\";\nimport TextInput from \"../../Components/TextInput/TextInput\";\nimport Buttons from \"../../Components/Buttons/Buttons\";\nimport { ChangePassword, getSignInUser, updateCustomerFromProfile } from \"../../store/actions/AuthAction\";\nimport Spinner from \"../../Components/Spinner\";\nimport styles from \"./Styles\";\nimport MailOutlineIcon from \"@material-ui/icons/MailOutline\";\nimport KeyboardBackspaceIcon from '@material-ui/icons/KeyboardBackspace';\nimport ContactMailOutlinedIcon from \"@material-ui/icons/ContactMailOutlined\";\n// Password Requirements\nimport * as constant from \"../../utlis/constant\";\nimport { toast } from \"react-toastify\";\nimport momentTZ from 'moment-timezone';\n\nconst StyledTextField = withStyles({\n root: {\n borderRadius: 15,\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderRadius: 12,\n },\n },\n },\n})(TextField);\n\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst ProfilePage = () => {\n const { user } = useSelector((state) => state.auth);\n const dispatch = useDispatch();\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n const lg = useMediaQuery(theme.breakpoints.down(\"lg\"));\n\n const { changePasswordLoading } = useSelector((state) => state.auth);\n\n const [passwordValues, setPasswordValues] = React.useState({\n newPassword: \"\",\n confirmNewPassword: \"\",\n });\n const [userFormSubmiting, setUserFormSubmiting] = React.useState(false);\n const [passwordErrors, setErrorsPassword] = React.useState({});\n const [formValues, setFormValues] = React.useState({});\n const [errors, setErrors] = React.useState({});\n const [switchFormPassword, setSwitchFormPassword] = React.useState(false);\n const [profileUpdatedValue, setProfileUpdatedValue] = React.useState({});\n\n const handleChange = (event) => {\n setPasswordValues((prevState) => ({\n ...prevState,\n [event.target.name]: event.target.value,\n }));\n setFormValues((prevState) => ({\n ...prevState,\n [event.target.name]: event.target.value,\n }));\n };\n useEffect(() => {\n dispatch(getSignInUser(user.id))\n }, [])\n\n /* Resetting the form values */\n const resetCustomerForm = () => {\n setPasswordValues({\n newPassword: \"\",\n confirmNewPassword: \"\",\n });\n };\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n const formErrors = {};\n\n // Password minumum requirements which includes lower case letter, upper case letter, numbers and special characters and minimum 8 characters\n if (!constant.PASSWORD_PATTERN.test(passwordValues.newPassword)) {\n formErrors.newPasswordError =\n \"Password must contain a minimum 8 characters, at least one number, one uppercase letter, one lowercase letter.\";\n }\n // Check if password and confirm password are same\n if (passwordValues.newPassword !== passwordValues.confirmNewPassword) {\n formErrors.confirmNewPasswordError =\n \"Your new password and confirmation password do not match.\";\n }\n // Check empty value\n if (!passwordValues.newPassword) {\n formErrors.newPasswordError = \"New Password is Required*\";\n }\n if (!passwordValues.confirmNewPassword) {\n formErrors.confirmNewPasswordError = \"Confirm Password is Required*\";\n }\n\n\n setErrorsPassword(formErrors);\n\n if (Object.keys(formErrors).length === 0) {\n setUserFormSubmiting(true)\n try {\n let response = await dispatch(\n ChangePassword(\n passwordValues.newPassword,\n passwordValues.confirmNewPassword\n )\n );\n setUserFormSubmiting(false)\n resetCustomerForm();\n } catch (error) {\n if (error.response) {\n let errorRes = error.response.data;\n\n if (errorRes.res_type == \"validation\") {\n setErrorsPassword({\n newPasswordError: errorRes.message && errorRes.message.old_password,\n confirmNewPasswordError:\n errorRes.message && errorRes.message.password,\n });\n }\n setUserFormSubmiting(false)\n } else {\n toast.error(\"Check your internet connection\")\n setUserFormSubmiting(false)\n }\n }\n }\n };\n\n /* from switch on change password fucntion */\n const switchForm = () => {\n setSwitchFormPassword(true);\n setErrors({}); /* set errors value to null */\n };\n\n /* password change form cancel button function */\n const handlePasswordChangeCancel = () => {\n setSwitchFormPassword(false);\n setErrors({}); /* set errors value to null */\n setErrorsPassword({}); /* set errorsPassword value to null */\n };\n\n /* handling profile update */\n const handleProfileUpdate = async (e) => {\n e.preventDefault();\n\n let formErrors = {};\n\n // Check empty value\n if (!formValues.firstName) {\n formErrors.firstName = \"First name is Required*\";\n }\n if (!formValues.lastName) {\n formErrors.lastName = \"last name is Required*\";\n }\n if (!formValues.email) {\n formErrors.email = \"Email is Required*\";\n }\n if (!formValues.phoneNumber) {\n formErrors.phoneNumber = \"Phone number is Required*\";\n }\n\n setErrors(formErrors);\n if (Object.keys(formErrors).length === 0) {\n setUserFormSubmiting(true)\n try {\n const updateResponse = await dispatch(\n updateCustomerFromProfile(formValues)\n );\n setUserFormSubmiting(false)\n const user = updateResponse.data.data;\n } catch (error) {\n if (error.response) {\n toast.error(error.response.data.message)\n setUserFormSubmiting(false)\n } else {\n toast.error(\"Check your internet connection\")\n setUserFormSubmiting(false)\n }\n }\n }\n };\n\n /* setting exisiting form values */\n React.useEffect(() => {\n if (user) {\n setFormValues({\n firstName: user.first_name,\n lastName: user.last_name,\n email: user.email,\n position: user.position,\n employeeNumber: user.employee_number,\n phoneNumber: user.contact_number,\n timezone: user.timezone\n });\n }\n }, [user]);\n\n //timezone list\n\n const timeZonesList = momentTZ.tz.names()\n\n const classes = useStyles();\n return (\n \n \n \n \n \n \n \n
\n \n \n \n Back\n \n \n \n \n \n \n \n
\n \n \n {user.role === constant.SUPER_ADMIN_NAME ? (\n \"SA\"\n ) : (\n user.first_name.charAt(0) + user.last_name.charAt(0)\n )}\n \n \n \n {\" \"}\n \n {user.first_name} {user.last_name}\n \n {user.role} \n \n
\n \n {/*

{user.brand.brand_name}

*/}\n\n
\n
\n \n \n {\" \"}\n Contact Information{\" \"}\n \n
\n Email: {user.email}\n \n Phone Number:{user.contact_number}\n \n
\n
\n
\n \n \n Basic Information\n \n
\n \n {\" \"}\n User Type: {user.role}{\" \"}\n \n
\n
\n \n \n {\" \"}\n Change Password\n \n \n
\n \n \n\n \n \n \n \n
\n {!switchFormPassword ? (\n \n {/* actual profile form component */}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n Select Timezone \n \n {timeZonesList.map((timeZone, index) =>\n {timeZone} \n )}\n {/* \n Viewer */}\n \n {errors.role ?\n User Role is Required\n : ''\n }\n\n \n \n \n \n {userFormSubmiting && }\n Save\n \n \n \n \n ) : (\n \n \n \n \n \n \n \n \n \n \n {\" \"}\n Cancel{\" \"}\n \n \n \n {changePasswordLoading && (\n \n \n
\n )}\n \n {userFormSubmiting && }\n Save\n \n
\n
\n \n )}\n \n \n \n \n \n \n \n\n \n \n\n \n
\n );\n};\n\nexport default ProfilePage;\n","export default (theme) => ({\n containerMain: {\n boxShadow: \"0 0 63px rgba(0, 0, 0, 0.1)\",\n padding: 0,\n color: \"rgba(0, 0, 0, 0.87)\",\n padding: 0,\n zIndex: 1300,\n boxShadow:\n \"rgba(0, 0, 0, 0.2) 0px 2px 4px -1px, rgba(0, 0, 0, 0.14) 0px 4px 5px 0px, rgba(0, 0, 0, 0.12) 0px 1px 10px 0px\",\n marginTop: \"-160px\",\n backgroundColor: \"rgb(255, 255, 255)\",\n },\n\n bannerTop: {\n backgroundImage: \"linear-gradient(to right, #F8C1441A, #FBE281)\",\n },\n\n profileDetails: {\n display: \"flex\",\n padding: 30,\n background: \"#FFF8DE\",\n boxShadow: \"0 0 63px rgba(0, 0, 0, 0.1)\",\n textAlign: \"center\",\n },\n\n avatar: {\n margin: \"auto\",\n width: 90,\n height: 90,\n fontSize: 22,\n textTransform: \"uppercase\"\n },\n\n btnUpdatePassword: {\n textTransform: \"Capitalize\",\n paddingLeft: 60,\n paddingRight: 60,\n paddingTop: 10,\n paddingBottom: 10,\n marginTop: 30,\n },\n\n backBtn: {\n marginTop: \"-40px\",\n color: \"#323232\",\n fontSize: 17,\n fontWeight: 600,\n textDecoration: \"none\",\n },\n backBtnIcon: {\n verticalAlign: \"middle\",\n fontSize: 22,\n marginRight: 10,\n }\n});\n","export default (theme) => ({\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100vh\",\n padding: \"60px 0\",\n justifyContent: \"space-evenly\",\n [theme.breakpoints.up(\"md\")]: {\n marginLeft: theme.spacing(18),\n marginRight: theme.spacing(18),\n },\n [theme.breakpoints.down(\"md\")]: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n },\n loginWelcome: {\n paddingTop: theme.spacing(2),\n color: \"#212121\",\n fontSize: 38,\n fontWeight: 600,\n },\n loginDesc: {\n fontSize: 15,\n fontWeight: 400,\n marginBottom: 30,\n marginTop: 30\n },\n MuiFormControlLabel: {\n fontSize: 15,\n fontWeight: 400,\n color: \"lightBlack\",\n },\n MuiButton: {\n textTransform: \"none\",\n paddingTop: 12,\n paddingBottom: 12,\n borderRadius: 8,\n backgroundColor: \"#EDB548\",\n color: \"#fff\",\n fontSize: 15,\n \"&:hover\": {\n backgroundColor: \"#EDB548\",\n }\n },\n \".MuiButton-label\": {\n color: \"lightBlack\",\n fontWeight: 600,\n paddingTop: 15,\n paddingBottom: 15,\n },\n\n footerText: {\n fontSize: 14,\n color: \"#757575\",\n marginLeft: 4,\n marginRight: 4,\n textDecoration: \"underline\",\n },\n\n privacyPolicy: {\n display: \"flex\",\n justifyContent: \"center\",\n paddingTop: 30,\n },\n btnWrapper: {\n position: \"relative\",\n },\n loginBannerImg: {\n height: \"100vh\",\n },\n loginImg: {\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n },\n forgotBtnContainer: {\n margin: \"30px 0\",\n },\n forgotBtn: {\n textTransform: 'capitalize',\n color: \"#323132\",\n fontWeight: 600,\n fontSize: \"15px\",\n width: \"90%\",\n paddingTop: 12,\n paddingBottom: 12,\n },\n placeHolder: {\n fontSize: 12\n },\n forgotPassword: {\n fontSize: 15,\n color: \"#6BCDCE\",\n cursor: \"pointer\",\n fontWeight: 600\n }\n});\n","import React from \"react\";\nimport {\n Grid,\n Typography,\n makeStyles,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Buttons from \"../../Components/Buttons/Buttons\";\nimport { connect } from \"react-redux\";\nimport { ChangePasswordEmailVerification } from \"../../store/actions/AuthAction\";\nimport Spinner from \"../../Components/Spinner\";\n// Default Profile Page Styles\nimport styles from \"../Login/Styles\";\n// Password Requirements\nimport * as constant from \"../../utlis/constant\";\n\n// Default Login Page Styles\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst ChangePasswordFromMail = ({ history }) => {\n const { logoURL, bannerURL } = useSelector((state) => state.settings);\n const dispatch = useDispatch();\n const theme = useTheme();\n const match = useMediaQuery(theme.breakpoints.down(\"md\"));\n const { apiRes } = useSelector((state) => state.apiResReducer);\n const { changePasswordLoading, password } = useSelector((state) => state.auth);\n const [passwordValues, setPasswordValues] = React.useState({\n newPassword: \"\",\n confirmNewPassword: \"\",\n });\n\n const url_string = window.location.href;\n var url = new URL(url_string);\n var authorization_token = url.searchParams.get(\"Authorization\");\n\n const [passwordErrors, setErrorsPassword] = React.useState({});\n const handleChange = (event) => {\n setPasswordValues((prevState) => ({\n ...prevState,\n [event.target.name]: event.target.value,\n }));\n };\n\n const handleSubmit = async (event) => {\n console.log(constant.PASSWORD_PATTERN)\n event.preventDefault();\n const formErrors = {};\n\n // Password minumum requirements which includes lower case letter, upper case letter, numbers and special characters and minimum 8 characters\n if (!constant.PASSWORD_PATTERN.test(passwordValues.newPassword)) {\n formErrors.newPasswordError =\n \"Password must contain a minimum 8 characters, at least one number, one uppercase letter, one lowercase letter.\";\n }\n // Check if password and confirm password are same\n if (passwordValues.newPassword !== passwordValues.confirmNewPassword) {\n formErrors.confirmNewPasswordError =\n \"New password and confirm password does not match.\";\n }\n // Check empty value\n if (!passwordValues.newPassword) {\n formErrors.newPasswordError = \"New Password is Required*\";\n }\n if (!passwordValues.confirmNewPassword) {\n formErrors.confirmNewPasswordError = \"Confirm Password is Required*\";\n }\n\n setErrorsPassword(formErrors);\n\n if (Object.keys(formErrors).length === 0) {\n await dispatch(\n ChangePasswordEmailVerification(\n authorization_token,\n passwordValues.newPassword\n )\n );\n }\n };\n\n React.useEffect(() => {\n\n if (password && password.status) {\n history.push(\"/login\");\n }\n }, [password]);\n\n // Default Login Page Styles\n const classes = useStyles();\n return (\n \n \n
\n \n \"logo-image\"\n \n \n \n Reset Password\n \n \n {\" \"}\n Please use a strong password consisting a mix of letters, numbers\n & symbols to make your account secure.\n \n\n
\n \n \n \n \n \n \n \n\n \n
\n \n Reset\n \n {changePasswordLoading && }\n
\n
\n
\n\n \n \n {\" \"}\n \n Remember your Password?\n \n \n {\" \"}\n \n

 Log in

\n \n \n \n
\n\n
\n Privacy\n
|
\n \n Terms Of Service\n \n
\n
\n
\n {!match && (\n \n \n \n )}\n
\n );\n};\n\nconst mapDispatchToProps = { ChangePasswordEmailVerification };\n// connect(null, mapDispatchToProps), withRouter(ChangePasswordFromMail);\n\nexport default withRouter(\n connect(null, mapDispatchToProps)(ChangePasswordFromMail)\n);\n","import React, { useEffect } from \"react\";\nimport { useState } from \"react\";\nimport ReactWordcloud from \"react-wordcloud\";\n\nimport \"tippy.js/dist/tippy.css\";\nimport \"tippy.js/animations/scale.css\";\n\nexport const BubbleChart = ({ chartData }) => {\n const [emojisData, setEmojisData] = useState([]);\n\n const options = {\n enableTooltip: true,\n deterministic: true,\n enableOptimizations: true,\n fontSizes: [9, 90],\n padding: 50,\n rotations: 0,\n rotationAngles: [0, 0],\n scale: \"sqrt\",\n spiral: \"rectangular\",\n transitionDuration: 1000\n };\n\n useEffect(() => {\n if (chartData) {\n setEmojisData([]);\n let chartSortData = chartData\n \n for (let i = 0; i < chartSortData.length; i++) {\n if (chartSortData[i]) {\n let emojiData = {\n text: chartSortData[i].emoji,\n value: chartSortData[i].count,\n };\n \n setEmojisData((prevState) => [...prevState, emojiData]);\n }\n }\n \n \n }\n }, [chartData]);\n\n return (\n
\n \n \n
\n );\n};\n","import {\n Avatar,\n Card,\n CardActions,\n CardContent,\n Typography,\n makeStyles,\n useTheme,\n useMediaQuery\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport CallMadeIcon from \"@material-ui/icons/CallMade\";\nimport CallReceivedIcon from \"@material-ui/icons/CallReceived\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport Spinner from \"../Spinner\";\nimport { numbersFormat } from \"../../Functions\";\nimport { Styles } from \"./Styles\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nexport const SocialMediaCardLabels = ({\n cardTitle,\n cardFigures,\n cardGrowthRate,\n cardIcon,\n colorCode,\n filterType,\n loading,\n socialListening,\n}) => {\n const trimCardGrowthrate = parseInt(cardGrowthRate);\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const classes = useStyles({\n xs,\n socialListening,\n loading,\n colorCode,\n trimCardGrowthrate,\n });\n\n return (\n
\n \n {!socialListening && loading ? (\n \n ) : (\n <>\n \n
\n {cardTitle}{\" \"}\n \n {filterType ? `(${filterType})` : \"\"}\n \n
\n
\n \n {socialListening && loading ? (\n \n ) : (\n cardFigures && numbersFormat(cardFigures)\n )}\n \n
\n\n {!socialListening && (\n
\n \n {\" \"}\n {!trimCardGrowthrate || trimCardGrowthrate == 0 ? (\n \n ) : trimCardGrowthrate < 0 ? (\n \n ) : (\n \n )}{\" \"}\n {trimCardGrowthrate ? trimCardGrowthrate : 0}%\n \n Absolute Growth\n
\n )}\n
\n \n {cardIcon}\n \n \n )}\n
\n
\n );\n};\n","export const Styles = () => ({\n labelWrapper: {\n display: \"flex\",\n justifyContent: (props) =>\n !props.socialListening && props.loading\n ? \"center\"\n : props.socialListening && props.loading\n ? \"space-between\"\n : \"space-between\",\n position: \"relative\",\n height: 200,\n },\n cardLabelContent: {\n padding: 10,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n marginLeft: (props) => props.xs ? 0 : 20,\n },\n\n labelContentTitleWrapper: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .title\": {\n fontSize: 20,\n fontWeight: 600,\n marginRight: 10,\n },\n \"& .filter-type\": {\n fontSize: 14,\n color: \"#757575\",\n },\n },\n cardFiguresWrapper: {\n position: \"relative\",\n minHeight: 45,\n \"& .figures\": {\n fontSize: 42,\n fontWeight: 700,\n },\n },\n cardGrowthWrapper: {\n display: \"flex\",\n \"& .growth-figures\": {\n fontSize: 15,\n fontWeight: 600,\n color: (props) =>\n !props.trimCardGrowthrate || props.trimCardGrowthrate == 0\n ? \"#1877f2\"\n : props.trimCardGrowthrate < 0\n ? \"red\"\n : \" #19A96E\",\n display: \"flex\",\n marginRight: 15,\n },\n \"& .growth\": {\n fontSize: 14,\n color: \"#757575\",\n },\n },\n cardCardAction: {\n alignSelf: \"flex-start\",\n margin: props => props.xs ? 0 : props.socialListening\n ? \"35px 10px 0px 0px\"\n : \"10px 10px 0px 0px\",\n },\n cardlabelIcon: {\n backgroundColor: (props) => props.colorCode,\n height: props => props.xs ? 30 : 55,\n width: props => props.xs ? 30 : 55,\n },\n});\n","import React from \"react\";\nimport {\n makeStyles,\n Box,\n Typography,\n BottomNavigation,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport { Line, Chart } from \"react-chartjs-2\";\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport { blue } from \"@material-ui/core/colors\";\n\nconst useStyles = makeStyles((test) => ({\n selected: {\n backgroundColor: \"transparent !important\",\n borderColor: \"transparent !important\",\n },\n\n graphTitleSection: {\n display: (props) => props.xs ? \"block\" : \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 15,\n alignItems: \"flex-end\",\n },\n\n graphTitle: {\n fontSize: 24,\n letterSpacing: 0,\n fontWeight: 600,\n },\n\n graphSection: {\n background: \"#fff\",\n padding: \"35px 15px\",\n border: \"1px solid #bdbdbd\",\n borderRadius: \"5px\",\n },\n\n dateFilterBtnGroup: {\n height: 30,\n background: \"#fff\",\n border: \"1px solid #E0E0E0\",\n },\n dateFilterBtn: {\n padding: \"7px 20px\",\n fontSize: 13,\n fontWeight: \"bold\",\n border: \"none\",\n textTransform: \"Capitalize\",\n },\n selectedDateFiterBtnGroup: {\n color: \"#323132\",\n backgroundColor: \"#fbe281\",\n },\n}));\n\nconst LineChart = (props) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const [selectProfiles, setSelectProfiles] = React.useState([\n props.adddeSocialMedaiProfile && props.adddeSocialMedaiProfile.length === 0\n ? \"\"\n : props.adddeSocialMedaiProfile && props.adddeSocialMedaiProfile[0].id,\n ]);\n const [postDateFilter, setDateFilter] = React.useState(\"day\");\n const [color, setColor] = React.useState(\"default\");\n const [mobileView, setMobileView] = React.useState(false);\n\n React.useEffect(() => {\n const setResponsiveness = () => {\n return window.innerWidth < 1024\n ? setMobileView((prevState) => ({ ...prevState, mobileView: true }))\n : setMobileView((prevState) => ({ ...prevState, mobileView: false }));\n };\n\n setResponsiveness();\n\n window.addEventListener(\"resize\", () => setResponsiveness());\n }, []); //for responsive use\n\n Chart.Tooltip.positioners.custom = function (elements, position) {\n if (!elements.length) {\n return false;\n }\n var offset = 0;\n let heightOffset = 0\n //adjust the offset left or right depending on the event position\n if (elements[0]._chart.width / 2 > position.x) {\n offset = 20;\n }\n if (elements[0]._chart.height / 2 < position.y) {\n heightOffset = -70;\n } else {\n heightOffset = 70\n }\n // if(elements[0]._chart.width / 2 > position.y) {\n // heightOffset = 70\n // }\n return {\n x: position.x + offset,\n y: position.y + heightOffset,\n };\n };\n\n const chart = React.createRef();\n\n // Chart JS Options\n var chartOptions = {\n responsive: true,\n maintainAspectRatio: props.sentimentChart ? false : true,\n aspectRatio: 1,\n // Default legend display true\n legend: {\n display: true,\n position: \"bottom\",\n labels: {\n boxWidth: 15,\n usePointStyle: true,\n padding: 30,\n fontSize: 15,\n },\n },\n tooltips: {\n // Disable the on-canvas tooltip\n mode: \"x\",\n displayColors: true,\n intersect: false,\n enabled: true,\n padding: 20,\n titleFontSize: 18,\n titleSpacing: 10,\n bodyFontSize: 18,\n xPadding: 18,\n yPadding: 18,\n yAlign: \"center\",\n caretSize: 12,\n position: \"custom\",\n titleMarginBottom: 18,\n callbacks: {\n title: function (tooltipItem) {\n if (tooltipItem) {\n const dataPointsIndex = tooltipItem.map((data) => {\n return `${data.index}`;\n });\n const points = dataPointsIndex.slice(0, 1)\n const dateRange = props.chartData.timeline\n ? props.chartData.timeline.filter(\n (date, index) => index == points\n )\n : [];\n if (dateRange && dateRange.length !== 0) {\n if (postDateFilter === \"day\") {\n return `${dateRange\n ? new Date(dateRange[0].start).toDateString().split(\" \")[1]\n : \"\"\n } ${dateRange\n ? new Date(dateRange[0].start).toDateString().split(\" \")[2]\n : \"\"\n } `\n } else {\n return `From : ${dateRange\n ? new Date(dateRange[0].start).toDateString().split(\" \")[1]\n : \"\"\n } ${dateRange\n ? new Date(dateRange[0].start).toDateString().split(\" \")[2]\n : \"\"\n } To: ${dateRange\n ? new Date(dateRange[0].end).toDateString().split(\" \")[1]\n : \"\"\n } ${dateRange\n ? new Date(dateRange[0].end).toDateString().split(\" \")[2]\n : \"\"\n }`;\n }\n } else {\n return tooltipItem.map((item) => item.label.toUpperCase());\n }\n }\n },\n },\n },\n scales: {\n xAxes: [\n {\n gridLines: {\n display: false,\n },\n ticks: {\n fontColor: \"#323132\",\n fontSize: 14,\n fontStyle: 600,\n fontFamily: \"'Poppins', sans-serif\",\n },\n },\n ],\n yAxes: [\n {\n gridLines: {\n drawBorder: false,\n },\n ticks: {\n fontColor: \"#757575\",\n fontSize: 12,\n fontFamily: \"'Poppins', sans-serif\",\n },\n },\n ],\n },\n\n // Graph Title\n title: {\n display: true,\n text: props.graphTitle,\n position: \"left\",\n },\n };\n\n /* fires on selecting profiles */\n React.useEffect(() => {\n props.getPostsData(selectProfiles, postDateFilter);\n // Updating Chart\n chart.current.chartInstance.update();\n }, [selectProfiles, postDateFilter]);\n\n // const updateSelectedProfiles = (id) => {\n\n // /* data fetched through api call*/\n // // if profile is selected, Unselect it and update state\n // if (selectProfiles.includes(id)){\n // const unselectProfile = selectProfiles.filter((selectProfiles) =>\n // selectProfiles !== id\n // );\n // setSelectProfiles(unselectProfile);\n // }\n // // if profile is not selected add to state\n // else {\n // setSelectProfiles((prevState) => [...prevState, id]);\n // }\n // };\n\n // Date Filter onchange validations and functions\n const handleAlignment = (event, newAlignment) => {\n setColor(event.target.checked ? \"blue\" : \"default\");\n if (newAlignment !== null) {\n setDateFilter(newAlignment);\n }\n };\n\n const classes = useStyles({ xs });\n return (\n \n
\n \n {props.chartTitle}\n \n\n \n \n {mobileView.mobileView ? \"D\" : \"Day\"}\n \n \n {mobileView.mobileView ? \"W\" : \"Week\"}\n \n \n {mobileView.mobileView ? \"M\" : \"Month\"}\n \n \n
\n
\n \n \n \n
\n \n {/* \n {props.showLabel != \"false\" ? \n
\n // List of Added Profiles\n {props.adddeSocialMedaiProfile.map((item) =>\n updateSelectedProfiles(item.id)}\n className={`label-item ${selectProfiles.includes(item.id) ? '' : classes.selected }`} \n style={{margin: 15, cursor: \"pointer\", border: \"1px solid\", backgroundColor: item.backgroundColor, borderColor: item.borderColor, borderRadius: 4, padding: \"8px 10px\", color: \"#323132\", fontSize: 13, fontWeight: \"bold\" }}>\n {item.page_name}\n \n )}\n
\n :\n ''\n } \n */}\n \n
\n );\n};\n\nexport default LineChart;\n","import React from \"react\";\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport Chip from \"@material-ui/core/Chip\";\nimport FaceIcon from \"@material-ui/icons/Face\";\nimport DoneIcon from \"@material-ui/icons/Done\";\nimport { useDispatch } from \"react-redux\";\nimport { deleteSearchQuery } from \"../../store/actions/SocialMediaProfileAction\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n justifyContent: \"center\",\n flexWrap: \"wrap\",\n \"& > *\": {\n margin: theme.spacing(0.5),\n },\n },\n}));\n/* styled component starts */\nconst StyledChip = withStyles({\n root: {\n backgroundColor: \"#fff8de\",\n border: \"1px solid #E0E0E0\",\n },\n label: {\n fontSize: 15,\n color: \"#323132\",\n fontWeight: (props) => (props.bold ? 600 : \"normal\"),\n },\n})(Chip);\n\nconst SocialListeningChipData = ({ chipData, loader, clearDisplayData }) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n\n const handleDelete = (chipToDelete) => () => {\n dispatch(deleteSearchQuery(chipToDelete));\n clearDisplayData()\n };\n\n return (\n
\n {[...chipData].map((data, index) => {\n return (\n \n );\n })}\n
\n );\n};\n\nexport default SocialListeningChipData;\n","import {\n Box,\n Button,\n Container,\n Typography,\n useTheme,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { useMediaQuery } from \"@material-ui/core\";\nimport { formatImage } from \"Functions\";\nimport { useSelector } from \"react-redux\";\n\nconst Feed = ({ data, getFeed, page }) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const { activeSocialMediaType } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n const { user } = useSelector((state) => state.auth);\n const { CustomerSubdomain } = user;\n\n let subdomain = CustomerSubdomain.subdomain;\n\n return (\n \n \n Posts\n \n \n {data?.map((item) => (\n \n \n {item?.feed_type === \"Video\" ? (\n \n \n {item.caption}\n \n ) : (\n \n\n )}\n \n \n ))}\n \n
\n \n getFeed(page + 1)}\n >\n Load More Posts\n \n
\n \n \n );\n};\n\nexport default Feed;\n","import {\n Button,\n Container,\n Grid,\n makeStyles,\n Typography,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport Layout from \"../../Components/Layout\";\nimport PageTitle from \"../../Components/PageTitle/PageTitle\";\nimport SocialButton from \"../../Components/SocialButton\";\nimport FilterDays from \"../../Components/FilterDays\";\nimport styles from \"./Styles\";\nimport { BubbleChart } from \"../../Components/BubbleChart/BubbleChart\";\nimport { SocialMediaCardLabels } from \"../../Components/SocialMediaLabelsCard/SocialMediaLabelsCard\";\nimport PeopleIcon from \"@material-ui/icons/People\";\nimport CommentOutlinedIcon from \"@material-ui/icons/CommentOutlined\";\nimport LineCharts from \"../../Components/LineChart\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n getNoOfpeople,\n getSentimentData,\n resetSearchQuery,\n setSearchQuery,\n} from \"../../store/actions/SocialMediaProfileAction\";\nimport TextInput from \"../../Components/TextInput/TextInput\";\nimport Spinner from \"../../Components/Spinner\";\nimport SocialListeningChipData from \"./SocialListeningChipData\";\nimport { SnackBarDownload } from \"../../Components/SnackBar/DownloadSnackBar\";\n\nimport { NO_DATA_AVAILABLE } from \"../../utlis/constant\";\nimport axios from \"axios\";\nimport Feed from \"./Feed\";\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst SocialListeningPage = () => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n const classes = useStyles({ xs });\n const dispatch = useDispatch();\n const [searchKeyWord, setSearchKeyWord] = React.useState(\"\");\n const [sentimentsChartData, setSentimentsChartData] = React.useState();\n const [sentimentsDateFilter, setSentimentsDateFilter] = React.useState(\"day\");\n const [loader, setLoader] = React.useState(false);\n const [stateSearchData, setStateSearchData] = React.useState([]);\n const [loadingAlert, setLoadingAlert] = React.useState(false);\n const [displayPostList, setDisplayPostList] = React.useState([]);\n const [page, setPage] = React.useState(1);\n const {\n socialListeningDataLoading,\n customDateRangeRed,\n noOfPeople,\n noOfPeopleLoading,\n\n noOfSocialInteraction,\n\n emojiChartData,\n sentimentInTimeData,\n sentimentInTimeDataLoading,\n searchQueryData,\n socialListeningError,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : \"\";\n\n const getPosts = async (page) => {\n const posts = await axios.get(\n `/social-listening/instagram/feed/?start_date=${startDate}&end_date=${endDate}&keyword_query=${searchQueryData}&page=${page}&limit=16`\n );\n if (page > 1) {\n setDisplayPostList([...displayPostList, ...posts?.data?.data?.feed]);\n } else {\n setDisplayPostList([...posts?.data?.data?.feed]);\n }\n setPage(posts?.data?.data?.page);\n };\n\n useEffect(() => {\n if (searchQueryData && searchQueryData.length !== 0) {\n setStateSearchData(searchQueryData);\n getPosts(1);\n\n }\n }, []);\n\n //Handle search function\n\n const handleSearchFunction = async (event) => {\n await dispatch(setSearchQuery(searchKeyWord));\n setSearchKeyWord(\"\");\n };\n\n const getNumberOfPeople = async () => {\n await dispatch(getNoOfpeople(sentimentsDateFilter));\n };\n\n const clearDisplayData=() =>{\n setDisplayPostList([])\n }\n useEffect(() => {\n if (\n !noOfPeopleLoading &&\n searchQueryData &&\n searchQueryData.length !== 0 &&\n customDateRangeRed &&\n Object.keys(noOfPeople).length === 0\n ) {\n getNumberOfPeople();\n getPosts(1);\n\n }\n }, [searchQueryData, customDateRangeRed]);\n\n useEffect(() => {\n setTimeout(() => {\n if (socialListeningError) {\n dispatch(getNoOfpeople(sentimentsDateFilter));\n }\n }, 600000);\n }, [socialListeningError]);\n\n const getSentiment = async () => {\n await dispatch(getSentimentData(searchQueryData, sentimentsDateFilter));\n };\n useEffect(() => {\n if (\n !noOfPeopleLoading &&\n sentimentsDateFilter &&\n searchKeyWord === \"\" &&\n searchQueryData &&\n searchQueryData.length !== 0\n ) {\n getSentiment();\n }\n }, [sentimentsDateFilter]);\n\n React.useEffect(() => {\n if (sentimentInTimeData) {\n setSentimentsChartData({\n datasets: sentimentInTimeData && sentimentInTimeData.datasets,\n labels:\n sentimentInTimeData && sentimentInTimeData.timeline\n ? sentimentInTimeData.timeline.map(\n (date) =>\n `${new Date(date.end).toDateString().split(\" \")[1]} ${\n new Date(date.end).toDateString().split(\" \")[2]\n }`\n )\n : [],\n timeline: sentimentInTimeData && sentimentInTimeData.timeline,\n });\n }\n }, [sentimentInTimeData]);\n\n const sentimentChart = (selectProfiles, dateFilter) => {\n setSentimentsDateFilter(dateFilter);\n console.log(\"show date filter\", dateFilter);\n };\n\n useEffect(() => {\n setTimeout(() => setLoadingAlert(noOfPeopleLoading), 6000);\n }, [noOfPeopleLoading]);\n\n return (\n \n \n
\n \n \n
\n \n \n \n {\" \"}\n setSearchKeyWord(e.target.value)}\n onKeyPress={(event) => {\n if (event.key === \"Enter\" && event.target.value !== \"\") {\n handleSearchFunction(event);\n }\n }}\n backgroundColor\n disable={noOfPeopleLoading || socialListeningError ? true : false}\n />\n \n
\n \n {searchQueryData && searchQueryData.length > 0 && (\n {\n clearDisplayData()\n dispatch(resetSearchQuery())}}\n >\n Clear all\n \n )}\n
\n \n
\n {searchQueryData.length > 0 && socialListeningDataLoading ? (\n \n ) : (\n searchQueryData.length > 0 && (\n <>\n \n \n \n
\n \n }\n loading={noOfPeopleLoading || socialListeningError}\n socialListening={true}\n />\n
\n
\n\n \n
\n \n }\n loading={noOfPeopleLoading || socialListeningError}\n socialListening={true}\n />\n
\n
\n
\n
\n \n \n \n {\" \"}\n \n Top Emojis\n \n
\n {noOfPeopleLoading || socialListeningError ? (\n \n ) : emojiChartData && emojiChartData.length > 0 ? (\n \n \n
\n ) : (\n \n \n {NO_DATA_AVAILABLE}\n \n \n )}\n \n
\n \n \n Sentiment in Time\n \n\n
\n {(noOfPeopleLoading ||\n socialListeningError ||\n sentimentInTimeDataLoading) && (\n \n )}{\" \"}\n {sentimentInTimeData &&\n sentimentInTimeData.length !== 0 ? (\n {\n sentimentChart(\n selectProfiles,\n sentimentDateFilter\n );\n }}\n sentimentChart={true}\n />\n ) : (\n // (!noOfPeopleLoading || !socialListeningError || !sentimentInTimeDataLoading) &&\n // sentimentInTimeData.length === 0 && (\n // \n //
\n // \n // {NO_DATA_AVAILABLE}\n // \n //
\n //
\n // )\n \"\"\n )}\n \n \n \n \n \n )\n )}\n \n \n {displayPostList.length ?(\n \n ):null}\n\n {noOfPeopleLoading || socialListeningError ? (\n \n ) : null}\n
\n );\n};\n\nexport default SocialListeningPage;\n","import { Opacity } from \"@material-ui/icons\";\n\nexport default (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n tabHeaderComp: {\n marginTop: \"30px\",\n display: \"flex\",\n padding: (props) => props.xs ? \"0px 20px\" : \"0px 40px\",\n width: \"100%\",\n justifyContent: 'space-between'\n },\n title: {\n textAlign: \"center\",\n textTransform: \"capitalize\",\n },\n subButtongGroup: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginRight: \"60px\",\n },\n modalBox: {\n alingSelf: \"center\",\n },\n\n charts: {\n marginTop: 30,\n minHeight: 350,\n },\n growthChart: {\n position: \"relative\",\n },\n loader: {\n background: \"rgba(255, 255, 255, 0.6)\"\n },\n graphTitleSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 15,\n alignItems: 'flex-end'\n },\n chartFallBackContainer: {\n height: \"calc(100% - 47px)\",\n },\n graphTitle: {\n fontSize: 24,\n letterSpacing: 0,\n fontWeight: 600,\n },\n chartFallBack: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n background: \"#fff\",\n border: \"1px solid #bdbdbd\",\n minHeight: 350,\n borderRadius: 4,\n\n },\n\n /* profile overview css */\n\n profileOverview: {\n\n },\n clearBtn: {\n marginLeft: 10,\n alignSelf: \"center\",\n color: \"#0B6670\",\n fontSize: 15,\n fontWeight: \"600\",\n cursor: \"pointer\",\n textTransform: \"capitalize\",\n\n \"&:hover\": {\n backgroundColor: \"transparent\"\n\n }\n }\n});\n","import React, { useEffect } from 'react';\nimport {\n Grid,\n Button,\n Checkbox,\n FormControlLabel,\n Typography,\n makeStyles,\n useTheme,\n useMediaQuery,\n withStyles,\n Container,\n} from '@material-ui/core';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Buttons from '../../Components/Buttons/Buttons';\nimport {\n FacebookSignIn,\n SignIn,\n ForgotPassword,\n} from '../../store/actions/AuthAction';\nimport Spinner from '../../Components/Spinner';\nimport styles from './Styles/index.js';\nimport TextField from '@material-ui/core/TextField';\nimport * as constant from '../../utlis/constant';\nimport { toast } from 'react-toastify';\nimport { formatServerImages } from '../../Functions';\nimport FacebookLogin from 'react-facebook-login/dist/facebook-login-render-props';\nimport facebookImage from '../../assets/images/facebook.png';\nimport { Link } from 'react-router-dom';\n\nconst StyledTextField = withStyles({\n root: {\n borderRadius: 15,\n '& .MuiInputLabel-shrink': {\n color: '#323132',\n },\n '& .MuiOutlinedInput-input': {\n padding: 15,\n color: '#323132',\n },\n '& .MuiOutlinedInput-root': {\n '& input': {\n '&:-webkit-autofill': {\n '-webkit-box-shadow': '0 0 0 100px rgb(250 250 250) inset',\n '-webkit-text-fill-color': '#323132',\n },\n },\n '& fieldset': {\n borderRadius: 12,\n },\n },\n '& .Mui-focused': {\n '& fieldset': {},\n },\n },\n})(TextField);\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst Login = ({ history }) => {\n const { user, isAuth } = useSelector((state) => state.auth);\n const { subdomainID } = useSelector((state) => state.settings);\n const [userFormSubmiting, setUserFormSubmiting] = React.useState(false);\n const [changePasswordLoading, setChangePasswordLoading] =\n React.useState(false);\n const { logoURL, bannerURL } = useSelector((state) => state.settings);\n const theme = useTheme();\n const match = useMediaQuery(theme.breakpoints.down('md'));\n const { apiRes } = useSelector((state) => state.apiResReducer);\n const dispatch = useDispatch();\n const [formValues, setFormValues] = React.useState({\n email: '',\n password: '',\n });\n\n const [errors, setErrors] = React.useState({});\n const handleChange = (e) => {\n setFormValues((prevState) => ({\n ...prevState,\n [e.target.name]: e.target.value,\n }));\n };\n\n const [showForgotPassword, setShowForgotPassword] = React.useState(false);\n const [forgotEmail, setForgotEmail] = React.useState('');\n const [facebookLoginLoading, setFacebookLoginLoading] = React.useState(false);\n\n useEffect(() => {\n if (isAuth) {\n if (user && user.role === constant.SUPER_ADMIN_NAME) {\n history.push('/admin/dashboard');\n } else {\n history.push('/');\n }\n } else {\n history.push('/login');\n }\n\n // Receive Response for Forgot password\n if (apiRes && apiRes.requestFrom) {\n switch (apiRes.requestFrom) {\n case 'forgot-password':\n if (apiRes.response.status === true) {\n setForgotEmail('');\n }\n break;\n\n default:\n // code block\n }\n }\n\n // /* handling submit on pressing enter */\n // const listener = (event) => {\n // if (\n // event.code === constant.ENTER_PAD ||\n // event.code === constant.ENTER_NUM_PAD\n // ) {\n // handleSubmit();\n // }\n // };\n // document.addEventListener(\"keydown\", listener);\n // return () => {\n // document.removeEventListener(\"keydown\", listener);\n // };\n }, [user, isAuth, apiRes]);\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n let formErrors = {};\n\n if (typeof formValues.email !== 'undefined') {\n //regular expression for email validation\n var pattern = new RegExp(constant.EMAIL_PATTERN);\n\n if (!pattern.test(formValues.email)) {\n formErrors.email = 'Please enter valid email-ID.';\n }\n }\n\n if (!formValues.email && !formValues.password) {\n formErrors.email = constant.FORM_ERROR_EMAIL;\n formErrors.password = constant.FORM_ERROR_PASSWORD;\n }\n if (!formValues.email) {\n formErrors.email = constant.FORM_ERROR_EMAIL;\n }\n if (!formValues.password) {\n formErrors.password = constant.FORM_ERROR_PASSWORD;\n }\n\n setErrors(formErrors);\n\n if (Object.keys(formErrors).length === 0) {\n // await dispatch(SignIn(formValues));\n setUserFormSubmiting(true);\n\n try {\n let signInParams = formValues;\n\n //getting subdomain id is available\n if (subdomainID) {\n signInParams.subdomain_id = `${subdomainID}`;\n }\n\n const createResponse = await dispatch(SignIn(signInParams));\n const createResData = createResponse.data;\n setUserFormSubmiting(false);\n setErrors({});\n } catch (error) {\n /* error caught while creating customer */\n if (error.response) {\n const createResError = error.response.data;\n const formErrors = createResError.message;\n if (\n formErrors.subdomain_id ||\n formErrors === 'Subdomain does not exits'\n ) {\n toast.error('Invalid Subdomain');\n }\n toast.error(formErrors.subdomain || formErrors);\n\n setUserFormSubmiting(false);\n setErrors(formErrors);\n } else {\n toast.error('Check your internet connection');\n setUserFormSubmiting(false);\n setErrors(formErrors);\n }\n }\n }\n };\n\n const handleForgotPassword = async (event) => {\n event.preventDefault();\n\n var subdomain = window.location.host.split('.')[1]\n ? window.location.host.split('.')[0]\n : 'false';\n\n let formErrors = {};\n\n if (!forgotEmail) {\n formErrors.email = constant.FORM_ERROR_EMAIL;\n }\n\n setErrors(formErrors);\n\n if (Object.keys(formErrors).length === 0) {\n // await dispatch(ForgotPassword(forgotEmail));\n setChangePasswordLoading(true);\n\n try {\n const forgotResponse = await dispatch(\n ForgotPassword(forgotEmail, subdomain)\n );\n const forgotResData = forgotResponse.data;\n setChangePasswordLoading(false);\n setErrors({});\n } catch (error) {\n /* error caught while creating customer */\n if (error.response) {\n const forgotResError = error.response.data;\n const formErrors = forgotResError.message;\n setErrors(formErrors);\n setChangePasswordLoading(false);\n } else {\n toast.error('Check your internet connection');\n setChangePasswordLoading(false);\n setErrors(formErrors);\n }\n }\n setShowForgotPassword(true);\n }\n };\n\n const switchForm = (event) => {\n setShowForgotPassword(!showForgotPassword);\n setErrors({});\n };\n\n const facebookLogin = async (response) => {\n try {\n setFacebookLoginLoading(true);\n\n let signInParams = {};\n\n //getting subdomain id if available\n if (subdomainID) {\n signInParams.subdomain_id = `${subdomainID}`;\n }\n\n const createResponse = await dispatch(\n FacebookSignIn(response.accessToken, signInParams)\n );\n setFacebookLoginLoading(false);\n setErrors({});\n } catch (error) {\n /* error caught while creating customer */\n if (error.response) {\n const createResError = error.response.data.message;\n toast.error(createResError.subdomain || createResError);\n\n setFacebookLoginLoading(false);\n } else {\n toast.error('Check your internet connection');\n setFacebookLoginLoading(false);\n }\n }\n };\n\n const classes = useStyles();\n return (\n
\n \n \n
\n
\n \n
\n {!showForgotPassword ? (\n <>\n
\n \n Log In\n \n \n {' '}\n Please log in to your account using email & password\n \n
\n \n
\n \n \n \n \n \n \n \n \n
\n \n }\n className={classes.MuiFormControlLabel}\n label='Remember me'\n labelPlacement='end'\n />\n\n \n Forget Password\n \n
\n \n\n \n
\n \n Log in\n \n {userFormSubmiting && }\n
\n \n \n \n
\n \n {/* This facebook login package will handle the initialization of the FB SDK */}\n (\n \n \n \n
\n Log in with Facebook\n
\n
\n
\n )}\n callback={facebookLogin}\n onFailure={(error) => console.log({ error })}\n />\n \n \n ) : (\n <>\n
\n \n Forgot Password\n \n \n {' '}\n Simply enter the email address you are registered with\n below. An email will be sent with a link to reset your\n Password.\n \n
\n
\n
\n setForgotEmail(event.target.value)}\n fullWidth\n InputLabelProps={{\n classes: {\n root: classes.placeHolder,\n },\n }}\n />\n\n \n \n \n Cancel\n \n \n\n \n
\n \n Reset\n \n {changePasswordLoading && }\n
\n \n \n\n \n \n {' '}\n \n Remember your Password?\n \n \n {' '}\n \n \n  Log in\n \n \n \n \n
\n \n )}\n\n
\n \n Privacy\n \n
|
\n \n Terms of Service\n \n {/* \n Privacy | Terms of Services\n */}\n
\n \n \n {!match && (\n \n {bannerURL && (\n \n )}\n \n )}\n \n \n );\n};\n\nexport default Login;\n","import { Route, Redirect } from \"react-router-dom\";\nimport { useSelector } from \"react-redux\";\nconst AdminRoutes = ({ component: Component, roles, ...rest }) => {\n const { isAuth, token, user } = useSelector((state) => state.auth);\n\n return (\n {\n console.log(props);\n //token from state\n\n if (!isAuth) {\n // not logged in so redirect to login page with the return url\n return ;\n }\n\n // authorised so return component\n return ;\n }}\n />\n );\n};\n\nexport default AdminRoutes;\n","import React, { Fragment } from \"react\";\nimport {\n Avatar,\n Card,\n Typography,\n makeStyles,\n CardContent,\n} from \"@material-ui/core\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport CreateIcon from \"@material-ui/icons/Create\";\nimport Styles from \"./Styles\";\nimport * as constant from \"../../utlis/constant\";\n// get our fontawesome imports\n// import FontAwesome from 'react-fontawesome';\n// import faStyles from 'font-awesome/css/font-awesome.css';\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst Cards = ({ handleDeleteConfirm, item, getSelectedData }) => {\n const { user } = useSelector((state) => state.auth);\n const [shadow, setShadow] = React.useState(0);\n const dispatch = useDispatch();\n\n const classes = useStyles();\n return (\n \n setShadow(4)}\n onMouseOut={() => setShadow(0)}\n className={classes.cardContainer}\n >\n
\n \n \n \n\n \n {item.brand ? (\n \n {user.role === constant.SUPER_ADMIN_NAME\n ? item.brand.brand_name\n : `${item.first_name} ${item.last_name}`}\n \n ) : (\n \"\"\n )}\n \n {item.email}\n \n @{item.role} \n \n
\n\n
\n {/* */}\n getSelectedData(item)}\n />\n {/* handleDeleteConfirm(item)}\n /> */}\n
\n \n
\n );\n};\n\nexport default Cards;\n","export default (theme) => ({\n cardContainer: {\n width: \"100%\",\n borderRadius: \"5px\",\n position: \"relative\",\n paddingRight: 60,\n },\n imageTextContainer: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n iconContainer: {\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n display: \"flex\",\n alignItems: \"center\",\n background: \"#fff\",\n padding: \"0 10px\",\n },\n titleStyle: {\n fontSize: 16,\n color: \"#323232\",\n fontWeight: 600,\n },\n subtitleStyle: {\n fontSize: 14,\n color: \"#323232\",\n fontWeight: 600,\n },\n iconComponenticonComponent: {\n cursor: \"pointer\",\n },\n});\n","import { toast } from \"react-toastify\";\nimport * as constant from \"../../utlis/constant\";\nimport axios from \"axios\";\nimport LoadLogoAndBanner from \"./SettingActions\";\n\nexport const CreateCustomer = (customer) => async (dispatch) =>\n new Promise(function (resolve, reject) {\n const data = {\n subdomain: customer.brandName,\n first_name: customer.firstName,\n last_name: customer.lastName,\n email: customer.email,\n role: \"customer-admin\",\n contact_number: customer.phoneNumber,\n };\n if (!customer.brandName) {\n delete data.subdomain;\n }\n if (customer.userAccountsLimt) {\n data.user_accounts_limit = customer.userAccountsLimt;\n }\n if (customer.socialMediaProfilesLimt) {\n data.social_media_profiles_limit = customer.socialMediaProfilesLimt;\n }\n if (customer.employeeNumber) {\n data.employee_number = customer.employeeNumber;\n }\n if (customer.position) {\n data.position = customer.position;\n }\n if (customer.logo) {\n data.logo = customer.logo;\n }\n if (customer.logo) {\n data.logo = customer.logo;\n }\n if (customer.featured_image) {\n data.featured_image = customer.featured_image;\n }\n if (customer.role === constant.CUSTOMER_VIEWER_NAME) {\n data.role = customer.role;\n }\n if (customer.role === constant.SUPER_ADMIN_NAME) {\n data.role = customer.role;\n }\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)) {\n formData.set(key, value);\n }\n console.log(\"create customer form data\", customer);\n dispatch({\n type: \"CREATE_CUSTOMER_REQUEST\",\n });\n /* api call to create customer */\n axios\n .post(\"/create-users\", formData)\n .then((response) => {\n resolve(response);\n dispatch(GetCustomer());\n })\n .catch((error) => {\n reject(error);\n });\n });\n\nexport const GetCustomer = () => (dispatch) => {\n dispatch({\n type: \"GET_CUSTOMER_REQUEST\",\n });\n\n axios\n .get(\"/users\")\n .then((response) => {\n dispatch({\n type: \"GET_CUSTOMERS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n dispatch(CustomerFailed());\n });\n\n};\n\nexport const SearchCustomer = (page, query) => (dispatch) => {\n dispatch({\n type: \"GET_CUSTOMER_REQUEST\",\n });\n\n axios\n .get(\"/users\", {\n params: {\n page,\n query,\n },\n })\n .then((response) => {\n dispatch({\n type: \"GET_CUSTOMERS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n dispatch(CustomerFailed());\n });\n\n};\n\nexport const PaginateCustomer = (page) => (dispatch) => {\n dispatch({\n type: \"GET_CUSTOMER_REQUEST\",\n });\n\n axios\n .get(\"/users\", {\n params: {\n page,\n limit: 5,\n },\n })\n .then((response) => {\n dispatch({\n type: \"APPEND_GET_CUSTOMERS\",\n payload: response.data.data,\n });\n })\n .catch((error) => {\n dispatch(CustomerFailed());\n });\n\n};\n\nexport const UpdateCustomer = (customer, response) => async (dispatch) =>\n new Promise(function (resolve, reject) {\n const data = {\n subdomain: customer.brandName,\n user_id: customer.id,\n first_name: customer.firstName,\n last_name: customer.lastName,\n email: customer.email,\n contact_number: customer.phoneNumber,\n user_accounts_limit: customer.userAccountsLimt,\n social_media_profiles_limit: customer.socialMediaProfilesLimt,\n employee_number: customer.employeeNumber,\n position: customer.position,\n // active: customer.active,\n };\n\n if (customer.logo) {\n data.logo = customer.logo;\n }\n\n if (customer.featured_image) {\n data.featured_image = customer.featured_image;\n }\n\n if (customer.role) {\n data.role = customer.role;\n }\n\n var regex =\n /(http|https):\\/\\/(\\w+:{0,1}\\w*)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%!\\-\\/]))?/;\n\n if (regex.test(customer.logo)) {\n delete data.logo;\n }\n\n if (regex.test(customer.featured_image)) {\n delete data.featured_image;\n }\n\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(data)) {\n formData.set(key, value);\n }\n console.log(\"updating customer\", customer);\n /* api call to update customer */\n axios\n .put(`/users/${customer.id}/update`, formData)\n .then((response) => {\n // dispatch(GetCustomer());\n resolve(response);\n })\n .catch((error) => {\n reject(error);\n });\n });\n\nexport const UpdateCustomerBanner = (customer, response) => async (dispatch) =>\n new Promise(function (resolve, reject) {\n const data = {\n logo: customer.logo,\n featured_image: customer.featured_image,\n };\n\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(data)) {\n formData.set(key, value);\n }\n\n axios\n .put(\"/customer-logo-banners\", formData)\n .then((response) => {\n toast.success(response.data.message);\n dispatch({\n type: \"UPDATE_LOGO_AND_BANNER\",\n payload: {\n logo: response.data.data.logo,\n feature_image: response.data.data.feature_image,\n },\n });\n resolve(response);\n })\n .catch((error) => {\n reject(error);\n });\n });\n\nexport const DeleteCustomer = (user_id) => (dispatch) =>\n\n new Promise(function (resolve, reject) {\n axios\n .delete(`/users/${user_id}/delete`)\n .then((response) => {\n toast.success(response.data.message);\n dispatch(GetCustomer());\n resolve(response);\n })\n .catch((error) => {\n reject(error);\n });\n });\n\n\n\nconst CustomerFailed = (store, error) => {\n return {\n type: \"CUSTOMER_FAILED\",\n };\n};\n\n\nexport const linkSocialPlatform = (accessToken) => async (dispatch) =>\n new Promise(function (resolve, reject) {\n axios\n .post(\"/integration\", {accessToken,platform:\"facebook\"})\n .then((response) => {\n console.log(response)\n // dispatch({\n // type: \"UPDATE_LOGO_AND_BANNER\",\n // payload: {\n\n // },\n // });\n resolve(response);\n })\n .catch((error) => {\n reject(error);\n });\n });","import React from \"react\";\nimport {\n TextField,\n Avatar,\n makeStyles,\n Typography,\n Button,\n List,\n ListItem,\n InputAdornment,\n withStyles,\n useMediaQuery,\n useTheme,\n} from \"@material-ui/core\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport clsx from \"clsx\";\nimport KeyboardBackspaceIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport PersonAddIcon from \"@material-ui/icons/PersonAdd\";\nimport RotateLeftIcon from \"@material-ui/icons/RotateLeft\";\nimport Cards from \"../Cards\";\nimport Buttons from \"../Buttons/Buttons\";\nimport {\n GetCustomer,\n PaginateCustomer,\n SearchCustomer,\n} from \"../../store/actions/CustomersAction\";\nimport Spinner from \"../Spinner\";\nimport Styles from \"./Styles\";\nimport Alert from \"../AlertBox/Alert\";\nimport { DeleteCustomer } from \"../../store/actions/CustomersAction\";\nimport ErrorOutlineIcon from \"@material-ui/icons/ErrorOutline\";\nimport PersonIcon from \"@material-ui/icons/Person\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst StyledTextField = withStyles({\n root: {\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderRadius: 12,\n },\n },\n \"& .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#E0E0E0\",\n },\n },\n})(TextField);\n\nconst Sidebar = ({\n getSelectedData,\n addUserData,\n match,\n resetForm,\n editData,\n errors,\n validationErrors,\n userFormSubmiting,\n responseMessage,\n handleCancle\n}) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [page, setPage] = React.useState(1);\n // const [open, setOpen] = React.useState(false);\n const [newMatch, setNewMatch] = React.useState(false);\n const [searchPage, setSearchPage] = React.useState(1);\n const [searchMore, setSearchMore] = React.useState(false);\n const [load, setLoad] = React.useState(false);\n const [search, setSearch] = React.useState(\"\");\n const dispatch = useDispatch();\n const [confirmOpen, setConfirmOpen] = React.useState(false);\n const [itemToDelete, setItemToDelete] = React.useState(null);\n\n const { customers, getCustomersLoading } = useSelector(\n (state) => state.customerInfo\n );\n console.log(\"show user form submitting\", userFormSubmiting);\n async function fetchCustomers() {\n await dispatch(GetCustomer());\n // setPage(1)\n }\n\n async function fetchNewCustomers(page) {\n await dispatch(PaginateCustomer(page));\n }\n\n async function fetchSearchCustomers(page, search) {\n await dispatch(SearchCustomer(page, search));\n }\n\n function handleDeleteConfirm(item) {\n setItemToDelete(item);\n setConfirmOpen(true);\n }\n\n const handleDelete = async () => {\n console.log(\"Item to Delete\", itemToDelete);\n if (itemToDelete) {\n await dispatch(DeleteCustomer(itemToDelete.id));\n resetForm();\n editData({});\n errors({});\n validationErrors({});\n }\n };\n\n React.useEffect(() => {\n fetchCustomers();\n }, []);\n React.useEffect(() => {\n if (responseMessage) {\n fetchSearchCustomers(page, search);\n }\n }, [responseMessage]);\n\n React.useEffect(() => {\n if (load) {\n fetchNewCustomers(page);\n setLoad(false);\n }\n }, [page, load]);\n\n React.useEffect(() => {\n if (searchMore) {\n fetchNewCustomers(searchPage);\n setSearchMore(false);\n }\n }, [searchPage, searchMore]);\n\n React.useEffect(() => {\n if (match) {\n setNewMatch(true);\n } else {\n setNewMatch(false);\n }\n }, [match]);\n\n React.useEffect(() => {\n if (userFormSubmiting) {\n setPage(1);\n }\n }, [userFormSubmiting]);\n\n const classes = useStyles({ xs });\n\n const handleSearchChange = (event) => {\n if (event) {\n setSearch(event.target.value);\n }\n };\n\n React.useEffect(() => {\n if (search) {\n fetchSearchCustomers(searchPage, search);\n } else {\n fetchCustomers(page)\n }\n\n }, [search])\n\n return (\n \n \n
\n
\n \n User Management\n \n \n \n {/* {!newMatch && openDrawer && ( */}\n Add User\n {/* )} */}\n \n
\n \n \n \n ),\n // endAdornment: (\n // \n // {setSearch(\"\"); handleCancle()}}\n // style={{\n // color: \"#323132\",\n // height: 18,\n // width: 18,\n // cursor: \"pointer\",\n // }}\n // />\n // \n // ),\n }}\n // onChange={(event) => {\n // setSearch(event.target.value);\n // setSearchPage(1);\n // if (event.target.value) {\n // setTimeout(\n // () => fetchSearchCustomers(searchPage, search),\n // 1000\n // );\n // } else {\n // setTimeout(() => fetchCustomers(page), 1000);\n // }\n // }}\n onChange={handleSearchChange}\n />\n
\n \n {getCustomersLoading && (\n \n )}\n {customers && customers.users && customers.users.length > 0 ? (\n customers.users.map(\n (item, index) => (\n \n getSelectedData(item)}\n />\n \n )\n // )\n )\n ) : (\n No Users Found!\n )}\n\n \n {getCustomersLoading &&
}\n
\n\n {!newMatch && (\n \n {customers &&\n customers.users &&\n customers.users.length > 0 &&\n (customers.users.length === customers.totalUsers\n ? (load || searchMore) && (\n You have reached till end\n )\n : customers &&\n customers.users.length >= 5 &&\n (search ? (\n {\n setSearchPage(searchPage + 1);\n setSearchMore(true);\n }}\n >\n Load More{\" \"}\n \n \n ) : (\n {\n setPage(page + 1);\n setLoad(true);\n }}\n >\n Load More{\" \"}\n \n \n )))}\n \n )}\n
\n \n {handleDeleteConfirm == true}\n {\n }\n title=\"Are you sure?\"\n confirmBtn=\"DELETE\"\n description=\"You're about to Delete the user. This process cannot be undone.\"\n open={confirmOpen}\n setOpen={setConfirmOpen}\n onConfirm={handleDelete}\n buttonbgcolor=\"#f50057\"\n />\n }\n
\n );\n};\n\nexport default Sidebar;\n","export default (theme) => ({\n sidebar: {\n height: \"100%\",\n maxHeight: \"calc(100vh - 65px)\",\n display: \"flex\",\n flexDirection: \"column\",\n padding: \"30px 20px\",\n },\n asideTop: {\n padding: \"12px\",\n },\n asideBottom: {\n overflowY: \"auto\",\n },\n // drawer: {\n // backgroundColor: \"#e1f1f1\",\n // width: drawerWidth,\n // },\n // drawerOpen: {\n // backgroundColor: \"#FAFAFA\",\n // transition: theme.transitions.create(\"100%\", {\n // easing: theme.transitions.easing.sharp,\n // duration: theme.transitions.duration.enteringScreen,\n // }),\n // position: \"relative\",\n\n // },\n\n // drawerClose: {\n // backgroundColor: \"#e1f1f1\",\n // transition: theme.transitions.create(\"width\", {\n // easing: theme.transitions.easing.sharp,\n // duration: theme.transitions.duration.leavingScreen,\n // }),\n // overflowX: \"hidden\",\n // width: theme.spacing(7) + 1,\n // [theme.breakpoints.up(\"md\")]: {\n // width: theme.spacing(9) + 1,\n // },\n // },\n\n // textField: {\n // backgroundColor: \"#fff\",\n // width: \"100%\",\n // \"& .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n // borderColor: \"#33918A\",\n // },\n // },\n userType: {\n color: \"#f8c144\",\n fontSize: 24,\n },\n userContainer: {\n display: (props) => (props.xs ? \"block\" : \"flex\"),\n justifyContent: \"space-between\",\n width: \"100%\",\n // marginTop: theme.mixins.toolbar.minHeight,\n margin: \"18px 0\",\n textAlign: \"center\"\n },\n\n iconTextContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n backIcon: {\n marginLeft: 8,\n color: \"#33918A\",\n fontWeight: 600,\n },\n navTextStyle: {\n textTransform: \"none\",\n marginLeft: 8,\n fontSize: 12,\n },\n // iconButtonContainer: {\n // borderColor: \"#323132\",\n // },\n\n userItem: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"spaceBetween\",\n borderRadius: \"5px\",\n },\n\n \"@keyframes rotate\": {\n \"0%\": {\n transform: \"rotate(0deg)\",\n },\n \"100%\": {\n transform: \"rotate(-360deg)\",\n },\n },\n\n loadBtn: {\n color: \"#323132\",\n margin: \"auto\",\n\n // '&:hover': {\n // cursor: 'pointer',\n // backgroundColor: theme.palette.grey[100],\n // \"& $loadBtnIcon\": {\n // color: \"purple\"\n // }\n // },\n \"&:hover\": {\n \"& $loadBtnIcon\": {\n animation: \"$rotate .5s ease-in-out\",\n },\n },\n },\n\n loadBtnIcon: {\n display: \"block\",\n },\n\n alertIcon: {\n fontSize: \"5rem\",\n color: \"#f50057\",\n paddingBottom: 0,\n },\n});\n","// imports the React Javascript Library\nimport React, { useState, useEffect } from \"react\";\nimport {\n Grid,\n Button,\n Checkbox,\n FormControlLabel,\n Typography,\n makeStyles,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\n//Card\nimport Card from \"@material-ui/core/Card\";\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\nimport CardHeader from \"@material-ui/core/CardHeader\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport CardActions from \"@material-ui/core/CardActions\";\nimport CardMedia from \"@material-ui/core/CardMedia\";\n\nimport Fab from \"@material-ui/core/Fab\";\n\nimport red from \"@material-ui/core/colors/red\";\nimport blue from \"@material-ui/core/colors/blue\";\n\nimport Icon from \"@material-ui/core/Icon\";\nimport PageviewIcon from \"@material-ui/icons/Pageview\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport AddPhotoAlternateIcon from \"@material-ui/icons/AddPhotoAlternate\";\nimport CollectionsIcon from \"@material-ui/icons/Collections\";\n\n//Tabs\nimport { withStyles } from \"@material-ui/core/styles\";\n\nconst styles = (theme) => ({\n root: {\n backgroundColor: theme.palette.background.paper,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n border: \"1px solid rgba(0, 0, 0, 0.23)\",\n borderRadius: 10,\n },\n uploadImgCard: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"relative\",\n width: \"100%\",\n height: 250,\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n borderColor: \"rgba(0, 0, 0, 0.23)\",\n },\n icon: {\n margin: theme.spacing.unit * 2,\n },\n iconHover: {\n margin: theme.spacing.unit * 2,\n \"&:hover\": {\n color: red[800],\n },\n },\n uploadContainer: {\n width: \"100%\",\n },\n cardHeader: {\n textalign: \"center\",\n align: \"center\",\n backgroundColor: \"white\",\n },\n input: {\n opacity: 0,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n right: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n },\n title: {\n color: blue[800],\n fontWeight: \"bold\",\n fontFamily: \"Montserrat\",\n align: \"center\",\n },\n button: {\n color: \"#F8C144\",\n margin: 10,\n background: \"rgba(248, 193, 68, 0.2) !important\",\n },\n secondaryButton: {\n color: \"gray\",\n margin: 10,\n },\n typography: {\n margin: theme.spacing.unit * 2,\n backgroundColor: \"default\",\n },\n\n searchRoot: {\n padding: \"2px 4px\",\n display: \"flex\",\n alignItems: \"center\",\n width: 400,\n },\n searchInput: {\n marginLeft: 8,\n flex: 1,\n },\n searchIconButton: {\n padding: 10,\n },\n searchDivider: {\n width: 1,\n height: 28,\n margin: 4,\n },\n cancleIcon: {\n position: \"absolute\",\n top: 5,\n right: 5,\n background: \"#000\",\n color: \"#fff\",\n borderRadius: \"50%\",\n boxShadow:\n \"0px 3px 3px -2px rgba(0,0,0,0.2), 0px 3px 4px 0px rgba(0,0,0,0.14), 0px 1px 8px 0px rgba(0,0,0,0.12)\",\n },\n\n UploadBtn: {\n display: \"flex\",\n alignItems: \"center\",\n },\n uploadedImg: {\n objectFit: \"contain\",\n maxHeight: \"250px\",\n },\n});\n\nconst ImageUploadCard = (props) => {\n const [state, setState] = useState({\n mainState: \"initial\",\n selectedFile: null,\n imgPreview: \"\",\n id: props.id,\n defaultImg: null,\n });\n\n /* handlig default image on update*/\n useEffect(() => {\n setState({\n ...state,\n imgPreview: props.defaultImg,\n mainState: props.defaultImg ? \"uploaded\" : \"initial\",\n defaultImg: props.defaultImg,\n });\n }, [props.defaultImg]);\n\n /* handling image on creating new customer*/\n useEffect(() => {\n if (props.refresh == true) {\n props.setRefreshImgUploadComponent(false);\n\n setState({\n ...state,\n imgPreview: \"\",\n mainState: \"initial\",\n defaultImg: \"\",\n });\n }\n }, [props.refresh]);\n\n const handleUploadClick = (event) => {\n var file = event.target.files[0];\n\n const reader = new FileReader();\n\n if (file && file.type.match('image.*')) {\n reader.readAsDataURL(file);\n } else return\n reader.onloadend = function (e) {\n setState({\n ...state,\n mainState: \"uploaded\",\n selectedFile: event.target.files[0],\n imageUploaded: 1,\n imgPreview: [reader.result],\n });\n };\n\n /* passing file to parent component by calling parent method */\n props.getSelectedData(event.target.files[0]);\n };\n\n const renderInitialState = () => {\n const { classes, theme } = props;\n const { value } = state;\n\n return (\n \n \n \n \n\n \n \n \n \n );\n };\n\n const renderUploadedState = () => {\n const { classes, theme, previewImg, defaultImg } = props;\n\n return (\n \n \n \n \"\"\n {/* */}\n \n \n );\n };\n\n const imageResetHandler = (event) => {\n setState({\n ...state,\n mainState: \"initial\",\n selectedFile: null,\n imgPreview: \"\",\n // defaultImg: \"\",\n imageUploaded: 0,\n });\n\n /* passing file to parent component by calling parent method */\n props.getSelectedData(null);\n };\n\n const { classes, theme } = props;\n\n return (\n \n
\n \n {(state.mainState == \"initial\" && renderInitialState()) ||\n (state.mainState == \"uploaded\" && renderUploadedState())}\n \n
\n
\n );\n};\n\nexport default withStyles(styles, { withTheme: true })(ImageUploadCard);\n","import React from \"react\";\nimport Layout from \"../../Components/Layout\";\nimport {\n Box,\n Grid,\n Typography,\n makeStyles,\n // Drawer,\n useMediaQuery,\n useTheme,\n Container,\n RadioGroup,\n FormControlLabel,\n Radio,\n FormControl,\n Fab,\n IconButton,\n Avatar,\n CardMedia,\n Paper,\n withStyles,\n ButtonGroup,\n Button,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n NativeSelect,\n MenuItem,\n} from \"@material-ui/core\";\nimport TextField from \"@material-ui/core/TextField\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport Sidebar from \"../../Components/Sidebar\";\nimport Buttons from \"../../Components/Buttons/Buttons\";\nimport Spinner from \"../../Components/Spinner\";\nimport {\n CreateCustomer,\n DeleteCustomer,\n UpdateCustomer,\n} from \"../../store/actions/CustomersAction\";\nimport { connect } from \"react-redux\";\nimport styles from \"./Styles\";\nimport * as constant from \"../../utlis/constant\";\nimport UploadImg from \"../../Components/UploadImg\";\nimport \"./Styles/style.css\";\nimport Alert from \"../../Components/AlertBox/Alert\";\nimport ErrorOutlineIcon from \"@material-ui/icons/ErrorOutline\";\nimport CheckCircleOutlineIcon from \"@material-ui/icons/CheckCircleOutline\";\nimport Select from '@material-ui/core/Select';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport { toast } from \"react-toastify\";\n\n\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst StyledTextField = withStyles({\n root: {\n borderRadius: 15,\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderRadius: 12,\n },\n },\n },\n})(TextField);\n\n\n\nconst UserManagement = ({ history }) => {\n const [userFormSubmiting, setUserFormSubmiting] = React.useState(false);\n const [superAdmin, setSuperAdmin] = React.useState(false);\n const [customerAdmin, setCustomerAdmin] = React.useState(true);\n const { user } = useSelector((state) => state.auth);\n const { logoUrl, bannerUrl } = useSelector((state) => state.settings);\n const dispatch = useDispatch();\n const [formValues, setFormValues] = React.useState({\n brandName: \"\",\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n phoneNumber: \"\",\n employeeNumber: \"\",\n position: \"\",\n role: \"\",\n logo: \"\",\n featured_image: \"\",\n userAccountsLimt: \"\",\n socialMediaProfilesLimt: \"\",\n });\n const [errors, setErrors] = React.useState({});\n const [validationErrors, setValidationErrors] = React.useState({});\n const [editData, setEditData] = React.useState({});\n const [\n refreshImgUploadComponent,\n setRefreshImgUploadComponent,\n ] = React.useState(false);\n const [\n refreshImgUpdateComponent,\n setRefreshImgUpdateComponent,\n ] = React.useState(false);\n const [itemToDelete, setItemToDelete] = React.useState(null);\n const [deleteAlertOpen, setDeleteAlertOpen] = React.useState(false);\n const [userAddedAlertOpen, setUserAddedAlertOpen] = React.useState(false);\n const [responseMessage, setResponseMessage] = React.useState(\"\");\n\n console.log(\"show response messgae\", responseMessage);\n\n const handleChange = (event) => {\n let inputValue =\n event.target.name == \"logo\" || event.target.name == \"featured_image\"\n ? event.target.files[0]\n : event.target.value;\n\n setFormValues((prevState) => ({\n ...prevState,\n [event.target.name]: inputValue,\n }));\n };\n\n /* Resetting the form values */\n const resetCustomerForm = () => {\n setFormValues({\n brandName: \"\",\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n phoneNumber: \"\",\n employeeNumber: \"\",\n position: \"\",\n role: \"\",\n logo: \"\",\n featured_image: \"\",\n userAccountsLimt: \"\",\n socialMediaProfilesLimt: \"\",\n });\n };\n React.useEffect(() => {\n if (user.role === constant.CUSTOMER_VIEWER_NAME) {\n history.push(\"/admin/dashboard\");\n }\n }, [user]);\n\n const onSubmit = async (event) => {\n // Special Characters\n const specialCharacters = /[ `!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~]/;\n const imageExtensions = /\\.(jpe?g|png|gif|bmp)$/i;\n\n event.preventDefault();\n\n let formErrors = {};\n\n /** Logo and Banner Validation **/\n\n // Check for Special Characters\n // if (\n // user.role === constant.SUPER_ADMIN_NAME &&\n // specialCharacters.test(formValues.brandName)\n // ) {\n // formErrors.brandName =\n // \"Sub Domain cannot contain any special characters.\";\n // }\n\n // Check for empty value\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !formValues.brandName\n ) {\n formErrors.brandName = \"Sub Domain is Required\";\n }\n\n if (!formValues.firstName) {\n formErrors.firstName = \"First Name is Required\";\n }\n\n if (!formValues.lastName) {\n formErrors.lastName = \"Last Name is Required\";\n }\n\n if (!formValues.email) {\n formErrors.email = \"Email is Required\";\n }\n if (typeof formValues.email !== \"undefined\") {\n //regular expression for email validation\n var pattern = new RegExp(constant.EMAIL_PATTERN);\n if (!pattern.test(formValues.email)) {\n formErrors.email = \"Please enter valid email-ID.\";\n }\n }\n if (user.role === constant.CUSTOMER_ADMIN_NAME && !formValues.position) {\n formErrors.position = \"Position is Required\";\n }\n if (user.role === constant.CUSTOMER_ADMIN_NAME && !formValues.role) {\n formErrors.role = \"User Role is Required\";\n }\n\n if (\n user.role === constant.CUSTOMER_ADMIN_NAME &&\n !formValues.employeeNumber\n ) {\n formErrors.employeeNumber = \"Employee Number is Required\";\n }\n if (!formValues.phoneNumber) {\n formErrors.phoneNumber = \"Contact Number is Required\";\n }\n /* checking if the fields contains only number */\n if (isNaN(formValues.phoneNumber)) {\n formErrors.phoneNumber = \"Contact Number must be a valid \";\n }\n if (specialCharacters.test(formValues.phoneNumber)) {\n formErrors.phoneNumber =\n \"Contact Number cannot contain any special characters.\";\n }\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !formValues.userAccountsLimt\n ) {\n formErrors.userAccountsLimt = \" Account limit is Required\";\n }\n if (isNaN(formValues.userAccountsLimt)) {\n formErrors.userAccountsLimt =\n \"The user account limit must be an integer \";\n }\n if (formValues.userAccountsLimt === \"0\") {\n formErrors.userAccountsLimt =\n \"The user account limit must be greater than 0 \";\n }\n if (specialCharacters.test(formValues.userAccountsLimt)) {\n formErrors.userAccountsLimt =\n \"Account limit cannot contain any special characters.\";\n }\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !formValues.socialMediaProfilesLimt\n ) {\n formErrors.socialMediaProfilesLimt =\n \" Social Media Profile limit is Required\";\n }\n if (isNaN(formValues.socialMediaProfilesLimt)) {\n formErrors.socialMediaProfilesLimt =\n \"The social media profile limit must be an integer \";\n }\n if (formValues.socialMediaProfilesLimt === \"0\") {\n formErrors.socialMediaProfilesLimt =\n \"Social Media Profile limit must be greater than 0 \";\n }\n if (specialCharacters.test(formValues.socialMediaProfilesLimt)) {\n formErrors.socialMediaProfilesLimt =\n \"Social Media Profile limit cannot contain any special characters.\";\n }\n\n // Create Validation due to API data structuring\n if (Object.keys(editData).length === 0) {\n // File type validation\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !imageExtensions.test(formValues.logo.name)\n ) {\n formErrors.logo = \"Image must be valid image file.\";\n }\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !imageExtensions.test(formValues.featured_image.name)\n ) {\n formErrors.featured_image = \"Image must be valid image file.\";\n }\n\n // Image Size Validation\n // if (\n // user.role === constant.SUPER_ADMIN_NAME &&\n // customerAdmin &&\n // formValues.logo.size > 2097152\n // ) {\n // formErrors.logo = \"Logo cannot be greater than 2 MB.\";\n // }\n // if (\n // user.role === constant.SUPER_ADMIN_NAME &&\n // customerAdmin &&\n // formValues.featured_image.size < 2097152\n // ) {\n // formErrors.featured_image =\n // \"Featured Image cannot be smaller than 2 MB.\";\n // }\n }\n\n // Edit Validation due to API data structuring\n else {\n // File type validation\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !imageExtensions.test(editData.CustomerSubdomain.logo)\n ) {\n formErrors.logo = \"Image must be valid image file.\";\n }\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !imageExtensions.test(editData.CustomerSubdomain.feature_image)\n ) {\n formErrors.featured_image = \"Image must be valid image file.\";\n }\n\n // Image Size Validation\n // if (\n // user.role === constant.SUPER_ADMIN_NAME &&\n // customerAdmin &&\n // formValues.logo.size > 2097152\n // ) {\n // formErrors.logo = \"Logo cannot be greater than 2 MB.\";\n // }\n // if (\n // user.role === constant.SUPER_ADMIN_NAME &&\n // customerAdmin &&\n // formValues.featured_image.size < 2097152\n // ) {\n // formErrors.featured_image =\n // \"Featured Image cannot be smaller than 2 MB.\";\n // }\n }\n\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !formValues.logo\n ) {\n formErrors.logo = \"Logo is Required\";\n }\n\n if (\n user.role === constant.SUPER_ADMIN_NAME &&\n customerAdmin &&\n !formValues.featured_image\n ) {\n formErrors.featured_image = \"Brand banner image is Required\";\n }\n\n setErrors(formErrors);\n\n if (Object.keys(formErrors).length === 0) {\n //call api and add user data\n setUserFormSubmiting(true);\n\n if (Object.keys(editData).length === 0) {\n /* Creating customer */\n try {\n const createResponse = await dispatch(CreateCustomer(formValues));\n const createResData = createResponse.data.message;\n setUserAddedAlertOpen(true);\n setResponseMessage(createResData);\n resetCustomerForm();\n setUserFormSubmiting(false);\n setRefreshImgUploadComponent(true);\n setValidationErrors({});\n setCustomerAdmin(true)\n setSuperAdmin(false)\n } catch (error) {\n /* error caught while creating customer */\n if (error.response) {\n toast.error(error.response.data.message)\n const createResError = await error.response.data;\n const createErrorMsg = createResError.message;\n setUserFormSubmiting(false);\n setRefreshImgUploadComponent(false);\n setValidationErrors(createErrorMsg);\n } else {\n toast.error(\"Check your internet connection\")\n setUserFormSubmiting(false);\n setRefreshImgUploadComponent(false);\n\n }\n }\n } else {\n /* Updating customer */\n try {\n const updateResponse = await dispatch(\n UpdateCustomer({\n ...formValues,\n id: editData.id,\n active: editData.active,\n })\n );\n const updateResData = updateResponse.data.message;\n setUserAddedAlertOpen(true);\n setResponseMessage(updateResData);\n resetCustomerForm();\n setUserFormSubmiting(false);\n setRefreshImgUploadComponent(true);\n setRefreshImgUpdateComponent(true);\n setEditData({});\n setValidationErrors({});\n setCustomerAdmin(true)\n setSuperAdmin(false)\n } catch (error) {\n /* error caught while updating customer */\n if (error.response) {\n const updateresError = error.response.data.message;\n setValidationErrors(updateresError);\n setUserFormSubmiting(false);\n } else {\n toast.error(\"Check your internet connection\")\n setUserFormSubmiting(false);\n\n }\n }\n }\n }\n };\n\n const getSelectedData = (editInfoData) => {\n setEditData(editInfoData);\n setErrors({});\n };\n const addUserData = () => {\n resetCustomerForm();\n setEditData({});\n setErrors({});\n setSuperAdmin(false);\n setCustomerAdmin(true);\n };\n\n React.useEffect(() => {\n if (editData !== {}) {\n let brandName = editData.CustomerSubdomain\n ? editData.CustomerSubdomain.subdomain\n : \"\";\n let logo = editData.CustomerSubdomain\n ? editData.CustomerSubdomain.logo\n : \"\";\n let featured_image = editData.CustomerSubdomain\n ? editData.CustomerSubdomain.feature_image\n : \"\";\n let user_accounts_limit = editData.CustomerSubdomain\n ? editData.CustomerSubdomain.user_accounts_limit\n : \"\";\n let social_media_profiles_limit = editData.CustomerSubdomain\n ? editData.CustomerSubdomain.social_media_profiles_limit\n : \"\";\n\n setFormValues({\n brandName: brandName,\n firstName: editData.first_name,\n lastName: editData.last_name,\n email: editData.email,\n phoneNumber: editData.contact_number,\n employeeNumber: editData.employee_number,\n position: editData.position,\n role: editData.role,\n logo: logo,\n featured_image: featured_image,\n userAccountsLimt: user_accounts_limit,\n socialMediaProfilesLimt: social_media_profiles_limit,\n\n });\n setValidationErrors({})\n } else {\n resetCustomerForm();\n }\n /* switching form on editing user */\n if (editData.role === constant.SUPER_ADMIN_NAME) {\n setSuperAdmin(true);\n setCustomerAdmin(false);\n }\n if (editData.role === constant.CUSTOMER_ADMIN_NAME) {\n setSuperAdmin(false);\n setCustomerAdmin(true);\n }\n }, [editData]);\n\n /* checking for api response after submit>> */\n\n /* SETTING logo IMAGE TO STATE */\n const logoImageHandler = (item) => {\n setFormValues((prevState) => ({\n ...prevState,\n logo: item,\n }));\n };\n\n /* SETTING BANNER IMAGE TO STATE */\n const bannerImageHandler = (item) => {\n setFormValues((prevState) => ({\n ...prevState,\n featured_image: item,\n }));\n };\n\n /* deleteing selected customer */\n const handleDelete = async () => {\n if (editData) {\n try {\n await dispatch(DeleteCustomer(editData.id));\n resetCustomerForm();\n setEditData({});\n resetCustomerForm();\n setSuperAdmin(false);\n setCustomerAdmin(true);\n } catch (error) {\n if (error.response) {\n toast.error(error.response.data.message)\n } else {\n toast.error(\"Check your internet connection\")\n }\n }\n }\n };\n\n /* switching form for super-admin */\n const changeSuperAdmin = () => {\n setSuperAdmin(true);\n setCustomerAdmin(false);\n resetCustomerForm();\n setValidationErrors({});\n setErrors({});\n setEditData({});\n };\n\n /* switching form for customer-admin */\n const changeCustomerAdmin = () => {\n setCustomerAdmin(true);\n setSuperAdmin(false);\n resetCustomerForm();\n setErrors({});\n setValidationErrors({});\n setEditData({});\n };\n\n /* setting role value inside formValues object */\n React.useEffect(() => {\n if (superAdmin) {\n setFormValues({\n ...formValues,\n role: constant.SUPER_ADMIN_NAME,\n });\n }\n }, [superAdmin]);\n\n console.log(\"Form Value Role\", formValues.role)\n\n /* deleting added social media profiles dialog opens */\n const deleteUser = (data) => {\n setDeleteAlertOpen(true);\n setItemToDelete(data);\n };\n\n /*handling cancle buttom */\n const handleCancle = () => {\n resetCustomerForm();\n setEditData({});\n setErrors({});\n setValidationErrors({})\n setSuperAdmin(false);\n setCustomerAdmin(true);\n };\n\n console.log(\"api error\", validationErrors)\n const classes = useStyles();\n\n const menuProps = {\n borderRadius: \"12px\",\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\",\n borderRadius: 12\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\"\n },\n getContentAnchorEl: null\n };\n return (\n \n \n \n \n \n \n \n {Object.keys(editData).length === 0 ? (\n \n New User\n \n ) : (\n
\n \n Update User\n \n \n Delete User\n \n \n }\n title=\"Are you sure?\"\n confirmBtn=\"DELETE\"\n description=\"You're about to Delete the profile. This process cannot be undone.\"\n open={deleteAlertOpen}\n setOpen={setDeleteAlertOpen}\n onConfirm={handleDelete}\n buttonbgcolor=\"#f50057\"\n />\n
\n )}\n {user.role === constant.SUPER_ADMIN_NAME ?\n Object.keys(editData).length === 0 ?
\n \n Create Customer Admin\n \n \n {\" \"}\n Create Super Admin{\" \"}\n \n
: \"\"\n : ''\n }\n \n \n {user.role === constant.SUPER_ADMIN_NAME ? (\n superAdmin ? (\n \"\"\n ) : (\n \n \n \n )\n ) : (\n \" \"\n )}\n \n\n \n \n \n \n \n \n \n \n {user.role === constant.CUSTOMER_ADMIN_NAME && (\n \n \n \n )}\n {user.role === constant.CUSTOMER_ADMIN_NAME && (\n \n \n \n )}\n \n \n \n {user.role === constant.SUPER_ADMIN_NAME ? (\n superAdmin ? (\n \"\"\n ) : (\n \n \n \n )\n ) : (\n \"\"\n )}\n\n {user.role === constant.SUPER_ADMIN_NAME ? (\n superAdmin ? (\n \" \"\n ) : (\n \n \n \n )\n ) : (\n \"\"\n )}\n\n {user.role === constant.SUPER_ADMIN_NAME ? (\n \"\"\n ) : (\n \n \n \n \n User Role*\n \n Admin\n Viewer\n \n {errors.role ?\n User Role is Required\n : ''\n }\n\n \n\n \n )}\n\n {user.role === constant.SUPER_ADMIN_NAME ? (\n \n {superAdmin ? (\n \"\"\n ) : (\n \n {\n logoImageHandler(item);\n }}\n refresh={refreshImgUploadComponent}\n setRefreshImgUploadComponent={\n setRefreshImgUploadComponent\n }\n />\n \n {\" \"}\n {(errors && errors.logo) ||\n (validationErrors.logo && validationErrors.logo.message) ||\n (validationErrors.brand_logo_size &&\n validationErrors.brand_logo_size)}{\" \"}\n \n \n )}\n\n {superAdmin ? (\n \"\"\n ) : (\n \n {\n bannerImageHandler(item);\n }}\n refresh={refreshImgUploadComponent}\n setRefreshImgUploadComponent={\n setRefreshImgUploadComponent\n }\n />\n \n {\" \"}\n {(errors && errors.featured_image) ||\n (validationErrors.featured_image && validationErrors.featured_image.message) ||\n (validationErrors.brand_featured_size &&\n validationErrors.brand_featured_size)}{\" \"}\n \n \n )}\n \n ) : (\n \"\"\n )}\n\n
\n\n \n {Object.keys(editData).length !== 0 && (\n \n Cancel\n \n )}\n \n {Object.keys(editData).length === 0 ? \"Save\" : \"Update\"}\n\n {userFormSubmiting && }\n \n \n \n \n
\n \n {userAddedAlertOpen && (\n \n \n \n \n \n {\" \"}\n {responseMessage}\n \n\n \n {\n setUserAddedAlertOpen(false);\n setResponseMessage(\"\")\n }}\n variant=\"contained\"\n >\n done\n \n \n \n )}\n
\n );\n};\n\nconst mapDispatchToProps = { CreateCustomer, UpdateCustomer };\n\nexport default connect(null, mapDispatchToProps)(UserManagement);\n","export default (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n },\n\n formContainer: {\n padding: \"55px 30px\",\n background: \"#fff\",\n height: \"100%\",\n minHeight: \"calc(100vh - 65px)\",\n },\n\n inputField: {\n width: \"100%\",\n borderRadius: 30, \n // padding: \"15px 14px\",\n }, \n\n errorHelperText: {\n color: \"#f44336\"\n },\n\n userType: {\n color: \"#f8c144\",\n fontSize: 24,\n },\n userManagementForm: {\n // width: \"calc(100vh - 60px)\",\n marginTop: 20,\n },\n fileUploadConatiner: {\n display: \"flex\",\n margin: 0,\n },\n fileUploadbutton: {\n backgroundColor: \"#FBE281\",\n },\n radio: {\n \"&$checked\": {\n color: \"#FBE281\",\n },\n },\n checked: {},\n imgError: {\n color: \" #f44336\",\n fontSize: \"0.75rem\",\n marginLeft: \"15px\",\n marginTop: \"5px\",\n },\n});\n","\nconst Classes = (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n background: \"#fff\",\n },\n formContainer: {\n padding: \"15px\",\n height: \"100%\",\n \n },\n inputField: {\n width: \"100%\",\n },\n userType: {\n color: \"#f8c144\",\n fontSize: 24,\n margin: \"30px 0\",\n },\n imgError: {\n color: \" #f44336\",\n fontSize: \"0.75rem\",\n marginLeft: \"15px\",\n marginTop: \"5px\",\n },\n loginDesc: {\n fontSize: 15,\n fontWeight: 400,\n marginBottom: 10,\n marginTop: 20,\n color: \"#f44336\",\n }\n});\n\nexport default Classes","\nconst Classes = (theme) => ({\n \n heading:{\n fontSize: \"2.1875rem\",\n fontFamily: \"Raleway\",\n fontWeight: \"bold\",\n lineHeight: \"2.625rem\",\n letterSpacing: \"-0.00833em\",\n color:\"black\"\n },\n subHeading:{\n fontSize: \"1.25rem\",\n fontFamily: \"Raleway\",\n fontWeight: \"bold\",\n lineHeight: 1.5,\n letterSpacing:\"0em\",\n marginTop:\"16px\",\n color:\"black\"\n },\n box:{\n maxWidth:\"1280px\",\n width:\"100%\", \n marginLeft:\"auto\",\n marginRight:\"auto\",\n padding:\"24px\",\n margin:\"40px 39px\",\n boxShadow:\"0px 0px 15px rgba(0, 0, 0, 0.15)\",\n borderRadius:\"6px\",\n \"@media (max-width : 600px)\":{\n maxWidth:\"100%\",\n padding:\"24px\",\n\n }\n },\n flexRow:{\n display: \"flex\",\n flexDirection: \"row\",\n justiContent: \"space-between\",\n alignItems: \"center\",\n marginBottom:\"16px\"\n },\n flexColumn:{\n display:\"flex\",\n flexDirection:\"column\",\n\n },\n selectContainer:{\n marginTop:\"10px\",\n width:\"190px\"\n },\n relative:{\n position:\"relative\"\n },\n selectField:{\n paddingLeft:\"20px\",\n width:\"100%\",\n height:\"40px\",\n border:\"1px solid grey\",\n borderRadius:\"6px\",\n \"&::before\":{\n borderBottom:\"none !important\"\n },\n \"&::after\":{\n borderBottom:\"none !important\"\n },\n \"&:focus-visible\":{\n border:\"none\"\n },\n \"& .MuiSelect-select:focus\":{\n borderRadius:\"6px !important\"\n }\n\n },\n iconContainer:{\n marginLeft:\"20px\",\n cursor:\"pointer\",\n \"& .MuiSvgIcon-root\":{\n marginTop:\"13px\",\n color: \"#f8c144\",\n \n }\n },\n link:{\n color: \"#f8c144\",\n fontWeight: 900,\n textDecoration: \"none\"\n },\n text:{\n fontSize: \"1rem\",\n fontFamily: \"Roboto, Helvetica, Arial, sans-serif\",\n fontWeight: 400,\n lineHeight: 1.5,\n letterSpacing: \"0.00938em\",\n \n },\n \n });\n \n export default Classes","import React, { useEffect, useState } from \"react\";\nimport styles from \"./Styles\";\nimport { useDispatch } from \"react-redux\";\nimport Spinner from \"../../Components/Spinner\";\n\nimport {\n Box,\n Button,\n Container,\n MenuItem,\n Select,\n Tooltip,\n Typography,\n makeStyles,\n useTheme,\n withStyles,\n} from \"@material-ui/core\";\nimport HelpIcon from \"@material-ui/icons/Help\";\nimport { linkSocialPlatform } from \"store/actions/CustomersAction\";\nimport { toast } from \"react-toastify\";\nimport axios from \"axios\";\nimport FacebookLogin from \"react-facebook-login/dist/facebook-login-render-props\";\n\nconst ConnectToSocial = () => {\n const theme = useTheme();\n const useStyles = makeStyles((theme) => styles(theme));\n const classes = useStyles();\n // const { accessToken } = useSelector((state) => state.social);\n const dispatch = useDispatch();\n\n const [accessToken, setAccessToken] = useState(\"\");\n const [platformData, setPlatFormData] = useState(\"\");\n\n // const [platformData, setPlatFormData] = useState({});\n const [account, setAccount] = useState(\"\");\n const [linkingFacebook, setLinkingFacebook] = useState(true);\n\n /**\n *\n * @param {{access_token: string,\n * name: string,\n * id: string,\n * userID: string,\n * expiresIn: number,\n * accessToken: string,\n * signedRequest: string,\n * graphDomain: string,\n * data_access_expiration_time: number\n * }} authResponse\n */\n const handleLinkSocial = async (authResponse) => {\n console.log(\"here\");\n try {\n await dispatch(linkSocialPlatform(authResponse.accessToken));\n await getIntegratedData(\"facebook\");\n toast.success(\"Account linked successfully\"); \n setLinkingFacebook(false);\n } catch (error) {\n console.log(error);\n toast.error(\"Error while linking account\");\n setLinkingFacebook(false);\n }\n };\n\n const getIntegratedData = async (platform) => {\n try {\n const data = await axios.get(`/integration/${platform}/details`);\n setPlatFormData(data?.data?.platformDetails);\n // set default instagram account\n setAccount(data?.data?.platformDetails?.instagram?.id);\n } catch (error) {\n console.log(error);\n }\n };\n\n const handleUnlinkSocial = async (platform) => {\n try {\n await axios.delete(`/integration/${platform}/unlink`);\n setPlatFormData(undefined);\n } catch (error) {\n console.log(error);\n toast.error(error?.response?.data?.message ?? error?.message);\n }\n };\n\n const selectDefaultSocial = async (platform) => {\n if (!account) return toast.error(\"Please select an account.\");\n await axios.put(`/integration/${platform}/default_account`, {\n accountId: account,\n });\n };\n\n useEffect(() => {\n (async () => {\n await getIntegratedData(\"facebook\");\n setLinkingFacebook(false);\n })();\n }, []);\n\n return (\n \n \n
\n \n Connect Facebook™ & Instagram™\n \n \n \n \n \n \n
\n \n The Post Automator and Social Listening require a connection to\n function properly.\n \n \n 1. Link Facebook™ account\n \n {!platformData && (\n \n Please connect a valid and active Facebook™ account.\n \n )}\n\n {platformData ? (\n
\n handleUnlinkSocial(\"facebook\")}>\n Unlink Facebook™\n \n \n 2. Link Instagram™ account\n \n
\n {\n setAccount(e.target.value);\n }}\n >\n {platformData?.instagram?.other_instagrams.map((p) => (\n \n {p.name}\n \n ))}\n \n
\n selectDefaultSocial(\"instagram\")}>\n Update Instagram™\n \n
\n ) : (\n (\n {\n setLinkingFacebook(true);\n renderProps.onClick(e);\n }}\n >\n {linkingFacebook && (\n
\n \n
\n )}\n Connect Facebook™\n \n )}\n callback={handleLinkSocial}\n onFailure={(error) => {\n console.log({ error });\n toast.error(\"Failed to connect to Facebook\");\n setLinkingFacebook(false);\n }}\n />\n )}\n
\n
\n );\n};\n\nexport default ConnectToSocial;\n\nconst StyledButton = withStyles((theme) => ({\n root: {\n color: \"white\",\n margin: \"1rem 0\",\n backgroundColor: \"#f8c144\",\n fontSize: \"0.875rem\",\n minWidth: \"64px\",\n maxWidth: \"190px\",\n boxSizing: \"border-box\",\n fontFamily: \"Raleway\",\n fontWeight: 900,\n lineHeight: \"0.875rem\",\n borderRadius: \"5px\",\n letterSpacing: \"0.02857em\",\n textTransform: \"unset\",\n padding: \"13px 24px\",\n boxShadow: \"unset\",\n \"&:hover\": {\n backgroundColor: \"#f8c144\",\n transform: \"scale(1.03)\",\n },\n },\n}))(Button);\n","import React from \"react\";\nimport Layout from \"../../Components/Layout\";\nimport {\n Box,\n Grid,\n Typography,\n makeStyles,\n useMediaQuery,\n useTheme,\n Container,\n} from \"@material-ui/core\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport Buttons from \"../../Components/Buttons/Buttons\";\nimport Spinner from \"../../Components/Spinner\";\nimport UploadImg from \"../../Components/UploadImg\";\nimport { UpdateCustomerBanner } from \"../../store/actions/CustomersAction\";\nimport { connect } from \"react-redux\";\nimport styles from \"./Styles\";\nimport { formatServerImages } from \"../../Functions\";\nimport ConnectToSocial from \"Customer/Components/ConnectToSocial\";\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst UserManagement = (props) => {\n const [userFormSubmiting, setUserFormSubmiting] = React.useState(false);\n const { user } = useSelector((state) => state.auth);\n const { logoURL, bannerURL } = useSelector((state) => state.settings);\n const theme = useTheme();\n const match = useMediaQuery(theme.breakpoints.down(\"md\"));\n const dispatch = useDispatch();\n const [formValues, setFormValues] = React.useState({\n logo: logoURL ? logoURL : \"\",\n featured_image: bannerURL ? bannerURL : \"\",\n });\n const [validationErrors, setValidationErrors] = React.useState({});\n const [errors, setErrors] = React.useState({});\n const [disableSubmitBtn, SetDisableSubmitBtn] = React.useState(true);\n\n const onSubmit = async (event) => {\n console.log(\"Form Values\", formValues);\n\n event.preventDefault();\n let formErrors = {};\n\n // Image Size Validation\n if (formValues.logo.size > 2097152) {\n formErrors.logo = \"Logo cannot be greater than 2 MB.\";\n console.log(\"large\");\n }\n if (formValues.featured_image.size < 2097152) {\n formErrors.featured_image = \"Featured Image cannot be smaller than 2 MB.\";\n console.log(\"large\");\n }\n\n if (!formValues.logo) {\n formErrors.logo = \"Logo is Required\";\n }\n\n if (!formValues.featured_image) {\n formErrors.featured_image = \"Brand banner image is Required\";\n }\n\n setErrors(formErrors);\n\n if (Object.keys(formErrors).length === 0) {\n // Loader\n setUserFormSubmiting(true);\n SetDisableSubmitBtn(true);\n /* Updating */\n try {\n const logoBannerResponse = await dispatch(\n UpdateCustomerBanner({\n ...formValues,\n })\n );\n const logoBannerResData = logoBannerResponse.data;\n\n setUserFormSubmiting(false);\n setValidationErrors({});\n } catch (error) {\n /* error caught while creating customer */\n const logoBannerResError = error.response.data;\n const logoBannerErrorMsg = logoBannerResError.message;\n setUserFormSubmiting(false);\n SetDisableSubmitBtn(false);\n setValidationErrors(logoBannerErrorMsg);\n }\n }\n };\n\n const logoImageHandler = (item) => {\n setFormValues((prevState) => ({\n ...prevState,\n logo: item,\n }));\n };\n\n const bannerImageHandler = (item) => {\n setFormValues((prevState) => ({\n ...prevState,\n featured_image: item,\n }));\n };\n\n React.useEffect(() => {\n console.log(\"State Update\", logoURL, bannerURL);\n }, [logoURL, bannerURL]);\n\n React.useEffect(() => {\n console.log(\"State Update\", formValues.featured_image, formValues.logo);\n if (\n formValues.logo instanceof File ||\n formValues.featured_image instanceof File\n ) {\n SetDisableSubmitBtn(false);\n console.log(\"File Uploaded:\");\n }\n }, [formValues.logo, formValues.featured_image]);\n\n const classes = useStyles();\n \n return (\n \n \n \n \n \n
\n \n Update Logo/Banner\n \n\n
\n \n \n logoImageHandler(item)}\n />\n \n {\" \"}\n {(errors && errors.logo) ||\n (validationErrors.logo && validationErrors.logo) ||\n (validationErrors.brand_logo_size &&\n validationErrors.brand_logo_size)}{\" \"}\n \n \n \n bannerImageHandler(item)}\n />\n \n {\" \"}\n {(errors && errors.featured_image) ||\n (validationErrors.brand_featured_size &&\n validationErrors.brand_featured_size)}{\" \"}\n \n \n \n\n {/* \n {\" \"}\n Please select an image to update it*\n */}\n\n \n \n Update\n {userFormSubmiting && }\n \n \n
\n
\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = { UpdateCustomerBanner };\n\nexport default connect(null, mapDispatchToProps)(UserManagement);\n","import { useDispatch, useSelector } from \"react-redux\";\nimport Snackbar from \"@material-ui/core/Snackbar\";\nimport MuiAlert from \"@material-ui/lab/Alert\";\n\nexport default function ClearToast() {\n const dispatch = useDispatch();\n\n const { open, message, variant } = useSelector((state) => state.toast);\n\n function handleClose() {\n dispatch({\n type: \"ClearToast\",\n });\n }\n\n function Alert(props) {\n return ;\n }\n\n return (\n \n \n {message}\n \n \n );\n}\n","import axios from \"axios\";\nimport { toast } from \"react-toastify\";\n\n\n// SETTING DEFAULT\nif (window.location.host.includes('localhost')) {\n axios.defaults.baseURL = process.env.REACT_APP_API_URL;\n} else {\n axios.defaults.baseURL = process.env.REACT_APP_API_URL_LIVE;\n}\naxios.defaults.headers.common[\"Content-Type\"] = \"application/json\";\n\n// Add a request interceptor\naxios.interceptors.request.use(\n (config) => {\n const token = `Bearer ${(localStorage.getItem(\"userInfo\") && localStorage.getItem(\"userInfo\") != \"undefined\")\n ? JSON.parse(localStorage.getItem(\"userInfo\")).access_token\n : \"\"\n }`;\n\n if (token) {\n config.headers[\"Authorization\"] = token;\n }\n config.headers[\"Content-Type\"] = \"application/json\";\n return config;\n },\n (error) => {\n Promise.reject(error);\n }\n);\n\n// Add a response interceptor\naxios.interceptors.response.use(\n function (response) {\n // Any status code that lie within the range of 2xx cause this function to trigger\n // Do something with response data\n return response;\n },\n async function (error) {\n if(error.response){\n\n const { status } = error.response;\n const location = window.location.pathname\n if (status === 401 && location != \"/login\") {\n await toast.error(\"Your session has been expired, please login to continue\")\n await localStorage.clear()\n window.location.href = \"/login\";\n }\n }\n // Any status codes that falls outside the range of 2xx cause this function to trigger\n // Do something with response error\n return Promise.reject(error);\n }\n);\n","export const Styles = () => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n tabHeaderComp: {\n marginTop: \"30px\",\n display: (props) => (props.xs && props.profileOverview ? \"block\" : \"flex\"),\n padding: (props) => (props.xs ? \"0px 10px\" : props.md ? \"0px 10px\" : \"0px 50px\"),\n width: \"100%\",\n justifyContent: \"space-between\",\n },\n title: {\n textAlign: \"center\",\n textTransform: \"capitalize\",\n },\n subButtongGroup: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginRight: \"60px\",\n },\n modalBox: {\n alingSelf: \"center\",\n },\n\n charts: {\n marginTop: 30,\n minHeight: 350,\n },\n growthChart: {\n position: \"relative\",\n },\n loader: {\n background: \"rgba(255, 255, 255, 0.6)\",\n },\n graphTitleSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 15,\n alignItems: \"flex-end\",\n },\n chartFallBackContainer: {\n height: \"calc(100% - 47px)\",\n },\n graphTitle: {\n fontSize: 24,\n letterSpacing: 0,\n fontWeight: 600,\n },\n chartFallBack: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n background: \"#fff\",\n border: \"1px solid #bdbdbd\",\n minHeight: 350,\n borderRadius: 4,\n },\n\n /* profile overview css */\n\n loadMoreButtonDivDashboard: {\n display: \"flex\",\n justifyContent: \"center\",\n marginTop: 20,\n },\n customButton: {\n \"& .MuiButtonBase-root\": {\n \"&:first-child\": {\n marginRight: 25,\n },\n },\n },\n FormControl: {\n \"& .MuiInputBase-root\": {\n height: \"100%\",\n },\n },\n lineStyle: {\n margin: \"0px 15px\",\n opacity: 0.2,\n },\n topPost: {\n flexGrow: 1,\n padding: (props) => (props.xs ? \"60px 10px\" : \"60px 40px\"),\n position: \"relative\",\n },\n chartWrapper: {\n flexGrow: 1,\n padding: (props) => (props.xs ? \"0px 10px\" : \"0px 40px\"),\n maxWidth: (props) => (props.xs ? \"100vw\" : \"100%\"),\n },\n profileOverviewCard: {\n padding: (props) => (props.xs ? \"30px 10px\" : \"30px 40px\"),\n width: \"100%\",\n height: (props) => (props.xs ? 150 : 200),\n position: \"relative\",\n overflow: \"visible\",\n maxWidth: \"100vw\",\n },\n cardlabels: {\n flexGrow: 1,\n padding: (props) => (props.xs ? \"35px 10px\" : \"35px 40px\"),\n width: \"100%\",\n maxWidth: \"100vw\",\n minWidth: \"100%\"\n },\n profileOverviewCardContent: {\n marginLeft: (props) => (props.xs ? 0 : 15),\n padding: (props) => (props.xs ? 5 : 16),\n },\n profileOverviewBasic: {\n display: (props) => (props.xs ? \"block\" : \"flex\"),\n alignItems: \"center\",\n },\n cardlabelsWrapper: {\n width: \"450px\",\n margin: \"20px 10px 0px 10px\",\n },\n});\n","import React from \"react\";\nimport MaterialTable, { MTableBody, MTableToolbar } from \"material-table\";\nimport {\n Avatar,\n Button,\n Checkbox,\n Chip,\n createTheme,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n IconButton,\n MuiThemeProvider,\n Paper,\n Radio,\n Typography,\n} from \"@material-ui/core\";\nimport { forwardRef } from \"react\";\nimport $ from \"jquery\";\n\nimport AddBox from \"@material-ui/icons/AddBox\";\nimport ArrowDownward from \"@material-ui/icons/ArrowDownward\";\nimport Check from \"@material-ui/icons/Check\";\nimport ChevronLeft from \"@material-ui/icons/ChevronLeft\";\nimport ChevronRight from \"@material-ui/icons/ChevronRight\";\nimport Clear from \"@material-ui/icons/Clear\";\nimport DeleteOutline from \"@material-ui/icons/DeleteOutline\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport FilterList from \"@material-ui/icons/FilterList\";\nimport FirstPage from \"@material-ui/icons/FirstPage\";\nimport LastPage from \"@material-ui/icons/LastPage\";\nimport Remove from \"@material-ui/icons/Remove\";\nimport SaveAlt from \"@material-ui/icons/SaveAlt\";\nimport Search from \"@material-ui/icons/Search\";\nimport ViewColumn from \"@material-ui/icons/ViewColumn\";\nimport RemoveCircleOutlineOutlinedIcon from \"@material-ui/icons/RemoveCircleOutlineOutlined\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { deleteAddedProfileList } from \"../../store/actions/SocialMediaProfileAction\";\nimport Alert from \"../AlertBox/Alert\";\nimport ErrorOutlineIcon from \"@material-ui/icons/ErrorOutline\";\nimport * as constant from \"../../utlis/constant\";\nimport { formatImage, formatNumber } from \"../../Functions/index\";\nimport { withRouter } from \"react-router\";\nimport { withStyles } from \"@material-ui/core\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\n\nconst tableIcons = {\n Add: forwardRef((props, ref) => ),\n Check: forwardRef((props, ref) => ),\n Clear: forwardRef((props, ref) => ),\n Delete: forwardRef((props, ref) => ),\n DetailPanel: forwardRef((props, ref) => (\n \n )),\n Edit: forwardRef((props, ref) => ),\n Export: forwardRef((props, ref) => ),\n Filter: forwardRef((props, ref) => ),\n FirstPage: forwardRef((props, ref) => ),\n LastPage: forwardRef((props, ref) => ),\n NextPage: forwardRef((props, ref) => ),\n PreviousPage: forwardRef((props, ref) => (\n \n )),\n ResetSearch: forwardRef((props, ref) => ),\n Search: forwardRef((props, ref) => ),\n SortArrow: forwardRef((props, ref) => ),\n ThirdStateCheck: forwardRef((props, ref) => ),\n ViewColumn: forwardRef((props, ref) => ),\n};\n\nconst theme = createTheme({\n typography: {\n fontFamily: [\"Poppins\", \"sans-serif\"].join(\",\"),\n },\n palette: {\n secondary: {\n main: \"#0B6670\",\n },\n },\n});\n\nconst MaterailDataTable = ({\n data,\n getSelectedProfileList,\n history,\n loader,\n selectedLabels,\n}) => {\n const dispatch = useDispatch();\n const [deleteAlertOpen, setDeleteAlertOpen] = React.useState(false);\n const [selectedRow, setSelectedRow] = React.useState([]);\n const [itemToDelete, setItemToDelete] = React.useState(null);\n const { user } = useSelector((state) => state.auth);\n let [rightClickCount, setRightClickCount] = React.useState(0);\n let [leftClickCount, setLeftClickCount] = React.useState(0);\n const { selectedProfilesListToComapre } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n console.log(\"show selected labels from table component\", selectedLabels);\n const { activeSocialMediaType } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n let subdomain = user.CustomerSubdomain.subdomain;\n\n /* deleting added social media profiles dialog opens */\n const deleteAddedprofile = (data) => {\n setDeleteAlertOpen(true);\n setItemToDelete(data);\n };\n /* close modal on clikc */\n const handleClose = () => {\n setDeleteAlertOpen(false);\n };\n\n /* Deleting social medai profiles list */\n const handleDelete = () => {\n if (itemToDelete) {\n dispatch(deleteAddedProfileList(itemToDelete.social_page_id));\n }\n };\n\n React.useEffect(() => {\n getSelectedProfileList(selectedRow);\n }, [selectedRow]);\n\n console.log(\"showing history\", data);\n\n //For scrolling horizontally\n\n // $(\".scrollRight\").click(function(){\n // if (rightClickCount === 0){\n // $(\"div\").scrollLeft(400);\n // setRightClickCount(rightClickCount ++)\n // } else {$(\"div\").scrollLeft(1000); setRightClickCount(0)}\n // });\n let left = 0;\n\n $(\".scrollRight\").click(function (event) {\n event.preventDefault()\n left = left + 300;\n console.log(\"div offset value\", left);\n $(\"div\").animate(\n {\n scrollLeft: left,\n },\n 200\n );\n });\n\n $(\".scrollLeft\").click(function (event) {\n event.preventDefault()\n console.log(\"div offset value of left\", left);\n if(left > 0) {\n console.log(\"afte left if\", left);\n left = left - 300 < 0 ? 0 : left - 300;\n $(\"div\").animate(\n {\n scrollLeft: left,\n },\n 200\n );\n }\n });\n\n // $(\".scrollLeft\").click(function(){\n // if (leftClickCount === 0){\n // $(\"div\").scrollLeft(-200);\n // setLeftClickCount(leftClickCount ++)\n // setRightClickCount(0)\n // } else $(\"div\").scrollLeft(-400);\n // });\n\n return (\n \n (\n \n \n \n ),\n }}\n style={{\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n }}\n icons={tableIcons}\n columns={[\n {\n title: \"Profile\",\n field: \"profileName\",\n render: (rowData) => {\n return (\n \n {rowData.is_data_downloading && (\n \n )}\n\n \n
\n \n history.push(\"/brand-overview\", rowData.id)\n }\n >\n {rowData.page_name}\n \n \n {rowData.page_username}\n \n
\n \n );\n },\n cellStyle: {\n minwidth: \"400px\",\n position: \"sticky\",\n zIndex: \"500\",\n left: 65,\n backgroundColor: \"#fafafa\",\n },\n headerStyle: {\n width: \"20vw\",\n position: \"sticky\",\n zIndex: \"500\",\n left: 65,\n backgroundColor: \"rgb(245, 245, 245)\",\n },\n },\n {\n title: \"Total Fans\",\n field: \"page_fan_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_fan_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find((label) => label === \"Total Fans\")\n ? false\n : true,\n },\n {\n title: \"Comment Count\",\n field: \"page_comments_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_comments_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find((label) => label === \"Comment Count\")\n ? false\n : true,\n },\n\n {\n title: \"Shares\",\n field: \"page_shares_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_shares_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find((label) => label === \"Shares\")\n ? false\n : true,\n },\n {\n title: \"Post Counts\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find((label) => label === \"Post Counts\")\n ? false\n : true,\n },\n {\n title: \"Average Interaction per 1k Fans\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find(\n (label) => label === \"Average Interaction per 1k Fans\"\n )\n ? false\n : true,\n },\n {\n title: \"Sum of Posts\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find((label) => label === \"Sum of Posts\")\n ? false\n : true,\n },\n {\n title: \"Sum of likes\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find((label) => label === \"Sum of likes\")\n ? false\n : true,\n },\n {\n title: \"Average Interaction\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find(\n (label) => label === \"Average Interaction\"\n )\n ? false\n : true,\n },\n {\n title: \"Number of Organic Post\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find(\n (label) => label === \"Number of Organic Post\"\n )\n ? false\n : true,\n },\n {\n title: \"Average response time\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find(\n (label) => label === \"Average response time\"\n )\n ? false\n : true,\n },\n {\n title: \"Sum of Page Post\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find((label) => label === \"Sum of Page Post\")\n ? false\n : true,\n },\n {\n title: \"Paid Efficiency Index\",\n field: \"page_posts_count\",\n render: (rowData) => {\n return
{formatNumber(rowData.page_posts_count)}
;\n },\n cellStyle: {\n width: \"5vw\",\n },\n hidden: selectedLabels.find(\n (label) => label === \"Paid Efficiency Index\"\n )\n ? false\n : true,\n },\n {\n title: \"Delete\",\n field: \"\",\n align: \"center\",\n render: (rowData) => {\n return (\n
\n {user.role !== constant.CUSTOMER_VIEWER_NAME ? (\n deleteAddedprofile(rowData)}\n >\n \n \n ) : (\n \"\"\n )}\n\n \n }\n title=\"Are you sure?\"\n confirmBtn=\"DELETE\"\n description=\"You're about to Delete the profile. This process cannot be undone.\"\n open={deleteAlertOpen}\n setOpen={setDeleteAlertOpen}\n onConfirm={handleDelete}\n />\n
\n );\n },\n cellStyle: {\n width: \"5vw\",\n position: \"sticky\",\n right: 0,\n zIndex: \"500\",\n backgroundColor: \"#fafafa\",\n },\n headerStyle: {\n position: \"sticky\",\n right: 0,\n zIndex: \"500\",\n textAlign: \"center\",\n },\n },\n ]}\n data={data}\n options={{\n selection: true,\n selectionProps: (rowData) => ({\n disabled: selectedProfilesListToComapre.find(\n (profile) => profile.social_page_id === rowData.social_page_id\n ),\n }),\n search: false,\n paging: false,\n toolbar: false,\n responsive: true,\n rowStyle: (rowData) => ({\n // backgroundColor: \"#FAFAFA\",\n backgroundColor: selectedRow.find(\n (row) => row.social_page_id === rowData.social_page_id\n )\n ? \"#FFF8DE\"\n : \"\" ||\n selectedProfilesListToComapre.find(\n (profile) => profile.social_page_id === rowData.social_page_id\n )\n ? \"#FFF8DE\"\n : \"\",\n }),\n headerStyle: {\n backgroundColor: \"#F5F5F5\",\n borderRadius: \"4px\",\n },\n // fixedColumns: {\n // left: 1,\n // right: 1\n // },\n }}\n onSelectionChange={(rows) => setSelectedRow(rows)}\n localization={{\n body: {\n emptyDataSourceMessage: \"no records found\",\n },\n }}\n />\n \n \n \n \n
\n );\n};\n\nexport default withRouter(MaterailDataTable);\n","import React from \"react\";\nimport {\n TextField,\n makeStyles,\n withStyles,\n InputAdornment,\n} from \"@material-ui/core\";\nimport { OutlinedInput } from \"@material-ui/core\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\nconst StyledTextField = withStyles({\n root: {\n height: 44,\n borderColor: \"#BDBDBD\",\n backgroundColor: props => props.backgroundColor ? \"#fff\" : \"transparent\",\n fontSize: 13,\n borderRadius: (props) => (props.radius == true ? \"4px 4px 0px 0px\" : \"4px 4px 4px 4px\"),\n color: \"#323132\",\n \"& .MuiInput-underline\": {\n \"&:before\": {\n borderBottom: 0,\n },\n },\n \"&.Mui-focused\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#BDBDBD\",\n borderWidth: 1,\n },\n },\n \"&:hover\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#BDBDBD\",\n },\n },\n },\n input: {\n padding: \"12px 10px\",\n \"&::placeholder\": {\n color: \"#BDBDBD\",\n fontSize: 13,\n fontFamily: \"Poppins, sans-serif \",\n },\n },\n notchedOutline: {\n border: \"1px solid #BDBDBD\",\n },\n})(OutlinedInput);\n\nconst TextInputProfile = ({\n title,\n type,\n error,\n value,\n name,\n helperText,\n onChange,\n label,\n placeholder,\n radius,\n closeBtn,\n onClick,\n backgroundColor,\n searchClick\n}) => {\nconsole.log(\"showing radius value\", radius);\n return (\n \n \n \n \n \n : \n \n \n }\n />\n );\n};\n\nexport default TextInputProfile;\n","import React, { useEffect } from \"react\";\nimport { makeStyles, useTheme, withStyles } from \"@material-ui/core/styles\";\nimport Button from \"@material-ui/core/Button\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport MuiDialogTitle from \"@material-ui/core/DialogTitle\";\nimport MuiDialogContent from \"@material-ui/core/DialogContent\";\nimport MuiDialogActions from \"@material-ui/core/DialogActions\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Paper from \"@material-ui/core/Paper\";\nimport AddCircleOutlineIcon from \"@material-ui/icons/AddCircleOutline\";\nimport RemoveCircleOutlineOutlinedIcon from \"@material-ui/icons/RemoveCircleOutlineOutlined\";\nimport Spinner from \"../Spinner\";\nimport {\n Avatar,\n InputAdornment,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n addProfileList,\n searchSocialMediaProfiles,\n} from \"../../store/actions/SocialMediaProfileAction\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport noResultFoundImg from \"../../assets/images/noResultFound.png\";\nimport * as constant from \"../../utlis/constant\";\nimport { OutlinedInput } from \"@material-ui/core\";\nimport { Checkbox } from \"@material-ui/core\";\nimport TextInput from \"../TextInput/TextInput\";\nimport { CustomButton } from \"../CustomButton/CustomButton\";\nimport TextInputProfile from \"../TextInput/TextInputProfile\";\nimport { formatImage, formatNumber } from \"../../Functions/index\";\n\nconst styles = (theme) => ({\n root: {\n margin: 0,\n marginBottom: 30,\n display: \"flex\",\n justifyContent: \"space-between\",\n padding: 0,\n },\n});\nconst useStyles = makeStyles((theme) => ({\n btnPrimary: {\n fontSize: 15,\n color: \"#323132\",\n fontWeight: 600,\n borderRadius: 4,\n padding: \"12px 50px\",\n marginTop: 20,\n \"&:hover\": {\n backgroundColor: \"#f4d45f\",\n borderColor: \"#f4d45f\",\n },\n },\n}));\n\n/* styled component starts */\n/* styled buuton for materail ui dialog component */\nconst StyledDialog = withStyles({\n paper: {\n width: (props) => (props.view ? \"100%\" : \"50%\"),\n padding: (props) => (props.xs ? 20 : \"26px 40px 37px 40px\"),\n height: \"auto\",\n margin: 0,\n boxShadow: \"none\",\n },\n})(Dialog);\n\n/* styled component for materail ui dialogTitle component */\nconst DialogTitle = withStyles(styles)((props) => {\n const useStyles = makeStyles((theme) => ({\n root: {\n marginBottom: 10,\n display: \"flex\",\n justifyContent: \"space-between\",\n padding: 0,\n },\n }));\n const { children, classes, onClose, ...other } = props;\n const classes1 = useStyles();\n return (\n \n \n {children}\n \n {onClose ? (\n \n \n \n ) : null}\n \n );\n});\n\n/* styled component for materail ui dialogContent component */\nconst DialogContent = withStyles((theme) => ({\n root: {\n border: \"none\",\n marginTop: 0,\n padding: 0,\n height: 335,\n position: \"relative\",\n },\n}))(MuiDialogContent);\n\n/* styled component for materail ui dialogAction component */\nconst DialogActions = withStyles((theme) => ({\n root: {\n marginTop: 20,\n padding: 0,\n display: \"flex\",\n justifyContent: \"center\",\n alignSelf: \"center\",\n width: \"19.4%\",\n },\n}))(MuiDialogActions);\n\n/* styled component for materail ui button component */\n\nconst StyledTableCell = withStyles({\n root: {\n padding: \"8px 0px\",\n borderTop: \"1px solid #E8E8E8\",\n borderBottom: \"1px solid #E8E8E8\",\n },\n})(TableCell);\n\n/* styled component ends */\n\nexport default function AddProfileModal() {\n const classes = useStyles();\n const dispatch = useDispatch();\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const [mobileView, setMobileView] = React.useState(false);\n const [closeBox, setCloseBox] = React.useState(false);\n React.useEffect(() => {\n const setResponsiveness = () => {\n return window.innerWidth < 1024\n ? setMobileView((prevState) => ({ ...prevState, mobileView: true }))\n : setMobileView((prevState) => ({ ...prevState, mobileView: false }));\n };\n\n setResponsiveness();\n\n window.addEventListener(\"resize\", () => setResponsiveness());\n }, []);\n const [open, setOpen] = React.useState(false);\n const [searchQuery, setSearchQuery] = React.useState(\"\");\n const [profileListToAdd, setProfileListToAdd] = React.useState([]);\n const [initialProfileListToAdd, setInitialProfileListToAdd] = React.useState(\n []\n );\n const {\n searchedProfileList,\n addedProfileList,\n searchLoading,\n activeSocialMediaType,\n getComparisionProfileError,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n const { user } = useSelector((state) => state.auth);\n const { CustomerSubdomain } = user;\n\n let subdomain = CustomerSubdomain.subdomain;\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n const handleClose = () => {\n setOpen(false);\n setSearchQuery(\"\");\n setProfileListToAdd([]); /* setting local state to empty after submitting */\n };\n /* text field close btn on click handling */\n const closeBtnClick = () => {\n setSearchQuery(\"\");\n };\n useEffect(() => {\n /* handling submit on pressing enter */\n const listener = (event) => {\n if (\n event.code === constant.ENTER_PAD ||\n event.code === constant.ENTER_NUM_PAD\n ) {\n searchClick();\n }\n };\n\n document.addEventListener(\"keydown\", listener);\n return () => {\n document.removeEventListener(\"keydown\", listener);\n };\n }, [searchQuery]);\n console.log(\"showing search query\", searchQuery);\n\n const searchClick = () => {\n if (searchQuery) {\n dispatch(searchSocialMediaProfiles(searchQuery));\n }\n };\n\n /* searching socail media profiles list */\n const searchProfilesList = (event) => {\n if (event) {\n setCloseBox(true);\n setSearchQuery(\n event.target.value\n ); /* setting state value in local component */\n }\n /* dispatching actions for api calls */\n };\n\n /* handle checkbox */\n const profileListToAddId = profileListToAdd.map((data) => data.id);\n const checkboxHandle = (profileList, e) => {\n if (e.target.checked) {\n setInitialProfileListToAdd((prevState) => [...prevState, profileList]);\n } else {\n setInitialProfileListToAdd(\n initialProfileListToAdd.filter(\n (profile) => profile.id !== profileList.id\n )\n );\n }\n };\n /* handle add initial profile list */\n const addInitialProfile = (event) => {\n event.preventDefault();\n setProfileListToAdd(profileListToAdd.concat(initialProfileListToAdd));\n setCloseBox(false);\n setSearchQuery(\"\");\n setInitialProfileListToAdd([]);\n };\n\n /* emply initial profiles list when search filed has no value */\n useEffect(() => {\n if (searchQuery == \"\") {\n setInitialProfileListToAdd([]);\n dispatch(searchSocialMediaProfiles(\"\"));\n }\n }, [searchQuery]);\n\n /* adding profile list in local state component*/\n const handleAddProfile = (data) => {\n setProfileListToAdd((prevState) => [...prevState, data]);\n };\n\n /* deleting profile list from local state component*/\n const handleDelete = (data) => {\n const deleteItem = profileListToAdd.filter(\n (profiles) => profiles.id !== data.id\n ); /* deleting profiles */\n setProfileListToAdd(deleteItem);\n };\n\n /* adding list of profiles */\n const addProfilesToCompare = (e) => {\n e.preventDefault();\n dispatch(\n addProfileList(profileListToAdd)\n ); /* dispatching actions for api call */\n setOpen(false);\n setSearchQuery(\"\");\n setProfileListToAdd([]); /* setting local state to empty after submitting */\n };\n\n const socialMedaiProfileList = profileListToAdd.filter(\n (ele, ind) =>\n ind === profileListToAdd.findIndex((elem) => elem.id === ele.id)\n );\n return (\n \n
\n }\n disabled={user.role === constant.CUSTOMER_VIEWER_NAME ? true : false}\n >\n Add Profile\n \n
\n
\n \n \n \n {\" \"}\n Add Profile{\" \"}\n \n \n searchProfilesList(e)}\n placeholder=\"Search by name or URL of Social Profile you would like to monitor\"\n onClick={closeBtnClick}\n iconPosition={true}\n searchClick={searchClick}\n />\n \n {profileListToAdd.length > 0 && (\n \n \n \n {profileListToAdd.length > 0 &&\n socialMedaiProfileList.map((profilesList, index) => (\n \n \n
\n {\" \"}\n {\" \"}\n \n
\n \n {\" \"}\n {profilesList.name}{\" \"}\n {\" \"}\n \n {\" \"}\n {profilesList.username}{\" \"}\n {\" \"}\n
\n
\n \n {\" \"}\n {CustomerSubdomain.social_media_profiles_limit -\n addedProfileList.length <=\n index\n ? \"Profile limit reached\"\n : \"\"}{\" \"}\n \n
\n
\n \n \n\n \n {\" \"}\n
\n
\n \n {\" \"}\n Total Fans{\" \"}\n {\" \"}\n \n {\" \"}\n {formatNumber(\n profilesList.fan_count ??\n profilesList.followers_count\n )}{\" \"}\n {\" \"}\n
\n
\n \n\n \n {\n /* */\n (addedProfileList &&\n addedProfileList.find(\n (profile) =>\n parseInt(profile.social_page_id) ===\n profilesList.id\n )) ||\n profileListToAdd.find(\n (profile) => profile.id === profilesList.id\n ) ? (\n handleDelete(profilesList)}\n disabled={\n searchQuery && searchedProfileList\n ? true\n : false\n }\n >\n {profilesList.is_already_added ? (\n \n Already Added\n \n ) : (\n \n )}\n \n ) : (\n \n handleAddProfile({\n ...profilesList,\n picture:\n profilesList.picture ??\n profilesList.profile_picture_url,\n })\n }\n >\n \n \n )\n }\n \n \n ))}\n
\n \n )}\n\n \n {\n searchLoading && (\n \n ) /* showing loader if the loading value is true */\n }\n {getComparisionProfileError && (\n \n {getComparisionProfileError}\n

\n )}\n {searchQuery &&\n !searchLoading &&\n searchedProfileList &&\n searchedProfileList.length === 0 ? (\n \n \n {\" \"}\n Sorry no result found\n \n
\n ) : (\n !searchLoading &&\n searchedProfileList &&\n searchedProfileList.length > 0 &&\n searchedProfileList.map((profilesList) => (\n \n checkboxHandle(profilesList, e)}\n inputProps={{ \"aria-label\": \"primary checkbox\" }}\n style={{ flexBasis: \"5%\", alignSelf: \"center\" }}\n value={profilesList.profile_name}\n />\n
\n {\" \"}\n {\" \"}\n
\n \n {\" \"}\n {profilesList.name ?? profilesList.username}{\" \"}\n {\" \"}\n \n {\" \"}\n {profilesList.username}{\" \"}\n \n
\n
\n {(profilesList.fan_count ??\n profilesList.followers_count) && (\n \n \n {\" \"}\n Total Fans{\" \"}\n {\" \"}\n \n {\" \"}\n (\n {formatNumber(\n profilesList.fan_count ??\n profilesList.followers_count\n )}\n ){\" \"}\n {\" \"}\n \n )}\n {profilesList.is_already_added && (\n \n \n Already Added\n \n \n )}\n \n ))\n )}\n\n {initialProfileListToAdd.length > 0 && (\n \n
\n \n {`ok (${initialProfileListToAdd.length})`}\n \n
\n \n )}\n \n \n \n
\n =\n profileListToAdd.length && profileListToAdd.length > 0\n ? false\n : true\n }\n defaultBackgroundColor\n onClick={addProfilesToCompare}\n >\n Done\n \n
\n
\n \n \n \n );\n}\n","import React, { useEffect } from 'react'\nimport Snackbar from '@material-ui/core/Snackbar';\nimport { useState } from 'react';\nimport { CircularProgress, withStyles } from '@material-ui/core';\n\nconst StyledSnackbar = withStyles({\n root: {\n zIndex: 99,\n \"& .MuiSnackbarContent-message\": {\n fontSize: 12,\n // color: \"#323132\"\n },\n \"& .MuiPaper-root\": {\n // backgroundColor: \"#FFF8DE \"\n }\n },\n anchorOriginTopRight: {\n top: 182,\n right: 44,\n position: \"absolute\"\n \n }\n})(Snackbar)\n\nexport const SnackBar = ({data, message}) => {\nconst [open, setOpen] = useState(false)\nconst [state, setState] = useState([])\n\n\nuseEffect(() => {\n if(data) {\n setState([])\n const downloadingData = data.filter(data => data.is_data_downloading === true)\n setState( downloadingData)\n if(downloadingData.length > 0) {\n setOpen(true)\n } else {\n setOpen(false)\n }\n }\n}, [data])\n\n\n\nconst action = (\n \n );\n \n\n return (\n \n \n \n )\n}\n","import {\n makeStyles,\n Checkbox,\n Avatar,\n Typography,\n IconButton,\n useTheme,\n useMediaQuery\n} from \"@material-ui/core\";\nimport React, { useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { formatImage, formatNumber } from \"../../Functions\";\nimport Spinner from \"../Spinner/index\";\nimport ArrowDropUpIcon from \"@material-ui/icons/ArrowDropUp\";\nimport ArrowDropDownIcon from \"@material-ui/icons/ArrowDropDown\";\nimport ArrowBackIosIcon from \"@material-ui/icons/ArrowBackIos\";\nimport ArrowForwardIosIcon from \"@material-ui/icons/ArrowForwardIos\";\nimport * as constant from \"../../utlis/constant\";\nimport RemoveCircleOutlineOutlinedIcon from \"@material-ui/icons/RemoveCircleOutlineOutlined\";\nimport Alert from \"../AlertBox/Alert\";\nimport ErrorOutlineIcon from \"@material-ui/icons/ErrorOutline\";\nimport { deleteAddedProfileList } from \"../../store/actions/SocialMediaProfileAction\";\nimport { withRouter } from \"react-router-dom\";\n\nconst useStyles = makeStyles((theme) => ({\n divTabelContent: {\n width: \"100%\",\n position: \"relative\",\n },\n table1: {\n flexGrow: 1,\n borderRight: \"1px solid #bdbdbd\",\n position: \"relative\",\n \"& .table-1-table-data\": {\n minHeight: 65,\n display: \"flex\",\n alignItems: \"center\",\n },\n },\n table2: {\n flexGrow: 2,\n overflowX: \"auto\",\n scrollBehavior: \"smooth\",\n \"& .table-2-table-header-data\": {\n display: \"flex\",\n justifyContent: \"center\",\n },\n\n \"& .table-2-table-data\": {\n padding: 24,\n fontSize: 14,\n paddingLeft: 14,\n display: \"flex\",\n justifyContent: \"center\",\n // minHeight: 65.5\n },\n },\n table3: {\n flexGrow: 3,\n borderLeft: \"1px solid #bdbdbd\",\n position: \"relative\",\n \"& .table-3-table-data\": {\n padding: 22,\n justifyContent: \"center\",\n // minHeight: 66.5\n },\n \"& .MuiButtonBase-root\": {\n padding: 0,\n },\n },\n tableHeader: {\n \"& div\": {\n backgroundColor: \"#F5F5F5\",\n fontWeight: 600,\n fontSize: 14,\n textTransform: \"capitalize\",\n cursor: \"pointer\",\n \"& :hover\": {\n \"& .arrowComponent\": {\n display: \"block\",\n },\n },\n\n \"& .arrowComponent\": {\n display: \"none\",\n },\n \"& .table-3-table-data\": {\n alignItems: \"center\",\n },\n },\n },\n tableBody: {},\n tableRow: {\n display: \"flex\",\n minHeight: 70,\n },\n tableData: {\n minWidth: 200,\n padding: 12,\n width: \"100%\",\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n },\n tableCheckbox: {\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: 16,\n\n \"& .MuiCheckbox-colorSecondary.Mui-checked\": {\n color: \"#0B6670\",\n },\n },\n arrow: {\n fontSize: 22,\n color: \"#bdbdbd\",\n },\n headerTextStyle: {\n margin: 0,\n whiteSpace: \"break-spaces\",\n textAlign: \"center\",\n },\n}));\n\nconst CustomDataTable = ({\n data,\n loader,\n selectedLabels,\n getSelectedProfileList,\n history,\n allLabels\n}) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const [checkedData, setCheckedData] = useState([]);\n const [sort, setSort] = useState(false);\n const [deleteAlertOpen, setDeleteAlertOpen] = React.useState(false);\n const [itemToDelete, setItemToDelete] = React.useState(null);\n const scrollerRef = useRef();\n const { user } = useSelector((state) => state.auth);\n const { activeSocialMediaType } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n let subdomain = user.CustomerSubdomain.subdomain;\n\n const scrollScroller = (scrollSide) => {\n if (scrollSide === \"right\") {\n scrollerRef.current.scrollLeft += 200;\n } else {\n scrollerRef.current.scrollLeft += -200;\n }\n };\n\n //checkbox function\n const handleChange = (event) => {\n const { value, checked } = event.target;\n if (checked) {\n setCheckedData([...checkedData, value]);\n } else {\n const filteredValue = checkedData.filter((c) => c !== value);\n setCheckedData(filteredValue);\n }\n };\n\n React.useEffect(() => {\n const selectedProfileList = data.filter((d) =>\n checkedData.includes(`${d.id}`)\n );\n getSelectedProfileList(selectedProfileList);\n }, [checkedData]);\n\n //handele all select function\n\n const handleAllChange = (event) => {\n let { checked } = event.target;\n const dataId = sortedData.map((d) => `${d.id}`);\n if (checked) {\n setCheckedData(dataId);\n } else {\n setCheckedData([]);\n }\n };\n\n /* deleting added social media profiles dialog opens */\n const deleteAddedprofile = (data) => {\n setDeleteAlertOpen(true);\n setItemToDelete(data);\n };\n /* Deleting social medai profiles list */\n const handleDelete = () => {\n if (itemToDelete) {\n dispatch(deleteAddedProfileList(itemToDelete));\n }\n };\n console.log(\"show delete item\", itemToDelete);\n //sorted features\n\n const [sortedField, setSortedField] = React.useState({});\n const [sortedData, setSortedData] = React.useState(null);\n\n React.useMemo(() => {\n let sortedProducts = [...data];\n if (sortedField !== null) {\n sortedProducts.sort((a, b) => {\n if (a[sortedField.key] < b[sortedField.key]) {\n return sortedField.direction === \"ascending\" ? -1 : 1;\n }\n if (a[sortedField.key] > b[sortedField.key]) {\n return sortedField.direction === \"ascending\" ? 1 : -1;\n }\n return 0;\n });\n }\n setSortedData(sortedProducts);\n }, [data, sortedField]);\n\n const requestSort = (key) => {\n setSort(!sort);\n let direction = \"ascending\";\n if (sortedField.key === key && sortedField.direction === \"ascending\") {\n direction = \"descending\";\n }\n setSortedField({ key, direction });\n };\n\n const isLabelSelected = (s) => {\n\n const [selectedlabel] = selectedLabels.filter(sl => sl.key === s.key)\n if (selectedlabel) {\n return true\n }\n return false\n }\n\n return (\n <>\n
\n {loader ? (\n \n ) : (\n xs ?\n sortedData.map((d, index) =>\n \n
\n \n
\n
\n
\n
\n \n
\n
\n
\n {d.name}\n
\n
\n {d.username}\n
\n
\n
\n
\n {allLabels.map((s) => {\n\n if (isLabelSelected(s)) {\n return (\n
\n
\n {s.mobileTitle}\n
\n
\n {d[s.key] ? formatNumber(d[s.key]) : 0}{\" \"}\n
\n
\n )\n }\n })}\n\n
\n
\n
\n {user.role !== constant.CUSTOMER_VIEWER_NAME ? (\n deleteAddedprofile(d.id)}\n style={{ padding: 9 }}\n >\n \n \n ) : (\n \"\"\n )}\n
\n
\n )\n :\n <>\n
\n
\n
\n
\n \n
\n
\n Profile\n
\n
\n
\n
\n {sortedData &&\n sortedData.map((d) => (\n \n
\n \n
\n
\n \n {d.is_data_downloading && (\n
\n )}\n\n \n \n \n history.push(\"/brand-overview\", d.id)\n }\n >\n {d.name}\n \n \n {d.username}\n \n
\n
\n \n \n ))}\n \n scrollScroller(\"left\")}\n >\n \n \n \n \n
\n
\n {allLabels.map((s) => isLabelSelected(s) ? (\n requestSort(`${s.key}`)}\n >\n

{s.title}

\n {sortedField.direction === \"ascending\" ? (\n \n ) : (\n \n )}{\" \"}\n
\n ) : null)}\n
\n \n
\n {sortedData &&\n sortedData.map((d) => (\n \n {allLabels.map((s) => {\n\n if (isLabelSelected(s)) {\n return (\n \n {\" \"}\n {d[s.key] ? formatNumber(d[s.key]) : 0}{\" \"}\n
\n )\n }\n })}\n \n ))}\n \n \n
\n
\n
\n
\n Delete\n
\n
\n
\n
\n {data.map((d) => (\n \n
\n {user.role !== constant.CUSTOMER_VIEWER_NAME ? (\n deleteAddedprofile(d.id)}\n >\n \n \n ) : (\n \"\"\n )}\n\n
\n
\n ))}\n
\n scrollScroller(\"right\")}\n >\n \n \n \n \n )}\n \n }\n title=\"Are you sure?\"\n confirmBtn=\"DELETE\"\n description=\"You're about to Delete the profile. This process cannot be undone.\"\n open={deleteAlertOpen}\n setOpen={setDeleteAlertOpen}\n onConfirm={handleDelete}\n buttonbgcolor=\"#f50057\"\n />\n \n \n );\n};\n\nexport default withRouter(CustomDataTable);\n","import React, { useState } from \"react\";\nimport {\n Container,\n Grid,\n TextField,\n makeStyles,\n InputAdornment,\n withStyles,\n Typography,\n Button,\n Backdrop,\n CircularProgress,\n useTheme,\n useMediaQuery,\n MenuItem,\n InputLabel,\n Select,\n FormControl,\n Checkbox,\n} from \"@material-ui/core\";\n\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport Layout from \"../../Components/Layout\";\nimport { Styles } from \"./Styles\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n getAddedProfileList,\n resetSelectedProfileForCompare,\n searchAddedProfileList,\n selectProfilesToComapre,\n} from \"../../store/actions/SocialMediaProfileAction\";\nimport SocialButton from \"../../Components/SocialButton\";\nimport MaterailDataTable from \"../../Components/MaterialDataTable/MaterialDatatable\";\nimport AddProfileModal from \"../../Components/AddProfileModal/AddProfileModal\";\nimport CompareIcon from \"@material-ui/icons/Compare\";\nimport { withRouter, Link } from \"react-router-dom\";\nimport PageTitle from \"../../Components/PageTitle/PageTitle\";\nimport { toast } from \"react-toastify\";\nimport TextInput from \"../../Components/TextInput/TextInput\";\nimport { CustomButton } from \"../../Components/CustomButton/CustomButton\";\nimport { SnackBar } from \"../../Components/SnackBar/SnackBar\";\nimport Spinner from \"../../Components/Spinner\";\nimport CustomDataTable from \"../../Components/MaterialDataTable/CustomDataTable\";\nimport FilterDays from '../../Components/FilterDays'\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\n//Styled menu\nconst StyledSelect = withStyles({\n root: {\n padding: 8,\n border: \"1px solid #BDBDBD\",\n height: \"24px\",\n },\n})(Select);\n\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n})(MenuItem);\n\nconst StyledInputLabel = withStyles({\n root: {\n fontSize: 20,\n fontWeight: 400,\n color: \"#000000 !important\",\n },\n outlined: {\n transform: \"translate(10px, 12px) scale(0.8) !important\",\n },\n focused: {\n color: \"#000000 !important\",\n opacity: \"1 !important\",\n },\n})(InputLabel);\n\nconst ProfileListingPage = ({ history }) => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const dispatch = useDispatch();\n const classes = useStyles({ xs });\n const [selectedProfiles, setSelectedProfiles] = useState([]);\n const [searchProfile, setSearchProfile] = React.useState(\"\");\n const {\n addedProfileList,\n activeSocialMediaType,\n addedProfileListLoading,\n searchedAddedProfilesList,\n profilesListForCompareLoading,\n selectedProfilesListToComapre,\n customDateRangeRed\n } = useSelector((state) => state.socialMediaProfileListReducer);\n const [openPost, setOpenPosts] = React.useState(false);\n let filterDataLabels = [\n { title: \"Total Fans\", mobileTitle: \"Fans\", key: \"fan_count\" },\n { title: \"Relative Change in Total Fans\", mobileTitle: \"Change in Fans\", key: \"relative_fan_change\" },\n { title: \"Shares\", mobileTitle: \"Shares\", key: \"shares_count\" },\n { title: \"Comment Count\", mobileTitle: \"Comments\", key: \"comments_count\" },\n { title: \"Post Counts\", mobileTitle: \"Posts\", key: \"posts_count\" },\n { title: \"Sum of Interactions\", mobileTitle: \"Interactions\", key: \"interactions_count\" },\n {\n title: \"Average Interaction per 1k Fans\",\n mobileTitle: \"Avg Interactions\",\n key: \"interaction_per_1k_fans\",\n },\n { title: \"Average Interaction per post\", mobileTitle: \"Avg Interactions / Post\", key: \"avg_interaction_per_post\" },\n {\n title: \"Average Interaction per 1k Fans per Post\",\n mobileTitle: \"Avg Interactions / 1k Fan / Post\",\n key: \"avg_interaction_per_1k_fans_per_post\",\n },\n ];\n if (activeSocialMediaType === \"instagram\") {\n filterDataLabels = [\n { title: \"Total Fans\", mobileTitle: \"Fans\", key: \"fan_count\" },\n { title: \"Relative Change in Total Fans\", mobileTitle: \"Change in Fans\", key: \"relative_fan_change\" },\n { title: \"Comment Count\", mobileTitle: \"Comments\", key: \"comments_count\" },\n { title: \"Post Counts\", mobileTitle: \"Posts\", key: \"posts_count\" },\n { title: \"Sum of Interactions\", mobileTitle: \"Interactions\", key: \"interactions_count\" },\n {\n title: \"Average Interaction per 1k Fans\",\n mobileTitle: \"Avg Interactions\",\n key: \"interaction_per_1k_fans\",\n },\n { title: \"Average Interaction per post\", mobileTitle: \"Avg Interactions / Post\", key: \"avg_interaction_per_post\" },\n {\n title: \"Average Interaction per 1k Fans per Post\",\n mobileTitle: \"Avg Interactions / 1k Fan / Post\",\n key: \"avg_interaction_per_1k_fans_per_post\",\n },\n ];\n }\n const [selectedPostTypes, setSelectedPostTypes] = React.useState(\n filterDataLabels\n );\n\n console.log(\"slected post type\", filterDataLabels);\n\n const 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 React.useEffect(() => {\n //checking internet connection\n\n var condition = navigator.onLine ? \"online\" : \"offline\";\n\n if (condition === \"offline\") {\n toast.error(\"No internet connection\");\n }\n }, [addedProfileList, activeSocialMediaType]);\n\n /* getting added profile list on component did mount */\n React.useEffect(() => {\n\n dispatch(getAddedProfileList());\n\n }, [activeSocialMediaType, customDateRangeRed]);\n\n React.useEffect(() => {\n\n dispatch(resetSelectedProfileForCompare()); // reset selected profiles list for compare\n }, [activeSocialMediaType,]);\n\n /* search handle from profiles added list */\n const searchAddedProfile = async (e) => {\n dispatch(\n getAddedProfileList(e.target.value)\n ); /* action dispatch for api calls */\n setSearchProfile(e.target.value);\n };\n\n /* get seleted profiles list from child component */\n const getSelectedProfile = (profiles) => {\n setSelectedProfiles(profiles);\n };\n\n /* select profiles list to comapare on click */\n const selectProfiles = (page) => {\n if (page === \"compare\") {\n if (\n selectedProfiles.length >= 2 ||\n selectedProfilesListToComapre.length !== 0\n ) {\n dispatch(selectProfilesToComapre(selectedProfiles));\n history.push(\"/profile-comparison\");\n } else {\n toast.error(\"Select at least two or more profiles.\");\n }\n } else if (page === \"content\") {\n dispatch(selectProfilesToComapre(selectedProfiles));\n history.push(\"/content-newsfeed\");\n }\n };\n console.log(\"show selected profile \", selectedProfiles);\n //select data label option functions\n const handlePostsOpen = () => {\n setOpenPosts(true);\n };\n\n const handlePostsClose = () => {\n setOpenPosts(false);\n };\n //update selcted profiles\n\n const updateSelectedPosts = (value, checked) => {\n setOpenPosts(true);\n let selectedPostId = selectedPostTypes.map((s) => s.key);\n if (checked) {\n selectedPostId = [...selectedPostId, value.key];\n // setSelectedPostTypes([...selectedPostTypes, value])\n } else {\n selectedPostId = selectedPostId.filter((s) => s !== value.key);\n }\n const filteredPostType = filterDataLabels.filter((s) =>\n selectedPostId.includes(s.key)\n );\n setSelectedPostTypes(filteredPostType);\n };\n\n const postTypeIsChecked = (postType) => {\n const [checkedData] = selectedPostTypes.filter(\n (s) => s.key === postType.key\n );\n if (checkedData) {\n return true;\n } else {\n return false;\n }\n };\n\n return (\n \n \n
\n \n
\n \n
\n
\n \n \n
\n }\n onClick={() => selectProfiles(\"compare\")}\n >\n Compare\n \n {\" \"}\n selectProfiles(\"content\")}>\n Content Newsfeed\n \n
\n\n
\n \n \n \n {\" \"}\n Select labels\n \n\n \n {filterDataLabels.length > 0 ? (\n filterDataLabels.map((postType) => (\n \n \n \n updateSelectedPosts(postType, e.target.checked)\n }\n checked={postTypeIsChecked(postType)}\n />\n \n {\" \"}\n {postType.title}{\" \"}\n {\" \"}\n
\n \n ))\n ) : (\n \n \n No Data Avialable\n {\" \"}\n \n )}\n \n \n \n \n \n \n \n
\n
\n {/* \n getSelectedProfile(profiles)\n }\n loader={addedProfileListLoading}\n selectedLabels={selectedPostTypes}\n /> */}\n \n getSelectedProfile(profiles)\n }\n />\n {addedProfileList && addedProfileList.length === 0 && (\n \n No records found\n \n )}\n
\n \n
\n \n
\n {!addedProfileListLoading &&\n addedProfileList &&\n addedProfileList.length > 0 && }\n
\n );\n};\n\nexport default withRouter(ProfileListingPage);\n","import { Typography } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport ReactExport from \"react-data-export\";\nimport { useSelector } from \"react-redux\";\nimport { totalEngagementPerKFans } from \"../../Functions\";\nconst ExcelFile = ReactExport.ExcelFile;\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\n\nexport const ProfileOverviewDataExport = ({\n timeRange,\n interaction1kPerFans,\n interactionDateFilter,\n fanGrowthDateFilter,\n postTypeDateFilter,\n showDownloadSnackBar,\n xlsxLogo,\n onClick\n}) => {\n const [interactionExcellData, setInteractionExcellData] = useState([]);\n const [interactionDataCount, setInteractionDataCount] = useState([]);\n const [fanGrowthExcellData, setFansGrowthExcellData] = useState([]);\n const [fanGrowthDataCount, setFanGrowthDataCount] = useState([]);\n const [postsDataExcellData, setPostsDataExcellData] = useState([]);\n const [postsDataCount, setPostsDataCount] = useState([]);\n const [profileTopPostCount, setProfileTopPostCount] = useState([]);\n const [profileTopPostExcellData, setProfileTopPostExcellData] = useState([]);\n const [overviewCount, setOverviewCount] = useState([]);\n\n const {\n interactionData,\n postsData,\n profileTopPost,\n activeSocialMediaType,\n profileComments,\n profileShares,\n profileLikes,\n profileBasic,\n fansGrowth,\n customDateRangeRed,\n profileGrowthFollowers,\n profileAbsInteraction,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n //setting value for interactions data for excell export\n useEffect(() => {\n if (\n interactionData &&\n interactionDateFilter &&\n activeSocialMediaType &&\n customDateRangeRed\n ) {\n setInteractionDataCount([]);\n const { timeline, datasets } = interactionData;\n\n for (const timelineIndex in timeline) {\n if (Object.hasOwnProperty.call(timeline, timelineIndex)) {\n const date = timeline[timelineIndex];\n\n //finding label for this date\n for (const key in datasets) {\n if (Object.hasOwnProperty.call(datasets, key)) {\n const dataset = datasets[key];\n let profileDetails = [\n { value: date.end },\n { value: dataset.label },\n { value: dataset.data[timelineIndex] },\n { value: \"\" },\n ];\n setInteractionDataCount((prevState) => [\n ...prevState,\n profileDetails,\n ]);\n }\n }\n }\n }\n }\n }, [\n interactionData,\n interactionDateFilter,\n activeSocialMediaType,\n customDateRangeRed,\n ]);\n\n useEffect(() => {\n if (interactionDataCount) {\n setInteractionExcellData([\n {\n columns: [\n { title: \"Date\" },\n { title: \"Page name\" },\n {\n title: interaction1kPerFans\n ? \"1k per interactions data\"\n : \"Interactions data\",\n },\n { title: `Filter_by: ${interactionDateFilter}` },\n ],\n data: interactionDataCount,\n },\n ]);\n }\n }, [interactionDataCount]);\n\n //setting value for fan growth data for excell export\n useEffect(() => {\n if (\n fansGrowth &&\n fanGrowthDateFilter &&\n activeSocialMediaType &&\n customDateRangeRed\n ) {\n setFanGrowthDataCount([]);\n const { timeline, datasets } = fansGrowth;\n\n for (const timelineIndex in timeline) {\n if (Object.hasOwnProperty.call(timeline, timelineIndex)) {\n const date = timeline[timelineIndex];\n\n //finding label for this date\n for (const key in datasets) {\n if (Object.hasOwnProperty.call(datasets, key)) {\n const dataset = datasets[key];\n let profileDetails = [\n { value: date.end },\n { value: dataset.label },\n { value: dataset.data[timelineIndex] },\n { value: \"\" },\n ];\n setFanGrowthDataCount((prevState) => [\n ...prevState,\n profileDetails,\n ]);\n }\n }\n }\n }\n }\n }, [fansGrowth, fanGrowthDateFilter, activeSocialMediaType, customDateRangeRed]);\n\n useEffect(() => {\n if (fanGrowthDataCount) {\n setFansGrowthExcellData([\n {\n columns: [\n { title: \"Date\" },\n { title: \"Page name\" },\n {\n title: \"Fan growth data\",\n },\n { title: `Filter_by: ${fanGrowthDateFilter}` },\n ],\n data: fanGrowthDataCount,\n },\n ]);\n }\n }, [fanGrowthDataCount]);\n\n //setting value for published posts content breakdown data for excell export\n useEffect(() => {\n if (postsData && postTypeDateFilter && customDateRangeRed && activeSocialMediaType) {\n setPostsDataCount([]);\n const { timeline, datasets } = postsData;\n\n for (const timelineIndex in timeline) {\n if (Object.hasOwnProperty.call(timeline, timelineIndex)) {\n const date = timeline[timelineIndex];\n\n //finding label for this date\n for (const key in datasets) {\n if (Object.hasOwnProperty.call(datasets, key)) {\n const dataset = datasets[key];\n let profileDetails = [\n { value: date.end },\n { value: dataset.label },\n { value: dataset.data[timelineIndex] },\n { value: \"\" },\n ];\n setPostsDataCount((prevState) => [...prevState, profileDetails]);\n }\n }\n }\n }\n }\n }, [postsData, postTypeDateFilter, customDateRangeRed, activeSocialMediaType]);\n\n useEffect(() => {\n if (postsDataCount) {\n setPostsDataExcellData([\n {\n columns: [\n { title: \"Date\" },\n { title: \"labels\" },\n { title: \"Post content breakdown\" },\n { title: `Filter_by: ${postTypeDateFilter}` },\n ],\n data: postsDataCount,\n },\n ]);\n }\n }, [postsDataCount]);\n\n //setting profile top post data for excell export\n\n useEffect(() => {\n if (profileTopPost && activeSocialMediaType) {\n const { feeds } = profileTopPost ? profileTopPost : \"\";\n setProfileTopPostCount([]);\n if (feeds) {\n for (let i = 0; i < feeds.length; ++i) {\n if (feeds[i]) {\n let data = [\n { value: i },\n { value: feeds[i].feed_created_date },\n { value: feeds[i].profile_info.page_name },\n { value: feeds[i].feed_link },\n { value: feeds[i].feed_type },\n { value: feeds[i].caption },\n { value: feeds[i].attachment ? feeds[i].attachment : \"null\" },\n { value: feeds[i].feed_comment_count },\n { value: feeds[i].feed_like_count },\n { value: feeds[i].feed_share_count },\n { value: feeds[i].other_engagement },\n { value: feeds[i].total_engagement },\n {\n value: feeds[i].avg_interaction_per_1k_fans,\n },\n ];\n setProfileTopPostCount((prevState) => [...prevState, data]);\n }\n }\n }\n }\n }, [profileTopPost, customDateRangeRed, activeSocialMediaType]);\n\n useEffect(() => {\n if (profileTopPostCount) {\n setProfileTopPostExcellData([\n {\n columns: [\n { title: \"#\" },\n { title: \"Date\" },\n { title: \"Page name\" },\n { title: \"URL\" },\n { title: \"Post type\" },\n { title: \"Caption\" },\n { title: \"Post URL\" },\n { title: \"Comment\" },\n { title: \"Like\" },\n { title: \"Share\" },\n { title: \"Other engagement\" },\n { title: \"Total engagement\" },\n { title: \"Engagement per 1k fans\" },\n ],\n data: profileTopPostCount,\n },\n ]);\n }\n }, [profileTopPostCount]);\n\n //set evulution of interaction date filter wise\n useEffect(() => {\n if (\n profileShares &&\n profileComments &&\n profileLikes &&\n profileBasic &&\n customDateRangeRed &&\n activeSocialMediaType\n ) {\n let data = [\n [\n { value: profileBasic.page_name },\n { value: profileLikes.filter_type },\n { value: profileLikes.total_likes_count },\n { value: profileComments.total_comments_count },\n {\n value:\n activeSocialMediaType === \"facebook\"\n ? profileShares.total_shares_count\n : \"0\",\n },\n { value: profileGrowthFollowers.followers_growth },\n { value: profileAbsInteraction.total_interaction_count },\n ],\n ];\n setOverviewCount([\n {\n columns: [\n { title: \"PageName\" },\n { title: \"Date filter type\" },\n { title: \"Likes\" },\n { title: \"Comments\" },\n { title: \"Shares\" },\n { title: \"followers\" },\n { title: \"Interactions\" },\n ],\n data: data,\n },\n ]);\n }\n }, [\n profileShares,\n profileShares,\n profileLikes,\n profileBasic,\n profileAbsInteraction,\n profileGrowthFollowers,\n customDateRangeRed,\n activeSocialMediaType,\n ]);\n\n const overviewDataSet = [\n {\n columns: [\n { title: \"Overview\", style: { font: { bold: true } } },\n { title: \"\", style: { alignment: { vertical: \"center\" } } },\n {\n title: `${activeSocialMediaType} overview`,\n style: { alignment: { vertical: \"center\" } },\n },\n ],\n data: [\n [{ value: \" \" }, { value: \"\" }, { value: \"\" }],\n [\n { value: \"Time Range \", style: { font: { bold: true } } },\n { value: \"\" },\n {\n value: `${new Date(\n customDateRangeRed[0].startDate\n ).toDateString()} to ${new Date(\n customDateRangeRed[0].endDate\n ).toDateString()} `,\n },\n ],\n [{ value: \" \" }, { value: \"\" }, { value: \"\" }],\n [\n { value: \"pages name\", style: { font: { bold: true } } },\n { value: \" \" },\n { value: `${profileBasic ? profileBasic.page_name : \"\"}` },\n ],\n ],\n },\n ];\n\n return (\n
\n {\n onClick();\n\n showDownloadSnackBar(true);\n setTimeout(() => {\n showDownloadSnackBar(false);\n }, 2000);\n }}\n style={{ fontSize: 15, cursor: \"pointer\" }}\n >\n {\" \"}\n Export xlsx\n \n }\n >\n \n \n \n \n \n \n \n
\n );\n};\n","export default __webpack_public_path__ + \"static/media/heart.59848f48.png\";","export default __webpack_public_path__ + \"static/media/followers.b81e381b.png\";","export default __webpack_public_path__ + \"static/media/comments.88080b68.png\";","export default __webpack_public_path__ + \"static/media/next.3a14e974.png\";","import React, { useEffect } from \"react\";\nimport {\n Document,\n Page,\n Text,\n View,\n StyleSheet,\n Image,\n Font,\n Link,\n Svg,\n Path,\n} from \"@react-pdf/renderer\";\nimport FacebookRoundLogo from \"../../assets/images/facebook.png\";\nimport InstagramLogo from \"../../assets/images/instagram.png\";\nimport FavIcon from \"../../assets/images/heart.png\";\nimport defaultLogo from \"../../assets/images/msvfooterLogo.png\";\nimport FollowerGrowthIcons from \"../../assets/images/followers.png\";\nimport {\n formatImage,\n numbersFormat,\n totalEngagementPerKFans,\n} from \"../../Functions\";\nimport fbLogo from \"../../assets/images/facebook.png\";\nimport PoppinsFont from \"../../assets/fonts/Poppins-Medium.ttf\";\nimport CommentIcon from \"../../assets/images/comments.png\";\nimport ShareIcon from \"../../assets/images/next.png\";\nimport FollowersIcon from \"../../assets/images/follow.png\";\nimport cameraIcon from \"../../assets/images/cameraIcon.png\";\nimport videoIcon from \"../../assets/images/videoIcon.png\";\nimport commentIcon from \"../../assets/images/commentIcon.png\";\nimport linkIcon from \"../../assets/images/linkIcon.png\";\nimport photoAlbumIcon from \"../../assets/images/photoAlbumIcon.png\";\nimport * as moment from \"moment-timezone\";\nimport { PdfTopPostComponent } from \"Pages/DashboardPage/PdfComponent/PdfTopPostComponent\";\n\n//Registering font for PDF\n\nFont.register({ family: \"Poppins\", src: PoppinsFont });\n\nconst ProfileOverViewPDF = (props) => {\n const {\n profileBasic,\n profileLikes,\n profileComments,\n profileShares,\n profileGrowthFollowers,\n pdf1,\n pdf2,\n pdf3,\n feeds,\n activeSocialMediaType,\n interactionDateFilter,\n fanGrowthDateFilter,\n user,\n postTypeDateFilter,\n profileAbsInteraction,\n customDateRangeRed,\n } = props;\n\n const stylesPdf = StyleSheet.create({\n page: {\n backgroundColor: \"#f5f5f5\",\n padding: 30,\n fontFamily: \"Poppins\",\n },\n postsPage: {\n backgroundColor: \"#f5f5f5\",\n padding: 30,\n },\n section: {\n alignSelf: \"center\",\n marginTop: 20,\n alignItems: \"center\",\n marginBottom: 40,\n },\n date: {\n alignSelf: \"center\",\n marginTop: 10,\n fontSize: 12,\n },\n logo: {\n height: 40,\n width: 40,\n backgroundColor: \"#E4E4E4\",\n alignSelf: \"center\",\n borderRadius: \"50%\",\n },\n graph: {\n height: 140,\n marginTop: 20,\n backgroundColor: \"#ffffff\",\n },\n topPosts: {\n width: 120,\n height: 200,\n marginTop: 20,\n marginRight: 10,\n },\n twoImageContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n topPostsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n sectionTitle: {\n fontSize: 15,\n fontFamily: \"Poppins\",\n fontWeight: \"bold\",\n marginBottom: \"15px\",\n paddingBottom: 4,\n borderBottom: \"1px solid #D5DDE0\",\n },\n pageName: {\n alignSelf: \"center\",\n fontSize: 15,\n fontFamily: \"Poppins\",\n fontWeight: 400,\n marginTop: \"10px\",\n paddingBottom: 4,\n borderBottom: \"1px solid #D5DDE0\",\n },\n graphTitle: {\n fontSize: 10,\n fontFamily: \"Poppins\",\n },\n likeCommentCardSection: {\n padding: \"0px 40px\",\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n likeCommentCard: {\n width: 180,\n height: 70,\n marginBottom: 10,\n },\n socialMediaCardLabels: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n width: 200,\n height: 100,\n marginBottom: 10,\n padding: \"10px 10px 10px 10px\",\n border: \"1px solid #D5DDE0\",\n borderRadius: \"3px\",\n fontFamily: \"Poppins\",\n backgroundColor: \"#ffffff\",\n },\n socialMediaCardLabelTitleText: {\n fontSize: \"10px\",\n },\n socialMediaCardLabelFilterText: {\n fontSize: \"8px\",\n },\n socialMediaCardLabelIcon: {\n width: 15,\n height: 15,\n marginLeft: \"auto\",\n },\n socialMediaPostsCard: {\n fontFamily: \"Poppins\",\n width: 200,\n padding: 8,\n margin: 10,\n border: \"1px solid #D5DDE0\",\n backgroundColor: \"#ffffff\",\n },\n socialMediaCardTopSection: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n marginBottom: 10,\n },\n socialMediaPostPageTitle: {\n fontSize: 10,\n },\n socialMediaPostDate: {\n fontSize: 8,\n },\n socialMediaPostMidSection: {\n fontSize: 9,\n overflow: \"hidden\",\n marginBottom: 8,\n },\n socialMediaCardLink: {\n color: \"#0645AD\",\n marginBottom: 8,\n marginTop: 8,\n },\n socialMediaCardImage: {\n width: 180,\n height: 180,\n borderRadius: \"5\",\n },\n socialMediaCardImageContainer: {\n width: 180,\n height: 180,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n overflow: \"hidden\",\n },\n socialMediaPostBottomSection: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n socialMediaCardPageLogo: {\n width: 20,\n height: 20,\n borderRadius: \"50%\",\n marginRight: 5,\n },\n socialMediaPostCardEngagementsTitle: {\n fontSize: \"10px\",\n color: \"rgb(117, 117, 117)\",\n marginBottom: 2,\n },\n socialMediaPostCardEngagementsNumber: {\n fontSize: \"8px\",\n fontWeight: 600,\n },\n socialMediaPostCardEngagementsNumberRight: {\n fontSize: \"8px\",\n fontWeight: 600,\n marginLeft: \"auto\",\n },\n engagementRow: {\n display: \"flex\",\n justifyContent: \"space-between\",\n flexDirection: \"row\",\n marginBottom: 8,\n marginTop: 8,\n },\n engagementColumn: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n interactionsper1k: {\n float: \"right\",\n fontSize: 8,\n marginTop: 10,\n marginBottom: 10,\n },\n totalEngagements: {\n marginBottom: 8,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n socialMediaPostSocialLogo: {\n width: 15,\n height: 15,\n },\n socialMainLogo: {\n width: 25,\n height: 25,\n marginRight: 10,\n },\n overviewTitle: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n fontFamily: \"Poppins\",\n },\n metricText: {\n fontSize: 10,\n fontWeight: 400,\n lineHeight: \"1.5 px\",\n marginBottom: 8,\n },\n feedIcon: {\n width: 12,\n height: 12,\n },\n labelIcon: {\n height: 30,\n width: 30,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n },\n });\n\n let subdomain = user.CustomerSubdomain.subdomain;\n\n const mediaCardGrowthCard = (growth) => {\n if (parseInt(growth) === 0) {\n return (\n \n \n \n );\n }\n if (parseInt(growth) < 0) {\n return (\n \n \n \n );\n }\n if (parseInt(growth) > 0) {\n return (\n \n \n \n );\n }\n };\n\n return (\n \n \n \n {activeSocialMediaType === \"instagram\" ? (\n \n \n Brand Overview\n \n ) : (\n \n \n Brand Overview\n \n )}\n \n {\" \"}\n {`${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[1]\n } ${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[2]\n } ${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[3]\n } - ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[1]\n } ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[2]\n } ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[3]\n }`}\n \n \n \n \n \n {profileBasic.page_name}\n \n \n \n {\" \"}\n {numbersFormat(profileBasic.page_fan_count)} Followers\n {\" \"}\n {numbersFormat(profileBasic.total_feeds_count)} Posts\n {\" \"}\n \n \n \n {activeSocialMediaType === \"instagram\" && profileBasic ? (\n \n {\" \"}\n {numbersFormat(profileBasic.page_following)} Followers{\" \"}\n \n ) : null}\n \n \n \n \n \n \n \n \n \n Likes{\" \"}\n \n ({profileLikes.filter_type}){\" \"}\n \n \n \n\n \n \n {numbersFormat(profileLikes.total_likes_count)}\n \n \n {mediaCardGrowthCard(profileLikes.growth)}\n\n \n {profileLikes.growth\n ? `${parseInt(profileLikes.growth)}%`\n : \"0%\"}\n \n Absolute Growth\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n Comments{\" \"}\n \n ({profileComments.filter_type}){\" \"}\n \n \n \n\n \n \n {numbersFormat(profileComments.total_comments_count)}\n \n \n {mediaCardGrowthCard(profileComments.growth)}\n \n {profileComments.growth\n ? `${parseInt(profileComments.growth)}%`\n : \"0%\"}\n \n Absolute Growth\n \n \n \n\n \n \n \n \n \n \n\n {activeSocialMediaType === \"facebook\" && (\n \n \n \n \n Share{\" \"}\n \n ({profileShares.filter_type}){\" \"}\n \n \n \n\n \n \n {numbersFormat(profileShares.total_shares_count)}\n \n \n {mediaCardGrowthCard(profileShares.growth)}\n\n \n {profileShares.growth\n ? `${parseInt(profileShares.growth)}%`\n : \"0%\"}\n \n Absolute Growth\n \n \n \n\n \n \n \n \n \n \n )}\n\n \n \n \n \n Followers{\" \"}\n \n ({profileGrowthFollowers.filter_type}){\" \"}\n \n \n \n\n \n \n {numbersFormat(profileGrowthFollowers.followers_growth)}\n \n \n {mediaCardGrowthCard(profileGrowthFollowers.absolute_growth)}\n\n \n {profileGrowthFollowers.absolute_growth\n ? `${parseInt(profileGrowthFollowers.absolute_growth)}%`\n : \"0%\"}\n \n Absolute Growth\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n Interactions{\" \"}\n \n ({profileAbsInteraction.filter_type}){\" \"}\n \n \n \n\n \n \n {numbersFormat(profileAbsInteraction.total_interaction_count)}\n \n \n {mediaCardGrowthCard(profileAbsInteraction.growth)}\n\n \n {profileAbsInteraction.growth\n ? `${parseInt(profileAbsInteraction.growth)}%`\n : \"0%\"}\n \n Absolute Growth\n \n \n \n\n \n \n \n \n \n \n \n\n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n \n \n \n \n \n Interactions (By{\" \"}\n \n {interactionDateFilter}\n {\" \"}\n )\n \n \n \n \n \n Follower Growth (By{\" \"}\n \n {fanGrowthDateFilter}\n \n )\n \n \n \n \n \n Published Posts Content Breakdown (By{\" \"}\n \n {postTypeDateFilter}\n \n )\n \n \n \n \n \n\n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n {feeds.length > 0 && (\n \n \n {feeds.length > 0 && (\n \n \n {feeds && feeds.length !== 0\n ? feeds.map((topPost, index) => (\n \n ))\n : \"\"}\n \n \n )}\n \n\n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n )}\n\n {/* Metrics Page */}\n \n \n \n Metrics Overview\n \n \n \n 1. Interactions \n \n\n \n \n The colorful bar chart displays interactions (Reactions,\n Comments and Shares) count of page during selected time range.\n \n \n \n \n \n 2. Top posts \n \n\n \n \n This shows the distribution of the Post Types by the average\n Interactions per 1000 fans metric or by the average Interactions\n per post metric during the selected time range.\n \n \n \n \n \n 3. Total Followers \n \n\n \n \n This chart shows the information regarding the growth of\n followers of your pages withing selected time period. The\n negative value shows decrease in followers whereas positive\n value shows increase in followers.\n \n \n \n \n \n 4. Reactions \n \n\n \n \n This card shows the growth or decline in reactions (Like, Love,\n Haha, Angry) within last 31 days.\n \n \n \n \n \n 6. Share \n \n\n \n \n This card shows the growth or decline in page posts shared\n within last 31 days.\n \n \n \n \n \n 7. Published Posts content breakdown \n \n\n \n \n This line chart shows the rate of posts shared within selected\n time range. The post may be album, photo, status or video and\n can be recognized with color as shown in chart.\n \n \n \n \n \n \n );\n};\n\nexport default ProfileOverViewPDF;\n","import { Typography, useTheme, useMediaQuery,makeStyles } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { PhotoshopPicker } from \"react-color\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { updateProfileColor } from \"../../store/actions/SocialMediaProfileAction\";\nimport { Styles } from \"./Styles\";\n\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nexport const ColorPicker = ({selectProfile, getColors}) => {\n const dispatch = useDispatch()\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n\n const [displayColorPicker, setDisplayColorpicker] = useState(false);\n const [color, setColor] = useState(\"\")\n const [acceptColor, setAcceptColor] = useState(\"\")\n\n const {addedProfileList} = useSelector((state) => state.socialMediaProfileListReducer)\n\n const colorRef = React.useRef()\n const showPicker = () => {\n // diplay color picker\n setDisplayColorpicker(true);\n };\n\n const handleChange = (color) => {\n setColor(color.hex);\n };\n const handleAccept = () => {\n setDisplayColorpicker(false)\n setAcceptColor(color)\n dispatch(updateProfileColor(selectProfile, color))\n \n }\n useEffect(() => {\n\n if(selectProfile ) {\n const filteredData = addedProfileList.find((data => data.id === selectProfile))\n setColor(filteredData ? filteredData.color : \"\")\n }\n }, [selectProfile])\n\n useEffect(() => {\n\n if(acceptColor ) {\n getColors(acceptColor)\n }\n }, [acceptColor])\n\n\nuseEffect(() => {\n const element = colorRef\n console.log(\"show ref element\", element);\n}, [])\n\n\n\nconst classes = useStyles({xs})\n return (\n
\n {\n selectProfile &&
\n
\n (Pick Brand Color)\n
\n }\n\n\n {\n displayColorPicker &&
\n setDisplayColorpicker(false)} onAccept={handleAccept}/>\n
\n }\n \n );\n};\n","export const Styles = () => ({\n colorPickerWrapper: {\n alignSelf: \"center\",\n marginLeft: props => props.xs ? 5 : 20,\n marginTop: props => props.xs ? 10 : 0,\n position: \"relative\"\n },\n});\n","import {\n makeStyles,\n FormControl,\n Checkbox,\n Typography,\n withStyles,\n Select,\n MenuItem,\n InputLabel\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { Styles } from \"./Styles\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\n \n const StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n })(MenuItem);\n\n const StyledInputLabel = withStyles({\n root: {\n fontSize: 20,\n fontWeight: 600,\n color: \"#000000 !important\",\n },\n outlined: {\n transform: \"translate(10px, 12px) scale(0.8) !important\",\n },\n focused: {\n color: \"#000000 !important\",\n opacity: \"1 !important\",\n },\n })(InputLabel);\n\nexport const CustomCheckSelectDropdown = ({\n selectedPostTypes,\n handlePostsClose,\n handlePostsOpen,\n openPost,\n postTypes,\n updateSelectedPosts,\n}) => {\n const 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 \n const classes = useStyles();\n\n\n return (\n \n {selectedPostTypes && selectedPostTypes.length === postTypes.length ? (\n \n {\" \"}\n All types\n \n ) : (\n \n {\" \"}\n Post types\n \n )}\n\n \n {postTypes && postTypes.length > 0 ? (\n postTypes.map((postType) => (\n -1\n ? \"#FFF8DE\"\n : \"transparent\",\n borderBottom: \"1px solid #e0e0e0\",\n }}\n >\n \n \n updateSelectedPosts(postType, e.target.checked)\n }\n checked={selectedPostTypes.indexOf(postType) > -1}\n />\n \n {\" \"}\n {postType}{\" \"}\n {\" \"}\n \n \n ))\n ) : (\n \n \n No Data Avialable\n {\" \"}\n \n )}\n \n \n );\n};\n","export const Styles = () => ({\n formControl: {\n minWidth: 200,\n maxWidth: 200,\n },\n select: {\n \"& .MuiSelect-root\": {\n padding: 8,\n border: \"1px solid #BDBDBD\",\n },\n \"& fieldset\": {\n height: 45\n }\n },\n});\n","import React, { useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport html2canvas from \"html2canvas\";\nimport { saveAs } from \"file-saver\";\nimport { SnackBar } from \"../../Components/SnackBar/SnackBar\";\nimport { SnackBarDownload } from \"../../Components/SnackBar/DownloadSnackBar\";\nimport {\n Avatar,\n Card,\n CardContent,\n CardMedia,\n FormControl,\n Grid,\n InputLabel,\n makeStyles,\n MenuItem,\n Select,\n Typography,\n useMediaQuery,\n useTheme,\n withStyles,\n Checkbox,\n Container,\n} from \"@material-ui/core\";\nimport Layout from \"../../Components/Layout\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport SocialButton from \"../../Components/SocialButton\";\nimport { SocialMediaCardLabels } from \"../../Components/SocialMediaLabelsCard/SocialMediaLabelsCard\";\nimport FavoriteOutlinedIcon from \"@material-ui/icons/FavoriteOutlined\";\nimport CommentOutlinedIcon from \"@material-ui/icons/CommentOutlined\";\nimport PeopleIcon from \"@material-ui/icons/People\";\nimport GroupAddIcon from \"@material-ui/icons/GroupAdd\";\nimport ReplySharpIcon from \"@material-ui/icons/ReplySharp\";\nimport SocialMediaPostsCard from \"../../Components/SocialMediaPostsCard/SocialMediaPostsCard\";\nimport {\n getAddedProfileList,\n getSocialProfileFanGrowth,\n getInteractions,\n getPostTypeDistributions,\n getSocialProfileBasic,\n getSocialProfileComments,\n getSocialProfileShares,\n getSocialProfileTopPost,\n getSocialProfilelikes,\n getSocialProfileGrowthFollowers,\n getMoreSocialProfileTopPost,\n getSocialProfileInteractionAbsoluteGrowth,\n} from \"../../store/actions/SocialMediaProfileAction\";\nimport FilterDays from \"../../Components/FilterDays\";\nimport { CustomButton } from \"../../Components/CustomButton/CustomButton\";\n\nimport BarChart from \"../../Components/BarChart\";\nimport LineChart from \"../../Components/LineChart\";\nimport Spinner from \"../../Components/Spinner\";\nimport PageTitle from \"../../Components/PageTitle/PageTitle\";\nimport { toast } from \"react-toastify\";\nimport { pdf } from \"@react-pdf/renderer\";\nimport { formatImage, numbersFormat } from \"../../Functions\";\nimport domtoimage from \"dom-to-image\";\nimport DownloadButton from \"../../Components/DownloadButton/DownloadButton\";\nimport { ProfileOverviewDataExport } from \"./ProfileOverviewDataExport\";\nimport { PDFlogo, PNGlogo, XLSXlogo } from \"../../Components/logosandicons\";\nimport { withRouter } from \"react-router-dom\";\nimport ProfileOverViewPDF from \"./ProfileOverViewPDF\";\nimport { ColorPicker } from \"../../Components/ColorPicker/ColorPicker\";\nimport { CustomSelectDropdown } from \"../../Components/CustomSelectDropdown/CustomSelectDropdown\";\nimport { CustomCheckSelectDropdown } from \"../../Components/CustomCheckSelectDropdown/CustomCheckSelectDropdown\";\nimport { Styles } from \"./Styles\";\nimport { NO_DATA_AVAILABLE } from \"../../utlis/constant\";\nimport { createUserReportDownloadActivity } from \"../../store/actions/UserActivityAction\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst StyledSelect = withStyles({\n root: {\n padding: 8,\n border: \"1px solid #BDBDBD\",\n },\n})(Select);\n\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n})(MenuItem);\n\nconst StyledInputLabel = withStyles({\n root: {\n fontSize: 20,\n fontWeight: 600,\n color: \"#000000 !important\",\n },\n outlined: {\n transform: \"translate(10px, 12px) scale(0.8) !important\",\n },\n focused: {\n color: \"#000000 !important\",\n opacity: \"1 !important\",\n },\n})(InputLabel);\n\nconst ProfileOverview = ({ history }) => {\n const dispatch = useDispatch();\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n const [selectProfile, setSelectProfile] = React.useState([]);\n const [pdf1, setPdf1] = React.useState(\"\");\n const [pdf2, setPdf2] = React.useState(\"\");\n const [pdf3, setPdf3] = React.useState(\"\");\n const [pdf4, setpdf4] = React.useState(\"\");\n const [topPostData, setTopPostData] = React.useState([]);\n const [showDownloadToast, setShowDownloadToast] = React.useState(false);\n const [page_limit, setPageLimit] = React.useState(4);\n const [currentPage, setCurrentPage] = React.useState(1);\n const [openPost, setOpenPosts] = React.useState(false);\n const [color, setColor] = React.useState(\"\");\n\n // Fan Growth Chart\n const [fanGrowthData, setFanGrowthData] = React.useState({\n datasets: \"\",\n labels: \"\",\n });\n const [fanGrowthSelectedProfiles, setFanGrowthSelectedProfiles] =\n React.useState([]);\n const [fanGrowthDateFilter, setfanGrowthDateFilter] = React.useState(\"\");\n // Fan Growth Chart\n\n // Interactions Chart\n const [interactionsData, setinteractionsData] = React.useState({\n datasets: \"\",\n labels: \"\",\n });\n const [interactionSelectedProfiles, setinteractionSelectedProfiles] =\n React.useState([]);\n const [interactionDateFilter, setinteractionDateFilter] = React.useState(\"\");\n const [interaction1kPerFans, setInteraction1KPerFans] = React.useState(false);\n //Interactions Chart\n\n // Posts BreakDown Chart\n const [postsBreakdownData, setPostsBreakdownData] = React.useState({\n datasets: \"\",\n labels: \"\",\n });\n const [postTypeDateFilter, setPostTypeDateFilter] = React.useState(\"\");\n // Posts BreakDown Chart\n\n const {\n activeSocialMediaType,\n addedProfileList,\n addedProfileListLoading,\n profileBasic,\n profileBasicLoading,\n profileLikes,\n profileLikesLoading,\n profileComments,\n profileCommentsLoading,\n profileShares,\n profileSharesLoading,\n profileGrowthFollowers,\n profileGrowthFollowersLoading,\n profileTopPost,\n profileTopPostLoading,\n profileAbsInteractionLoading,\n profileAbsInteraction,\n fansGrowth,\n fanGrowthLoader,\n postsData,\n interactionData,\n interactionLoader,\n postBreakDownLoader,\n customDateRangeRed,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n const { user } = useSelector((state) => state.auth);\n\n let subdomain = user.CustomerSubdomain.subdomain;\n\n //Multiple post types select\n\n let postTypes = [\"All Types\", \"Photo\", \"Video\", \"Album\", \"Link\", \"Status\"];\n if (activeSocialMediaType === \"instagram\") {\n postTypes = [\"All Types\", \"Image\", \"Video\", \"Sidecar\"];\n }\n\n const [selectedPostTypes, setSelectedPostTypes] = React.useState(postTypes);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n /* getting added profile list on component did mount */\n React.useEffect(() => {\n setSelectedPostTypes(postTypes);\n setSelectProfile([]);\n dispatch(getAddedProfileList());\n }, [activeSocialMediaType]);\n\n /* setting initial value for selecting profiles */\n React.useEffect(() => {\n if (addedProfileList && addedProfileList.length !== 0) {\n if (history.location.state) {\n setSelectProfile(history.location.state);\n } else {\n setSelectProfile(addedProfileList[0].id);\n }\n }\n }, [addedProfileList, history]);\n\n console.log(\"show selected profiles\", selectProfile);\n\n const getPostTypeQuery = (postTypes) => {\n let postTypeQuery = \"\";\n if (postTypes.length > 0) {\n postTypeQuery = postTypes\n .filter((selectedPost) => selectedPost !== \"All Types\")\n .map((sp) =>\n activeSocialMediaType === \"facebook\" ? sp.toLowerCase() : sp\n )\n .join(\",\");\n }\n\n return postTypeQuery;\n };\n\n //For updating array of selected Posts\n\n const updateSelectedPosts = (value, checked) => {\n setOpenPosts(true);\n\n let updatedPostTypes;\n if (value === \"All Types\") {\n updatedPostTypes = checked ? postTypes : [];\n } else {\n const postTypesWithoutAll = postTypes.filter(\n (selectedPost) => selectedPost !== \"All Types\"\n );\n const selectedPostTypesWithoutAll = selectedPostTypes.filter(\n (selectedPost) => selectedPost !== \"All Types\"\n );\n\n updatedPostTypes = checked\n ? [...selectedPostTypesWithoutAll, value]\n : selectedPostTypesWithoutAll.filter(\n (selectedPost) => selectedPost !== value\n );\n\n if (postTypesWithoutAll.length === updatedPostTypes.length) {\n updatedPostTypes = [...updatedPostTypes, \"All Types\"];\n }\n }\n\n setSelectedPostTypes(updatedPostTypes);\n dispatch(\n getSocialProfileTopPost(\n selectProfile,\n page_limit,\n currentPage,\n getPostTypeQuery(updatedPostTypes)\n )\n );\n };\n\n // -------------------------------------------\n\n const { feeds, pages } = profileTopPost ? profileTopPost : \"\";\n // check connection\n\n useEffect(() => {\n var condition = navigator.onLine ? \"online\" : \"offline\";\n\n if (condition === \"offline\") {\n toast.error(\"No internet connection\");\n }\n }, [customDateRangeRed, selectProfile, activeSocialMediaType]);\n\n //Top Posts limit and page\n\n //Resetting page limit to 4 after profile change\n\n React.useEffect(() => {\n setPageLimit(4);\n }, [selectProfile]);\n\n useEffect(() => {\n /* dispatching actions */\n // dispatch(getProfileOverView(selectProfile, topFilterData, fanGrowthDateFilter, postTypeDateFilter, interactionDateFilter))\n if (\n selectProfile &&\n selectProfile.length !== 0 &&\n activeSocialMediaType &&\n customDateRangeRed\n ) {\n dispatch(getSocialProfileBasic(selectProfile));\n dispatch(getSocialProfilelikes(selectProfile));\n dispatch(getSocialProfileComments(selectProfile));\n dispatch(getSocialProfileShares(selectProfile));\n dispatch(\n getSocialProfileTopPost(\n selectProfile,\n page_limit,\n currentPage,\n getPostTypeQuery(selectedPostTypes)\n )\n );\n dispatch(getSocialProfileGrowthFollowers(selectProfile));\n dispatch(getSocialProfileInteractionAbsoluteGrowth(selectProfile));\n }\n }, [selectProfile, customDateRangeRed]);\n\n const selectProfileHandleChange = (e) => {\n setSelectProfile(e.target.value);\n };\n\n // Fan Growth Chart\n const fanGrowthChart = (selectedProfiles, dateFilter) => {\n setFanGrowthSelectedProfiles(selectedProfiles);\n setfanGrowthDateFilter(dateFilter);\n };\n\n React.useEffect(() => {\n setFanGrowthData({\n datasets: fansGrowth && fansGrowth.datasets,\n labels:\n fansGrowth && fansGrowth.timeline\n ? fansGrowth.timeline.map(\n (date) =>\n `${new Date(date.end).toDateString().split(\" \")[1]} ${\n new Date(date.end).toDateString().split(\" \")[2]\n }`\n )\n : [],\n timeline: fansGrowth && fansGrowth.timeline,\n });\n }, [fansGrowth]);\n\n React.useEffect(() => {\n if (selectProfile && fanGrowthDateFilter && customDateRangeRed) {\n dispatch(getSocialProfileFanGrowth(selectProfile, fanGrowthDateFilter));\n }\n }, [selectProfile, fanGrowthDateFilter, customDateRangeRed, color]);\n // Fan Growth Chart\n\n // Interaction Chart\n const interactionsChart = (\n selectedProfiles,\n interactionDateFilter,\n kPerFans\n ) => {\n setinteractionSelectedProfiles(selectedProfiles);\n setinteractionDateFilter(interactionDateFilter);\n setInteraction1KPerFans(kPerFans);\n };\n React.useEffect(() => {\n setinteractionsData({\n datasets: interactionData && interactionData.datasets,\n labels:\n interactionData && interactionData.timeline\n ? interactionData.timeline.map(\n (date) =>\n `${new Date(date.end).toDateString().split(\" \")[1]} ${\n new Date(date.end).toDateString().split(\" \")[2]\n }`\n )\n : [],\n timeline: interactionData && interactionData.timeline,\n });\n }, [interactionData]);\n\n React.useEffect(() => {\n if (\n selectProfile &&\n interactionDateFilter &&\n customDateRangeRed &&\n activeSocialMediaType\n ) {\n dispatch(\n getInteractions(\n selectProfile,\n interactionDateFilter,\n interaction1kPerFans\n )\n );\n }\n }, [\n selectProfile,\n interactionDateFilter,\n customDateRangeRed,\n interaction1kPerFans,\n color,\n ]);\n // Interaction Chart\n\n // Post Type Graph\n const postTypeChart = (selectedProfiles, postDateFilter) => {\n setPostTypeDateFilter(postDateFilter);\n };\n\n React.useEffect(() => {\n if (postsData) {\n const postDataOrdering = postsData.datasets ? postsData.datasets : [];\n\n // for (var i = 0; i < postDataOrdering.length; i++) {\n // var sum = postDataOrdering[i].data.reduce(function (a, b) {\n // return a + b;\n // }, 0);\n\n // postDataOrdering[i][\"sum\"] = sum;\n // }\n\n // function compare(a, b) {\n // const bandA = a.sum;\n // const bandB = b.sum;\n\n // let comparison = 0;\n // if (bandA > bandB) {\n // comparison = 1;\n // } else if (bandA < bandB) {\n // comparison = -1;\n // }\n // return comparison;\n // }\n\n // postDataOrdering.sort(compare);\n\n // Background Opacity Function\n // var opacity = 1;\n\n // for (var x = 0; x < postDataOrdering.length; x++) {\n // const newData = postDataOrdering[x].backgroundColor.replace(\n // /[\\d\\.]+\\)$/g,\n // `${opacity})`\n // );\n // postDataOrdering[x].backgroundColor = newData;\n\n // if (opacity > 0.2) {\n // var opacity = opacity - 0.2;\n // var opacity = Math.round(opacity * 10) / 10;\n // }\n // }\n // Background Opacity Function\n\n setPostsBreakdownData({\n datasets: postDataOrdering,\n labels:\n postsData && postsData.timeline\n ? postsData.timeline.map(\n (date) =>\n `${new Date(date.end).toDateString().split(\" \")[1]} ${\n new Date(date.end).toDateString().split(\" \")[2]\n }`\n )\n : [],\n timeline: postsData && postsData.timeline,\n });\n }\n }, [postsData]);\n\n React.useEffect(() => {\n if (\n selectProfile &&\n postTypeDateFilter &&\n customDateRangeRed &&\n activeSocialMediaType\n ) {\n dispatch(getPostTypeDistributions(selectProfile, postTypeDateFilter));\n }\n }, [selectProfile, postTypeDateFilter, customDateRangeRed]);\n // Post Type Graph\n\n const 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 // displaying weather the profiles data are being downloaded\n const addedPageList = addedProfileList.filter(\n (data) => data.is_data_downloading === true\n );\n const downloadingPageList = addedPageList.find(\n (data) => data.id === selectProfile\n );\n\n //fucntion to convert canvas to base64 dataUrl\n function getBase64(file) {\n return new Promise((resolve, reject) => {\n if (file.length) {\n // alert(\"the file has array\")\n const mapData = file.map((data) => data.toDataURL(\"image/jpg\", 1.0));\n resolve(mapData);\n } else {\n const mapData1 = file.toDataURL(\"image/jpg\", 1.0);\n resolve(mapData1);\n }\n });\n }\n\n //Function to take screenshot of a webpage and download it.\n function screenshotPage() {\n //send download activity report function\n createUserDownloadActivity(\"screenshot\");\n\n setShowDownloadToast(true);\n setTimeout(() => {\n setShowDownloadToast(false);\n }, 3000);\n var wrapper = document.querySelector(\".profileOverViewPage\");\n\n domtoimage.toBlob(wrapper, { bgcolor: \"#ffffff\" }).then(function (blob) {\n saveAs(\n blob,\n `${profileBasic.page_name} ${activeSocialMediaType}-overview.png`\n );\n });\n }\n\n //--------------------------------------------------------------------------\n\n //function to handle div into canvas and image\n\n // function htmlToCanvasMultiple(files){\n // var cardArr = Array.prototype.slice.call(files)\n // return new Promise((resolve, reject) => {\n // if (cardArr.length > 0) {\n // // alert(\"the file has array\")\n // const mapData = cardArr.map((data) => html2canvas(data).then(canvas => canvas.toDataURL(\"image/jpg\", 1.0) ) );\n // resolve(mapData);\n // } else {\n // console.log('No top')\n // }\n // });\n // }\n\n useEffect(() => {\n setpdf4(\"\");\n var file = document.querySelector(\"#interaction\");\n var file2 = document.querySelector(\"#totalFollowers\");\n var file3 = document.querySelector(\"#contentBreakdown\");\n setTimeout(() => {\n var socialPostCard = document.getElementsByClassName(\"post-card\");\n var cardArr = Array.prototype.slice.call(socialPostCard);\n const mapData = cardArr.map((data) =>\n html2canvas(data, {\n allowTaint: false,\n useCORS: true,\n scrollY: -window.scrollY,\n }).then((canvas) => canvas.toDataURL(\"image/png\", 1.0))\n );\n setTopPostData(mapData);\n }, 1000);\n\n setTimeout(() => {\n if (file) {\n getBase64(file).then((data) => setPdf1(data));\n }\n }, 3000);\n\n setTimeout(() => {\n if (file2) {\n getBase64(file2).then((data) => setPdf2(data));\n }\n }, 3000);\n\n setTimeout(() => {\n if (file3) {\n getBase64(file3).then((data) => setPdf3(data));\n }\n }, 3000);\n }, [\n selectProfile,\n interactionDateFilter,\n fanGrowthDateFilter,\n postTypeDateFilter,\n customDateRangeRed,\n activeSocialMediaType,\n postsData,\n ]);\n\n //Resetting page limit to 4 after profile change\n\n React.useEffect(() => {\n setPageLimit(4);\n }, [selectProfile]);\n\n //For top posts\n\n useEffect(async () => {\n const data = await Promise.all(topPostData);\n if (data.length > 0) {\n setpdf4(data);\n }\n }, [topPostData]);\n\n // Top Posts Load More\n React.useEffect(() => {\n if (selectProfile && customDateRangeRed && activeSocialMediaType) {\n dispatch(\n getMoreSocialProfileTopPost(\n selectProfile,\n page_limit,\n currentPage,\n getPostTypeQuery(selectedPostTypes)\n )\n );\n }\n }, [page_limit]);\n\n //For changing page limit for Top Posts\n\n function changePageLimit() {\n switch (page_limit) {\n case 4:\n setPageLimit(12);\n break;\n\n case 12:\n setPageLimit(20);\n break;\n\n default:\n setPageLimit(4);\n }\n }\n\n //For adding top post profile id into reducer\n\n function addTopPostProfileId() {\n dispatch({\n type: \"REMOVE_PROFILES_FROM_COMPARE\",\n payload: [],\n });\n dispatch({\n type: \"TOP_POST_ID\",\n payload: selectProfile,\n });\n\n history.push(\"/content-newsfeed\");\n }\n\n //send download activity report\n const createUserDownloadActivity = (type) => {\n let profilesForActivityReport = [];\n if (selectProfile) {\n profilesForActivityReport = addedProfileList\n .filter((d) => d.id === selectProfile)\n .map((d) => d.name);\n }\n dispatch(createUserReportDownloadActivity(profilesForActivityReport, type));\n };\n\n const generatePdfDocument = async () => {\n //send download activity report function\n createUserDownloadActivity(\"pdf\");\n\n setShowDownloadToast(true);\n setTimeout(() => {\n setShowDownloadToast(false);\n }, 3000);\n const blob = await pdf(\n \n ).toBlob();\n saveAs(\n blob,\n `${profileBasic.page_name}-${activeSocialMediaType}-overview.pdf`\n );\n };\n\n const handlePostsOpen = () => {\n setOpenPosts(true);\n };\n\n const handlePostsClose = () => {\n setOpenPosts(false);\n };\n\n const classes = useStyles({ xs, profileOverview: true, md });\n\n return (\n \n
\n \n \n
\n \n \n\n {!md ?
: \"\"}\n \n
\n \n \n\n \n generatePdfDocument()}>\n {\" \"}\n Export pdf{\" \"}\n \n screenshotPage()}>\n {\" \"}\n Export png{\" \"}\n \n \n {\" \"}\n {\n //send download activity report function\n createUserDownloadActivity(\"excel\");\n }}\n />{\" \"}\n \n \n
\n \n
\n \n \n {addedProfileListLoading ? (\n \n ) : selectProfile && selectProfile.length !== 0 ? (\n
\n \n \n {profileBasicLoading && }\n {selectProfile &&\n selectProfile.length !== 0 &&\n !profileBasicLoading &&\n profileBasic && (\n <>\n \n \n \n \n \n \n
\n
\n \n \n {!profileBasicLoading && profileBasic\n ? profileBasic.page_name\n : \"Profile Name\"}\n \n \n {\n setColor(color);\n }}\n />\n
\n \n {profileBasic &&\n profileBasic.social_page_id}\n \n
\n \n \n \n {!profileBasicLoading && profileBasic\n ? numbersFormat(\n profileBasic.total_feeds_count\n )\n : 0}\n \n \n Posts\n \n
\n \n \n {!profileBasicLoading && profileBasic\n ? numbersFormat(\n profileBasic.page_fan_count\n )\n : 0}\n \n \n Followers\n \n
\n {activeSocialMediaType == \"instagram\" && (\n \n \n {!profileBasicLoading && profileBasic\n ? profileBasic.page_following\n : 0}\n \n \n Following\n \n \n )}\n \n \n \n )}\n \n \n
\n \n \n
\n \n }\n loading={profileLikesLoading}\n />\n
\n
\n \n
\n \n }\n loading={profileCommentsLoading}\n />\n
\n
\n {activeSocialMediaType === \"facebook\" ? (\n \n
\n \n }\n loading={profileSharesLoading}\n />\n
\n
\n ) : null}\n {/* \n \n }\n />\n \n \n \n }\n />\n */}\n \n
\n \n }\n cardFigures={\n profileGrowthFollowers &&\n !profileGrowthFollowersLoading &&\n profileGrowthFollowers.followers_growth\n ? profileGrowthFollowers.followers_growth\n : \"0\"\n }\n loading={profileSharesLoading}\n />\n
\n
\n \n
\n \n }\n loading={profileAbsInteractionLoading}\n />\n
\n
\n
\n
\n
\n \n \n {addedProfileList.length != 0 ? (\n
\n {\n fanGrowthChart(selectProfiles, dateFilter);\n }}\n />\n\n {fanGrowthLoader && (\n \n )}\n
\n ) : (\n
\n
\n \n Total Followers\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n
\n\n \n {addedProfileList.length != 0 ? (\n
\n {\n interactionsChart(\n selectProfiles,\n interactionDateFilter,\n kPerFans\n );\n }}\n switchShow={true}\n />\n\n {interactionLoader && (\n \n )}\n
\n ) : (\n
\n
\n \n Interactions\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n \n\n \n {postBreakDownLoader && (\n \n )}\n {addedProfileList.length != 0 ? (\n
\n {/* {\n postTypeChart(selectProfiles, postDateFilter);\n }}\n /> */}\n {\n postTypeChart(selectProfiles, postDateFilter);\n }}\n noDecimalPoint\n height={\"75px\"}\n />\n
\n ) : (\n
\n
\n \n Published Posts content breakdown\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n \n \n
\n\n
\n \n \n Top posts\n \n \n \n
\n \n\n \n {profileTopPostLoading ? (\n \n
\n \n
\n \n ) : selectedPostTypes.length === 0 ? (\n \n
\n \n Select at least one post types to show posts.\n \n
\n \n ) : feeds && feeds.length !== 0 ? (\n feeds.map((topPost, index) => (\n \n \n \n ))\n ) : (\n \n
\n \n {NO_DATA_AVAILABLE}\n \n
\n \n )}\n
\n {feeds && feeds.length !== 0 && (\n
\n {\" \"}\n {page_limit === 20 || pages === 1 ? (\n \n Show all\n \n ) : (\n \n Load more posts\n \n )}{\" \"}\n
\n )}\n \n \n ) : (\n !addedProfileListLoading &&\n addedProfileList &&\n addedProfileList.length === 0 && (\n \n {\" \"}\n No records found{\" \"}\n \n )\n )}\n \n \n \n \n \n {!profileBasicLoading &&\n !profileLikesLoading &&\n !profileCommentsLoading &&\n !profileSharesLoading &&\n !fanGrowthLoader &&\n !interactionLoader &&\n !postBreakDownLoader &&\n downloadingPageList && (\n \n )}\n {showDownloadToast && (\n \n )}\n
\n );\n};\n\nexport default withRouter(ProfileOverview);\n","import { Typography } from \"@material-ui/core\";\nimport { Button } from \"@material-ui/core\";\nimport React, { Component, useEffect, useState } from \"react\";\nimport ReactExport from \"react-data-export\";\nimport { useSelector } from \"react-redux\";\n\nconst ExcelFile = ReactExport.ExcelFile;\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\n\nconst ComparisonDataExport = ({\n timeRange,\n interaction1kPerFans,\n interactionDateFilter,\n fanGrowthDateFilter,\n showDownloadSnackBar,\n xlsxLogo,\n onClick\n}) => {\n const [interactionExcellData, setInteractionExcellData] = useState([]);\n const [interactionDataCount, setInteractionDataCount] = useState([]);\n const [fanGrowthExcellData, setFansGrowthExcellData] = useState([]);\n const [fanGrowthDataCount, setFanGrowthDataCount] = useState([]);\n const [\n distributionInteractionExcellData,\n setDistributionInteractionExcellData,\n ] = useState([]);\n const [\n distributionInteractionDataCount,\n setDistributionInteractionDataCount,\n ] = useState([]);\n\n const [postsDataMultipleExcellData, setpostsDataMultipleExcellData] =\n useState([]);\n const [postsDataMultipleDataCount, setPostsDataMultipleDataCount] = useState(\n []\n );\n const [profileTopPostCount, setProfileTopPostCount] = useState([]);\n const [profileTopPostExcellData, setProfileTopPostExcellData] = useState([]);\n\n\n const {\n interactionData,\n postsDataMultiple,\n interactionDistributions,\n selectedProfilesListToComapre,\n fansGrowth,\n contentNewsFeed,\n activeSocialMediaType,\n customDateRangeRed\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n //setting value for interactions data for excell export\n useEffect(() => {\n if (interactionData && selectedProfilesListToComapre) {\n setInteractionDataCount([]);\n const { timeline, datasets } = interactionData;\n\n for (const timelineIndex in timeline) {\n if (Object.hasOwnProperty.call(timeline, timelineIndex)) {\n const date = timeline[timelineIndex];\n\n //finding label for this date\n for (const key in datasets) {\n if (Object.hasOwnProperty.call(datasets, key)) {\n const dataset = datasets[key];\n let profileDetails = [\n { value: date.end },\n { value: dataset.label },\n { value: dataset.data[timelineIndex] },\n { value: \"\" },\n ];\n setInteractionDataCount((prevState) => [\n ...prevState,\n profileDetails,\n ]);\n }\n }\n }\n }\n }\n }, [interactionData, selectedProfilesListToComapre]);\n\n useEffect(() => {\n if (interactionDataCount) {\n setInteractionExcellData([\n {\n columns: [\n { title: \"Date\" },\n { title: \"Page name\" },\n {\n title: interaction1kPerFans\n ? \"1k per interactions data\"\n : \"Interactions data\",\n },\n { title: `Filter_by: ${interactionDateFilter}` }\n ],\n data: interactionDataCount,\n },\n ]);\n }\n }, [interactionDataCount]);\n\n //setting value for fan growth data for excell export\n useEffect(() => {\n if (\n fansGrowth &&\n fanGrowthDateFilter &&\n activeSocialMediaType &&\n timeRange\n ) {\n setFanGrowthDataCount([]);\n const { timeline, datasets } = fansGrowth;\n\n for (const timelineIndex in timeline) {\n if (Object.hasOwnProperty.call(timeline, timelineIndex)) {\n const date = timeline[timelineIndex];\n\n //finding label for this date\n for (const key in datasets) {\n if (Object.hasOwnProperty.call(datasets, key)) {\n const dataset = datasets[key];\n let profileDetails = [\n { value: date.end },\n { value: dataset.label },\n { value: dataset.data[timelineIndex] },\n { value: \"\" },\n ];\n setFanGrowthDataCount((prevState) => [\n ...prevState,\n profileDetails,\n ]);\n }\n }\n }\n }\n }\n }, [fansGrowth, fanGrowthDateFilter, activeSocialMediaType, timeRange]);\n\n useEffect(() => {\n if (fanGrowthDataCount) {\n setFansGrowthExcellData([\n {\n columns: [\n { title: \"Date\" },\n { title: \"Page name\" },\n {\n title: \"Fan growth data\",\n },\n { title: `Filter_by: ${fanGrowthDateFilter}` },\n ],\n data: fanGrowthDataCount,\n },\n ]);\n }\n }, [fanGrowthDataCount]);\n\n //setting value of distributions of interaction data for excell export\n\n useEffect(() => {\n if (interactionDistributions && selectedProfilesListToComapre) {\n setDistributionInteractionDataCount([]);\n\n //setting interaction distribution values in state\n for (let i = 0; i < interactionDistributions.length; ++i) {\n if (interactionDistributions[i]) {\n let profileDetails = [\n { value: interactionDistributions[i].page_name },\n { value: interactionDistributions[i].total_shares },\n { value: interactionDistributions[i].total_comments },\n { value: interactionDistributions[i].total_reactions },\n ];\n setDistributionInteractionDataCount((prevState) => [\n ...prevState,\n profileDetails,\n ]);\n }\n }\n }\n }, [interactionDistributions, selectedProfilesListToComapre]);\n\n useEffect(() => {\n //setting interaction distribution values in state to export data in excell format\n if (distributionInteractionDataCount) {\n setDistributionInteractionExcellData([\n {\n columns: [\n { title: \"Page Name\" },\n { title: \"Shares\" },\n { title: \"Comments\" },\n { title: \"Reactions\" },\n ],\n data: distributionInteractionDataCount,\n },\n ]);\n }\n }, [distributionInteractionDataCount]);\n\n //setting value for multiple post data data for excell export\n useEffect(() => {\n if (postsDataMultiple && selectedProfilesListToComapre) {\n const { labels, datasets } = postsDataMultiple;\n setPostsDataMultipleDataCount([]);\n for (const labelsIndex in labels) {\n if (Object.hasOwnProperty.call(labels, labelsIndex)) {\n const label = labels[labelsIndex];\n\n //finding label for this date\n for (const key in datasets) {\n if (Object.hasOwnProperty.call(datasets, key)) {\n const dataset = datasets[key];\n let profileDetails = [\n { value: label },\n { value: dataset.label },\n { value: dataset.data[labelsIndex] },\n ];\n //setting the data for excell data\n // setInteractionExcellData((prevState) => [...prevState, data]);\n setPostsDataMultipleDataCount((prevState) => [\n ...prevState,\n profileDetails,\n ]);\n }\n }\n }\n }\n }\n }, [postsDataMultiple, selectedProfilesListToComapre]);\n\n useEffect(() => {\n if (postsDataMultipleDataCount) {\n setpostsDataMultipleExcellData([\n {\n columns: [\n { title: \"Labels\" },\n { title: \"Page name\" },\n { title: \"Multiple data post count\" },\n ],\n data: postsDataMultipleDataCount,\n },\n ]);\n }\n }, [postsDataMultipleDataCount]);\n\n //seting top post value for excell data export\n\n useEffect(() => {\n \n const { feeds, pages } =\n contentNewsFeed ? contentNewsFeed : \"\";\n setProfileTopPostCount([]);\n if(feeds) {\n for (let i = 0; i < feeds.length; ++i) {\n if (feeds[i]) {\n let data = [\n { value: i },\n { value: feeds[i].feed_created_date },\n { value: feeds[i].profile_info.page_name },\n { value: feeds[i].feed_link },\n { value: feeds[i].feed_type },\n { value: feeds[i].caption },\n // { value: feeds[i].attachment },\n { value: feeds[i].feed_comment_count },\n { value: feeds[i].feed_like_count },\n { value: feeds[i].feed_share_count },\n { value: feeds[i].total_engagement },\n {\n value:feeds[i].avg_interaction_per_1k_fans\n },\n ];\n setProfileTopPostCount((prevState) => [...prevState, data]);\n }\n }\n }\n \n}, [contentNewsFeed,]);\nuseEffect(() => {\n if (profileTopPostCount) {\n setProfileTopPostExcellData([\n {\n columns: [\n { title: \"#\" },\n { title: \"Date\" },\n { title: \"Page name\" },\n { title: \"URL\" },\n { title: \"Post type\" },\n { title: \"Caption\" },\n // { title: \"Post URL\" },\n { title: \"Comment\" },\n { title: \"Like\" },\n { title: \"Share\" },\n { title: \"Total engagement\" },\n { title: \"Engagement per 1k fans\" },\n ],\n data: profileTopPostCount,\n },\n ]);\n }\n}, [profileTopPostCount]);\n\n \n const overviewDataSet = [\n {\n columns: [\n { title: \"Overview\", style: { font: { bold: true } } },\n { title: \"\", style: { alignment: { vertical: \"center\" } } },\n { title: \"\", style: { alignment: { vertical: \"center\" } } },\n ],\n data: [\n [{ value: \" \" }, { value: \"\" }, { value: \"\" }],\n [\n { value: \"Time Range \", style: { font: { bold: true } } },\n { value: \"\" },\n {\n value: `${new Date(\n customDateRangeRed[0].startDate\n ).toDateString()} to ${new Date(\n customDateRangeRed[0].endDate\n ).toDateString()} `\n },\n ],\n [{ value: \" \" }, { value: \"\" }, { value: \"\" }],\n [\n { value: \"pages name\", style: { font: { bold: true } } },\n { value: \" \" },\n {\n value: `${selectedProfilesListToComapre.map(\n (data) => data.name\n )}`,\n },\n ],\n ],\n },\n ];\n\n return (\n
\n {\n onClick();\n\n showDownloadSnackBar(true)\n setTimeout(() => {\n showDownloadSnackBar(false)\n }, 2000)\n }}\n style={{ fontSize: 15, cursor: \"pointer\" }}>\n \"pdf Export xlsx\n \n }\n >\n \n \n \n \n \n \n \n
\n );\n};\n\nexport default ComparisonDataExport;\n","import React from 'react';\nimport { Typography } from \"@material-ui/core\";\nimport { numbersFormat } from '../../Functions';\n\nimport CallMadeIcon from \"@material-ui/icons/CallMade\";\nimport CallReceivedIcon from '@material-ui/icons/CallReceived';\nimport RemoveIcon from '@material-ui/icons/Remove';\n\nexport default ({ growthRate }) => {\n const formattedGrowthRate = numbersFormat(growthRate);\n\n return (\n
\n \n {\" \"}\n {!formattedGrowthRate || formattedGrowthRate == 0 ? : formattedGrowthRate < 0 ? : } {formattedGrowthRate ? formattedGrowthRate : 0}%\n \n \n Absolute Growth\n \n
\n )\n}","import React, { useEffect } from \"react\";\nimport {\n Container,\n Grid,\n TextField,\n makeStyles,\n InputAdornment,\n Card,\n CardMedia,\n Avatar,\n Typography,\n CardContent,\n CardActionArea,\n withStyles,\n useTheme,\n useMediaQuery,\n CircularProgress,\n FormControl,\n InputLabel,\n Select,\n} from \"@material-ui/core\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { saveAs } from \"file-saver\";\nimport Layout from \"../../Components/Layout\";\nimport styles from \"./Styles\";\nimport FilterDays from \"../../Components/FilterDays\";\nimport SocialButton from \"../../Components/SocialButton\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport PageTitle from \"../../Components/PageTitle/PageTitle\";\nimport { Link } from \"react-router-dom\";\nimport BarChart from \"../../Components/BarChart\";\nimport PieChart from \"../../Components/PieChart\";\nimport {\n getInteractions,\n getSocialProfileFanGrowth,\n getInteractionDistrbutions,\n getPostTypeDistributionsMultiple,\n deleteSelectProfilesToCompare,\n getAddedProfileList,\n selectProfilesToComapre,\n getContentNewsFeed,\n loadMoreContentNewsFeed,\n} from \"../../store/actions/SocialMediaProfileAction\";\nimport Spinner from \"../../Components/Spinner\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Paper from \"@material-ui/core/Paper\";\nimport FavoriteIcon from \"@material-ui/icons/Favorite\";\nimport MessageIcon from \"@material-ui/icons/Message\";\nimport ReplySharpIcon from \"@material-ui/icons/ReplySharp\";\nimport RemoveCircleOutlineOutlinedIcon from \"@material-ui/icons/RemoveCircleOutlineOutlined\";\nimport AddProfileComaprisonModal from \"../../Components/AddProfileComparisonModal/AddProfileComparisonModal\";\nimport {\n Document,\n Font,\n Image,\n Page,\n pdf,\n PDFDownloadLink,\n StyleSheet,\n Svg,\n Text,\n View,\n} from \"@react-pdf/renderer\";\n\nimport GetAppIcon from \"@material-ui/icons/GetApp\";\nimport defaultLogo from \"../../assets/images/msvfooterLogo.png\";\nimport likeReaction from \"../../assets/images/likeReaction.png\";\nimport commentReaction from \"../../assets/images/commentReaction.png\";\nimport shareReaction from \"../../assets/images/shareReaction.png\";\nimport { formatImage, formatNumber, numbersFormat } from \"../../Functions\";\nimport PoppinsFont from \"../../assets/fonts/Poppins-Medium.ttf\";\nimport domtoimage from \"dom-to-image\";\nimport ComparisonDataExport from \"./ComparisonDataExport\";\nimport SocialMediaPostsCard from \"../../Components/SocialMediaPostsCard/SocialMediaPostsCard\";\nimport { MenuItem } from \"@material-ui/core\";\nimport DownloadButton from \"../../Components/DownloadButton/DownloadButton\";\nimport { SnackBarDownload } from \"../../Components/SnackBar/DownloadSnackBar\";\nimport { PDFlogo, PNGlogo, XLSXlogo } from \"../../Components/logosandicons\";\nimport AbsoluteGrowthCard from \"../../Components/AbsoluteGrowthCard/AbsoluteGrowthCard\";\nimport { withRouter } from \"react-router-dom\";\nimport { NO_DATA_AVAILABLE } from \"../../utlis/constant\";\nimport { CustomButton } from \"../../Components/CustomButton/CustomButton\";\nimport { createUserReportDownloadActivity } from \"../../store/actions/UserActivityAction\";\nimport { PdfTopPostComponent } from \"Pages/DashboardPage/PdfComponent/PdfTopPostComponent\";\nimport FacebookRoundLogo from \"../../assets/images/facebook.png\";\nimport InstagramLogo from \"../../assets/images/instagram.png\";\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst StyleCard = withStyles({\n root: {\n boxShadow: \"none\",\n \"& .cardRemovebtn\": {\n display: \"none\",\n cursor: \"pointer\",\n position: \"absolute\",\n top: 10,\n right: 10,\n backgroundColor: \"#ffff\",\n borderRadius: \"50%\",\n },\n \"&:hover\": {\n backgroundColor: \"#FFF2F2\",\n border: \"1px solid #FF3434 !important\",\n },\n \"&:hover .cardRemovebtn\": {\n display: \"flex\",\n },\n },\n})(Card); //card custom style\n\nconst StyleCardAddprofile = withStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#FFF8DE !important\",\n },\n },\n})(Card); //card add profile button custom style\n\nconst StyledSelect = withStyles({\n root: {\n padding: 8,\n border: \"1px solid #BDBDBD\",\n height: \"24px\",\n },\n})(Select);\n\n//Registering font for PDF\n\nFont.register({ family: \"Poppins\", src: PoppinsFont });\n\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n})(MenuItem);\n\nconst ComparisonPage = ({ history }) => {\n const [mobileView, setMobileView] = React.useState(false);\n\n React.useEffect(() => {\n const setResponsiveness = () => {\n return window.innerWidth < 1024\n ? setMobileView((prevState) => ({ ...prevState, mobileView: true }))\n : setMobileView((prevState) => ({ ...prevState, mobileView: false }));\n };\n\n setResponsiveness();\n\n window.addEventListener(\"resize\", () => setResponsiveness());\n }, []);\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const md = useMediaQuery(theme.breakpoints.down(\"md\"));\n const lg = useMediaQuery(theme.breakpoints.down(\"lg\"));\n const [pdf1, setPdf1] = React.useState(\"\");\n const [pdf2, setPdf2] = React.useState(\"\");\n const [pdf3, setPdf3] = React.useState(\"\");\n const [pdf4, setPdf4] = React.useState([]);\n const [pieData, setPieData] = React.useState([]);\n const [pieDataTotal, setPieDataTotal] = React.useState({});\n const [showDownloadToast, setShowDownloadToast] = React.useState(false);\n const classes = useStyles({ xs });\n const dispatch = useDispatch();\n const {\n selectedProfilesListToComapre,\n interactionData,\n interactionLoader,\n fansGrowth,\n fanGrowthLoader,\n interactionDistributions,\n interactionDistributionsLoader,\n postsDataMultiple,\n multiplePostBreakDownLoader,\n activeSocialMediaType,\n customDateRangeRed,\n contentNewsFeedLoading,\n contentNewsFeed,\n addedProfileList,\n } = useSelector((state) => state.socialMediaProfileListReducer);\n\n const { user } = useSelector((state) => state.auth);\n\n let subdomain = user.CustomerSubdomain.subdomain;\n const { feeds, pages } = contentNewsFeed ? contentNewsFeed : \"\";\n\n // Interactions Chart\n\n const [interactionsData, setinteractionsData] = React.useState({\n datasets: \"\",\n labels: \"\",\n });\n\n // Fan Growth Chart\n const [fanGrowthData, setFanGrowthData] = React.useState({\n datasets: \"\",\n labels: \"\",\n });\n const [fanGrowthSelectedProfiles, setFanGrowthSelectedProfiles] =\n React.useState();\n\n const [fanGrowthDateFilter, setfanGrowthDateFilter] = React.useState();\n // Fan Growth Chart\n const [interactionSelectedProfiles, setinteractionSelectedProfiles] =\n React.useState();\n const [interactionDateFilter, setinteractionDateFilter] = React.useState();\n const [interaction1kPerFans, setInteraction1KPerFans] = React.useState();\n //Interactions Chart\n\n // Posts BreakDown Chart\n const [postsBreakdownDataMultiple, setPostsBreakdownDataMultiple] =\n React.useState({\n datasets: \"\",\n labels: \"\",\n });\n const [\n postsBreakdownDataMultipleSelectedProfiles,\n setPostsBreakdownDataMultipleSelectedProfiles,\n ] = React.useState();\n\n // Posts BreakDown Chart\n\n const comparisonSelectedDataId = selectedProfilesListToComapre.map(\n (profiles) => profiles.id\n );\n // console.log(\"seleted profile list\", addedProfileList);\n console.log(\"seleted compare profile list\", selectedProfilesListToComapre);\n\n let selectedData;\n\n selectedData = addedProfileList.filter((addedList) =>\n comparisonSelectedDataId.includes(addedList.id)\n );\n\n // console.log(\"show selected data comparison\", selectedData);\n\n React.useEffect(() => {\n if (customDateRangeRed) {\n dispatch(getAddedProfileList());\n // dispatch(selectProfilesToComapre(selectedProfilesListToComapre))\n }\n }, [customDateRangeRed]);\n\n // Interaction Chart\n const interactionsChart = (\n selectedProfiles,\n interactionDateFilter,\n kPerFans\n ) => {\n setinteractionSelectedProfiles(selectedProfiles);\n setinteractionDateFilter(interactionDateFilter);\n setInteraction1KPerFans(kPerFans);\n };\n React.useEffect(() => {\n setinteractionsData({\n datasets: interactionData && interactionData.datasets,\n labels:\n interactionData && interactionData.timeline\n ? interactionData.timeline.map(\n (date) =>\n `${new Date(date.end).toDateString().split(\" \")[1]} ${\n new Date(date.end).toDateString().split(\" \")[2]\n }`\n )\n : [],\n timeline: interactionData && interactionData.timeline,\n });\n }, [interactionData]);\n\n // Fan Growth Chart\n const fanGrowthChart = (selectedProfiles, dateFilter) => {\n setFanGrowthSelectedProfiles(selectedProfiles);\n setfanGrowthDateFilter(dateFilter);\n };\n React.useEffect(() => {\n setFanGrowthData({\n datasets: fansGrowth && fansGrowth.datasets,\n labels:\n fansGrowth && fansGrowth.timeline\n ? fansGrowth.timeline.map(\n (date) =>\n `${new Date(date.end).toDateString().split(\" \")[1]} ${\n new Date(date.end).toDateString().split(\" \")[2]\n }`\n )\n : [],\n timeline: fansGrowth && fansGrowth.timeline,\n });\n }, [fansGrowth]);\n\n React.useEffect(() => {\n if (\n selectedProfilesListToComapre &&\n fanGrowthDateFilter &&\n customDateRangeRed\n ) {\n dispatch(\n getSocialProfileFanGrowth(comparisonSelectedDataId, fanGrowthDateFilter)\n );\n }\n }, [selectedProfilesListToComapre, fanGrowthDateFilter, customDateRangeRed]);\n // Fan Growth Chart\n\n React.useEffect(() => {\n if (\n selectedProfilesListToComapre &&\n interactionDateFilter &&\n customDateRangeRed\n ) {\n dispatch(\n getInteractions(\n comparisonSelectedDataId,\n interactionDateFilter,\n interaction1kPerFans\n )\n );\n }\n }, [\n selectedProfilesListToComapre,\n interactionDateFilter,\n customDateRangeRed,\n activeSocialMediaType,\n interaction1kPerFans,\n ]);\n // Interaction Chart\n\n // Pie Chart\n\n React.useEffect(() => {\n if (selectedProfilesListToComapre && customDateRangeRed) {\n dispatch(getInteractionDistrbutions(comparisonSelectedDataId));\n }\n }, [\n selectedProfilesListToComapre,\n customDateRangeRed,\n activeSocialMediaType,\n ]);\n\n // Pie Chart\n\n //post type distribution multiple profile //\n // Post Type Graph\n const postTypeChart = (selectedProfiles, postDateFilter) => {\n setPostsBreakdownDataMultipleSelectedProfiles(selectedProfiles);\n };\n\n React.useEffect(() => {\n if (selectedProfilesListToComapre && customDateRangeRed) {\n dispatch(getPostTypeDistributionsMultiple(comparisonSelectedDataId));\n }\n }, [\n selectedProfilesListToComapre,\n customDateRangeRed,\n activeSocialMediaType,\n ]);\n\n React.useEffect(() => {\n setPostsBreakdownDataMultiple({\n datasets: postsDataMultiple && postsDataMultiple.datasets,\n labels: postsDataMultiple && postsDataMultiple.labels,\n });\n }, [postsDataMultiple]);\n\n // Post Type Graph\n\n //handle added profile list delete\n const profileListDelete = (profileId) => {\n dispatch(deleteSelectProfilesToCompare(profileId));\n };\n\n const getPieTotal = (total) => {\n setPieDataTotal(total);\n };\n\n //top-post content-newsfeed api pulled\n const [page_limit, setPageLimit] = React.useState(4);\n let postTypes = [\"All Types\", \"Photo\", \"Video\", \"Album\", \"Link\", \"Status\"];\n if (activeSocialMediaType === \"instagram\") {\n postTypes = [\"All Types\", \"Image\", \"Video\", \"Sidecar\"];\n }\n let sortOptions = [\n { name: \"Most recent\", value: \"mostrecent\" },\n { name: \"Top reactions\", value: \"feed_reaction_count\" },\n { name: \"Top comments\", value: \"feed_comment_count\" },\n { name: \"Top shares\", value: \"feed_share_count\" },\n { name: \"Engagements\", value: \"total_engagement\" },\n { name: \"Engagements per 1k fans\", value: \"engagement_per_1k_fans\" },\n ];\n if (activeSocialMediaType === \"instagram\") {\n sortOptions = [\n { name: \"Most recent\", value: \"mostrecent\" },\n { name: \"Top likes\", value: \"feed_like_count\" },\n { name: \"Top comments\", value: \"feed_comment_count\" },\n { name: \"Engagements\", value: \"total_engagement\" },\n { name: \"Engagements per 1k fans\", value: \"engagement_per_1k_fans\" },\n ];\n }\n\n const [topPostParams, setTopPostParams] = React.useState({\n searchData: [],\n searchKeyWord: \"\",\n postTypes: postTypes,\n selectedProfiles: comparisonSelectedDataId,\n currentPage: 1,\n page_limit: page_limit,\n sortType: sortOptions[0].value,\n });\n\n const selectSortHandleChange = (e) => {\n setTopPostParams({ ...topPostParams, sortType: e.target.value });\n };\n\n React.useEffect(() => {\n if (selectedProfilesListToComapre && customDateRangeRed && topPostParams) {\n dispatch(getContentNewsFeed(topPostParams));\n }\n }, [selectedProfilesListToComapre, customDateRangeRed, topPostParams]);\n\n function changePageLimit() {\n switch (page_limit) {\n case 4:\n setPageLimit(12);\n break;\n\n case 12:\n setPageLimit(20);\n break;\n\n default:\n setPageLimit(4);\n }\n }\n\n React.useEffect(() => {\n if (page_limit && contentNewsFeed) {\n dispatch(loadMoreContentNewsFeed(topPostParams, page_limit));\n }\n }, [page_limit]);\n\n //For adding top post profile id into reducer\n\n function addTopPostProfileId() {\n history.push(\"/content-newsfeed\");\n }\n const menuProps = {\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\",\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\",\n },\n getContentAnchorEl: null,\n autoFocus: false,\n };\n\n //fucntion to convert canvas to base64 dataUrl\n\n const itemEls = React.useRef(new Array());\n const selctedProfilesLength = selectedProfilesListToComapre.length;\n useEffect(() => {\n if (\n interactionDistributions &&\n interactionDistributions.length !== 0 &&\n selectedProfilesListToComapre &&\n selectedProfilesListToComapre.length !== 0\n ) {\n itemEls.current = itemEls.current.slice(0, selctedProfilesLength);\n const mapData = itemEls.current.map((item) => item.children[0]);\n\n console.log(\"hiteded\", itemEls.current[0].onload);\n const mapData2 = mapData ? mapData.map((item) => item.children[0]) : [];\n\n const mapData3 =\n mapData2.length !== 0\n ? mapData2.map((item) => item.children.pieChartDistributions)\n : [];\n console.log(\"hiteded second\", mapData3);\n setTimeout(() => {\n setPieData(mapData3);\n }, 3000);\n }\n }, [interactionDistributions, selectedProfilesListToComapre, itemEls]);\n\n console.log(\"show pie data\", pieData);\n\n // const pieReader = pieData[0]\n\n function getBase64(file) {\n return new Promise((resolve, reject) => {\n if (file.length) {\n const mapData = file.map((data) => data.toDataURL(\"image/jpg\", 1.0));\n console.log(\"show get64 mapData\", mapData);\n resolve(mapData);\n } else {\n const mapData1 = file.toDataURL(\"image/jpg\", 1.0);\n resolve(mapData1);\n }\n });\n\n // return new Promise((resolve, reject) => {\n // if (file.length) {\n // // alert(\"the file has array\")\n // const mapData = file.map((data) => data.toDataURL(\"image/jpg\", 1.0));\n // resolve(mapData);\n // } else {\n // const mapData1 = file.toDataURL(\"image/jpg\", 1.0);\n // resolve(mapData1);\n // }\n // });\n }\n\n // function to handle canvas to image\n\n useEffect(async () => {\n var file = document.querySelector(\"#interaction\");\n var file2 = document.querySelector(\"#totalFans\");\n var file3 = document.querySelector(\"#post\");\n var file4 = document.querySelector(\"#pieChartDistributions\");\n\n // const pieFile = pieData[0]\n // if (pieData.length > 0) {\n // await getBase64(pieData).then((data) => setPdf4(data));\n // }\n setTimeout(() => {\n if (file) {\n getBase64(file).then((data) => setPdf1(data));\n }\n }, 4000);\n\n setTimeout(() => {\n if (file2) {\n getBase64(file2).then((data) => setPdf2(data));\n }\n }, 4000);\n\n setTimeout(() => {\n if (file3) {\n getBase64(file3).then((data) => setPdf3(data));\n }\n }, 4000);\n }, [\n selectedProfilesListToComapre,\n interactionDateFilter,\n fanGrowthDateFilter,\n customDateRangeRed,\n interactionData,\n fansGrowth,\n postsDataMultiple,\n ]);\n console.log(\"shoing value for pdf\", pdf4);\n\n useEffect(async () => {\n if (pieData && pieData.length !== 0) {\n try {\n const filterPieData = pieData.filter((data) => data);\n console.log(\"try catch wait\", filterPieData);\n const getPieData = await getBase64(filterPieData);\n\n const data = await getPieData;\n setPdf4(data);\n } catch (error) {\n console.log(\"error\", error);\n }\n // getBase64(pieData)\n // .then((data) => setPdf4(data))\n // .catch((error) => console.log(\"error\", error));\n }\n }, [pieData]);\n //Function to take screenshot of a webpage and download it.\n\n function screenshotPage() {\n //send download activity report function\n createUserDownloadActivity(\"screenshot\");\n\n setShowDownloadToast(true);\n setTimeout(() => {\n setShowDownloadToast(false);\n }, 3000);\n var wrapper = document.querySelector(\".ComparisonPageScreenContainer\");\n\n domtoimage.toBlob(wrapper, { bgcolor: \"#ffffff\" }).then(function (blob) {\n saveAs(blob, `${activeSocialMediaType}-overview.png`);\n });\n }\n\n // exportables or downloadable component\n const Exportable = () => {\n const stylesPdf = StyleSheet.create({\n page: {\n flexDirection: \"column\",\n padding: 30,\n fontFamily: \"Poppins\",\n },\n section: {\n alignSelf: \"center\",\n marginTop: 20,\n },\n heading: {\n alignSelf: \"center\",\n marginTop: 130,\n width: \"50%\",\n textAlign: \"center\",\n // fontFamily: \"Poppins\"\n },\n logo: {\n marginTop: 90,\n width: \"30%\",\n alignSelf: \"center\",\n },\n date: {\n alignSelf: \"center\",\n marginTop: 10,\n fontSize: 12,\n },\n profileImg: {\n height: 50,\n width: 50,\n border: \"1px solid #D5DDE0\",\n borderRadius: 5,\n },\n graph: {\n height: 140,\n marginTop: 20,\n },\n graphSection: {\n marginTop: 10,\n },\n sectionTitle: {\n fontSize: 12,\n fontFamily: \"Poppins\",\n fontWeight: \"bold\",\n marginBottom: \"5px\",\n paddingBottom: 4,\n },\n sectionTopPost: {\n alignSelf: \"center\",\n marginTop: 20,\n alignItems: \"center\",\n },\n topPostsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n },\n postsPage: {\n backgroundColor: \"#f5f5f5\",\n padding: 30,\n },\n tr: {\n display: \"flex\",\n flexDirection: \"row\",\n },\n td: {\n display: \"flex\",\n flexDirection: \"row\",\n padding: 8,\n // border: \"1px solid EBECED\",\n fontSize: 8,\n width: \"20%\",\n },\n socialMainLogo: {\n width: 25,\n height: 25,\n marginRight: 10,\n },\n overviewTitle: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontFamily: \"Poppins\",\n marginTop: 10,\n },\n distributionSec: {\n marginBottom: 15,\n border: `1px solid #D5DDE0`,\n padding: 20,\n paddingBottom: 30,\n \"& :last-child\": {\n marginBottom: 0,\n },\n },\n metricText: {\n fontSize: 10,\n fontWeight: 400,\n lineHeight: \"1.5 px\",\n marginBottom: 8,\n },\n });\n\n return (\n \n \n \n \n {activeSocialMediaType === \"instagram\" ? (\n \n \n Comparison Overview\n \n ) : (\n \n \n Comparison Overview\n \n )}\n \n {\" \"}\n {`${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[1]\n } ${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[2]\n } ${\n new Date(customDateRangeRed[0].startDate)\n .toDateString()\n .split(\" \")[3]\n } - ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[1]\n } ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[2]\n } ${\n new Date(customDateRangeRed[0].endDate)\n .toDateString()\n .split(\" \")[3]\n }`}\n \n \n \n {selectedProfilesListToComapre.map((profile) => (\n \n \n \n {profile.name} \n\n \n {profile.username}{\" \"}\n \n \n \n ))}\n \n \n \n \n \n {selectedProfilesListToComapre.map((profile) => (\n \n \n\n {/* \n Vs\n */}\n \n ))}\n \n \n \n \n \n Average interactions overview\n \n \n {\" \"}\n Aggregated by {interactionDateFilter}{\" \"}\n \n \n \n \n {selectedProfilesListToComapre.map((data) => (\n \n ))}\n \n Average interactions overview\n \n \n \n \n \n Top post types overview\n \n\n \n \n {selectedProfilesListToComapre.map((data) => (\n \n ))}\n \n Top post types overview\n \n \n \n \n \n Growth of total fans\n \n {\" \"}\n Aggregated by {fanGrowthDateFilter}{\" \"}\n \n \n \n \n {selectedProfilesListToComapre.map((data) => (\n \n ))}\n \n Growth of total fans\n \n \n \n \n \n Distribution of interactions\n \n \n {pdf4.map((data, index) => {\n const intersection = interactionDistributions\n ? interactionDistributions.filter((data, i) => i == index)\n : [];\n const pieProfileImg = selectedProfilesListToComapre\n ? selectedProfilesListToComapre.map(\n (data, i) => data.picture\n )\n : [];\n console.log(\"Intersection here\", intersection);\n const total = intersection.map(\n (data) =>\n parseInt(data.total_reactions) +\n parseInt(data.total_comments) +\n parseInt(data.total_shares ? data.total_shares : 0)\n );\n const totalFilter = total.find((data) => data === 0);\n const pageName = intersection.map((data) => data.page_name);\n const pagePic = intersection.map((data) => data.page_picture);\n\n return (\n \n \n \n \n {\" \"}\n {pageName}{\" \"}\n \n \n\n \n \n \n {\" \"}\n {numbersFormat(total)}{\" \"}\n \n {totalFilter === 0 ? (\n \n ) : (\n \n )}\n \n \n \n \n Count \n % \n \n {intersection.map((data) => (\n <>\n \n \n {\" \"}\n \n {\" \"}\n {\" \"}\n {\" \"}\n {`${\n activeSocialMediaType === \"facebook\"\n ? \"Reaction\"\n : \"Likes\"\n }`}\n \n \n {\" \"}\n {formatNumber(data.total_reactions)}{\" \"}\n \n\n \n {\" \"}\n {data.total_reactions !== 0 ? (\n \n {\" \"}\n {Math.round(\n (parseInt(data.total_reactions) /\n (parseInt(data.total_reactions) +\n parseInt(\n data.total_shares\n ? data.total_shares\n : 0\n ) +\n parseInt(data.total_comments))) *\n 100\n )}\n %\n \n ) : (\n \"0%\"\n )}\n \n \n \n \n {\" \"}\n \n {\" \"}\n {\" \"}\n {\" \"}\n Comments\n \n \n {\" \"}\n {formatNumber(data.total_comments)}{\" \"}\n \n \n {\" \"}\n {data.total_comments !== 0 ? (\n \n {\" \"}\n {Math.round(\n (parseInt(data.total_comments) /\n (parseInt(data.total_reactions) +\n parseInt(\n data.total_shares\n ? data.total_shares\n : 0\n ) +\n parseInt(data.total_comments))) *\n 100\n )}\n %\n \n ) : (\n \"0%\"\n )}{\" \"}\n \n \n\n \n {activeSocialMediaType === \"facebook\" ? (\n <>\n \n \n {\" \"}\n {\" \"}\n {\" \"}\n Shares\n \n \n {\" \"}\n {formatNumber(data.total_shares)}{\" \"}\n \n \n {\" \"}\n {data.total_shares !== 0 ? (\n \n {\" \"}\n {Math.round(\n (parseInt(data.total_shares) /\n (parseInt(data.total_reactions) +\n parseInt(data.total_shares) +\n parseInt(\n data.total_comments\n ))) *\n 100\n )}\n %\n \n ) : (\n \"0%\"\n )}{\" \"}\n \n \n ) : (\n \n )}\n \n \n ))}\n \n \n \n );\n })}\n \n \n \n\n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n {feeds.length > 0 && (\n \n \n {feeds.length > 0 && (\n \n Top Posts \n \n {feeds && feeds.length !== 0\n ? feeds.map((topPost, index) => (\n \n ))\n : \"\"}\n \n \n )}\n \n\n \n Overview\n \n `${pageNumber} / ${totalPages}`\n }\n />\n \n \n \n )}\n\n {/* Metrics Page */}\n \n \n \n Metrics Overview\n \n \n \n 1. Average interactions overview \n \n\n \n \n The sum of interactions (Reactions, Comments, and Shares)\n divided by the number of posts published on the same page\n during a specific time range.\n \n \n \n \n \n 2. Growth Of Total Fans \n \n\n \n \n This chart shows the information regarding the growth of\n followers of your pages withing selected time period. The\n negative value shows decrease in followers whereas positive\n value shows increase in followers.\n \n \n \n \n \n 3. Interactions Distribution \n \n\n \n \n The colorful piechart displays the ratio how the interactions\n (Reactions, Comments and Shares) are distributed in page.\n \n \n \n \n \n \n );\n };\n\n //send download activity report\n const createUserDownloadActivity = (type) => {\n let profilesForActivityReport = [];\n\n selectedProfilesListToComapre.forEach((f) => {\n if (!profilesForActivityReport.includes(f.name)) {\n profilesForActivityReport.push(f.name);\n }\n });\n\n dispatch(createUserReportDownloadActivity(profilesForActivityReport, type));\n };\n\n const generatePdfDocument = async () => {\n //send download activity report function\n createUserDownloadActivity(\"pdf\");\n\n setShowDownloadToast(true);\n setTimeout(() => {\n setShowDownloadToast(false);\n }, 3000);\n const blob = await pdf().toBlob();\n saveAs(blob, `${activeSocialMediaType}-Comparison.pdf`);\n };\n\n return (\n \n
\n \n
\n {/* */}\n
\n \n
\n
\n \n
\n \n generatePdfDocument()}>\n {\" \"}\n Export pdf{\" \"}\n \n screenshotPage()}>\n {\" \"}\n {\" \"}\n Export png{\" \"}\n \n \n {\" \"}\n {\n //send download activity report function\n createUserDownloadActivity(\"pdf\");\n }}\n />{\" \"}\n \n \n
\n\n \n
\n \n
\n {selectedProfilesListToComapre.length === 0 ? (\n \"\"\n ) : selectedProfilesListToComapre.length <= 2 ? (\n \n \n
\n ) : (\n \"\"\n )}\n \n {selectedProfilesListToComapre.length === 0 ? (\n \n No Records found\n \n Add profiles to gain insights to improve your strategy by\n comparing your performance against competitors\n \n Go to Profile Adding Page\n \n ) : (\n \n \n \n {selectedProfilesListToComapre &&\n selectedProfilesListToComapre.length === 2\n ? selectedData.map((profileList) => (\n
\n \n \n \n \n \n \n \n
\n \n
\n \n \n {profileList.name}\n \n \n
\n \n {profileList.username}\n \n \n \n
\n \n \n {numbersFormat(profileList.posts_count)}\n \n \n New Posts\n \n
\n \n \n
\n \n \n {numbersFormat(\n profileList.fan_count_for_date_range\n )}\n \n \n New Followers\n \n
\n \n \n
\n {activeSocialMediaType === \"instagram\" && (\n <>\n \n \n {numbersFormat(\n profileList.following_count\n )}\n \n \n New Following\n \n
\n \n \n )}\n \n \n \n \n \n ))\n : \"\"}\n\n {selectedProfilesListToComapre &&\n selectedProfilesListToComapre.length > 2\n ? selectedProfilesListToComapre.map((profileList) => (\n \n \n
\n {\" \"}\n \n profileListDelete(profileList.id)\n }\n />{\" \"}\n
\n \n \n \n
\n \n \n {\" \"}\n {profileList.name}{\" \"}\n \n \n \n {\" \"}\n {profileList.username}{\" \"}\n \n
\n \n \n \n ))\n : \"\"}\n {selectedProfilesListToComapre &&\n selectedProfilesListToComapre.length > 2 && (\n \n \n \n )}\n \n \n \n \n \n {interactionLoader && (\n \n )}\n {selectedProfilesListToComapre.length != 0 ? (\n {\n interactionsChart(\n selectProfiles,\n interactionDateFilter,\n kPerFans\n );\n }}\n height={80}\n switchShow={true}\n />\n ) : (\n
\n
\n \n Interactions\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n
\n \n {multiplePostBreakDownLoader && (\n \n )}\n {selectedProfilesListToComapre.length != 0 ? (\n {\n postTypeChart(selectProfiles);\n }}\n height={80}\n />\n ) : (\n
\n
\n \n Post Types Overview\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n
\n\n \n {interactionDistributions.length != 0 ? (\n
\n
\n \n Distribution of interactions\n \n
\n\n \n {interactionDistributions.map((pieProfiles, i) => (\n \n {interactionDistributionsLoader && (\n \n )}\n\n
\n \n \n {pieProfiles.page_name}\n \n
\n\n \n (itemEls.current[i] = element)\n }\n >\n getPieTotal(total)}\n chartData={pieProfiles}\n />\n
\n \n \n \n \n \n \n \n {activeSocialMediaType == \"instagram\"\n ? \"Like\"\n : \"Reactions\"}\n \n \n \n {formatNumber(\n pieProfiles.total_reactions\n ) || 0}\n \n \n {pieProfiles.total_reactions || 0\n ? Math.round(\n (parseInt(\n pieProfiles.total_reactions\n ) /\n (parseInt(\n pieProfiles.total_reactions\n ) +\n parseInt(\n pieProfiles.total_comments\n ) +\n parseInt(\n pieProfiles.total_shares\n ? pieProfiles.total_shares\n : 0\n ))) *\n 100\n ) + \"%\"\n : \"0%\"}\n \n \n\n \n \n \n \n Comments\n \n \n \n {formatNumber(\n pieProfiles.total_comments\n ) || 0}\n \n \n {pieProfiles.total_comments || 0\n ? Math.round(\n (parseInt(\n pieProfiles.total_comments\n ) /\n (parseInt(\n pieProfiles.total_reactions\n ) +\n parseInt(\n pieProfiles.total_comments\n ) +\n parseInt(\n pieProfiles.total_shares\n ? pieProfiles.total_shares\n : 0\n ))) *\n 100\n ) + \"%\"\n : \"0%\"}\n \n \n\n {activeSocialMediaType !== \"instagram\" ? (\n \n \n \n \n Share\n \n \n \n {formatNumber(\n pieProfiles.total_shares\n ) || 0}\n \n \n {pieProfiles.total_shares || 0\n ? Math.round(\n (parseInt(\n pieProfiles.total_shares\n ) /\n (parseInt(\n pieProfiles.total_reactions\n ) +\n parseInt(\n pieProfiles.total_comments\n ) +\n parseInt(\n pieProfiles.total_shares\n ))) *\n 100\n ) + \"%\"\n : \"0%\"}\n \n \n ) : (\n \"\"\n )}\n \n \n \n
\n ))}\n \n \n ) : (\n
\n
\n \n Distribution of interactions\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n \n\n \n {fanGrowthLoader && }\n {selectedProfilesListToComapre.length != 0 ? (\n {\n fanGrowthChart(selectProfiles, dateFilter);\n }}\n height={80}\n />\n ) : (\n
\n
\n \n Fan's Gowth\n \n
\n\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )}\n \n \n \n {postTypes.length !== 0 ? (\n
\n
\n \n Top posts\n \n
\n \n \n \n {sortOptions.map((option) => {\n return (\n \n \n \n {\" \"}\n {option.name}{\" \"}\n {\" \"}\n
\n \n );\n })}\n \n \n
\n
\n {topPostParams.selectedProfiles.length > 0 ? (\n \n {contentNewsFeedLoading ? (\n \n
\n \n
\n \n ) : !contentNewsFeedLoading &&\n feeds &&\n feeds.length > 0 ? (\n feeds.map((feed) => (\n \n
\n \n
\n
\n ))\n ) : (\n feeds &&\n feeds.length === 0 && (\n
\n
\n \n {NO_DATA_AVAILABLE}\n \n
\n
\n )\n )}\n
\n ) : (\n
\n
\n \n Select at least one profile to show posts.\n \n
\n
\n )}\n \n ) : (\n
\n
\n
\n \n Select at least one post type to show posts.\n \n
\n
\n
\n )}\n \n {feeds && feeds.length !== 0 && (\n
\n {\" \"}\n {page_limit === 20 || pages === 1 ? (\n \n Show all\n \n ) : (\n \n Load more posts\n \n )}{\" \"}\n
\n )}\n \n
\n )}\n \n \n {showDownloadToast && (\n \n )}\n
\n );\n};\n\nexport default withRouter(ComparisonPage);\n","import { Opacity } from \"@material-ui/icons\";\n\nexport default (props) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n tabHeaderComp: {\n marginTop: \"30px\",\n display: \"flex\",\n padding: (props) => (props.xs ? \"0px 10px\" : \"0px 40px\"),\n justifyContent: \"space-between\"\n },\n title: {\n textAlign: \"center\",\n textTransform: \"capitalize\",\n },\n subButtongGroup: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginRight: \"60px\",\n },\n modalBox: {\n alingSelf: \"center\",\n },\n profileListComponent: {\n padding: \"24px\",\n height: \"60vh\",\n },\n charts: {\n marginTop: 30,\n minHeight: 350,\n },\n growthChart: {\n position: \"relative\",\n },\n loader: {\n background: \"rgba(255, 255, 255, 0.6)\"\n },\n\n\n /* profile overview css */\n\n profileOverview: {\n\n },\n\n pieChart: {\n marginTop: 65,\n },\n\n pieChartDistribution: {\n background: \"#fff\",\n border: \"1px solid #bdbdbd\",\n },\n\n pieProfileDetails: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n marginBottom: 20,\n },\n\n chartTitle: {\n fontSize: 24,\n fontWeight: 600,\n letterSpacing: 0,\n },\n\n pieChartContainer: {\n marginTop: 45,\n },\n\n graphTitleSection: {\n display: \"flex\",\n alignItems: \"flex-end\",\n marginBottom: 15,\n justifyContent: \"space-between\",\n },\n\n pieProfileImg: {\n width: 25,\n height: 25,\n borderRadius: \"50%\",\n marginRight: 8,\n border: \"1px solid #e0e0e0\",\n objectFit: \"cover\",\n },\n\n pieProfileName: {\n color: \"#323132\",\n fontSize: 15,\n fontWeight: \"normal\",\n },\n\n pieChartDetailHeader: {\n display: \"flex\",\n alignItems: \"center\",\n\n },\n\n pieDistributionTitle: {\n fontWeight: 600,\n },\n\n pieDistributionIcon: {\n width: 38,\n height: 38,\n padding: 7,\n borderRadius: \"50%\",\n marginRight: 20,\n },\n\n chartDetails: {\n width: \"70%\",\n margin: \"auto\"\n },\n\n pieChartProfile: {\n position: \"relative\",\n margin: \"30px 0\",\n borderRight: \"1px solid rgba(224, 224, 224, 1)\"\n },\n\n chartFallBackContainer: {\n height: \"calc(100% - 47px)\",\n },\n\n pieChartContainer: {\n position: \"relative\",\n },\n\n graphTitleSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 15,\n alignItems: 'flex-end'\n },\n\n graphTitle: {\n fontSize: 24,\n letterSpacing: 0,\n fontWeight: 600,\n },\n\n chartFallBack: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n background: \"#fff\",\n border: \"1px solid #bdbdbd\",\n minHeight: 350,\n },\n\n ContentNewsFeedPostsContainer: {\n padding: (props) => (props.xs ? \"15px 10px\" : \"40px 0px\"),\n width: \"100%\",\n \"& .top_post_title\": {\n marginBottom: 20,\n display: (props) => (props.xs ? \"block\" : \"flex\"),\n justifyContent: \"space-between\"\n }\n },\n\n loadMoreButtonDivDashboard: {\n display: \"flex\",\n justifyContent: \"center\",\n marginTop: 20,\n },\n});\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABmJLR0QA/wD/AP+gvaeTAAARTklEQVR4nO2deXhUVZbAf/dVVSo7WUiQBMEASgi4IIghbDIK2m7ooNguEIMK7Q6EpR2nFT+0wRVpu11ncBltdXqc0ba12xVt19buz8bWAJ2wBEggEggkIVul6s4fr6ry6qWSVJKqSlV5f9/HB+9w36tbdc5d3jn33AsKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhSI2EaF6sAQNyAVygKHAYCDxexj8BQzeBumVMOig1WqrjUtIarTF2VrjE+WRhKT2luRUBynpDSSnHyM9/RjDRu6jYPI2hKUOzVqH1KrY83YVa9a4QlX/3uD+rsejf9c0IB3I3AaDN0P2Xkg9AElVVmtiTVxCaoMtjsb4BFd9fKJsSUlrJy6hjUEZ9Qw5vo6cvGrGT9wDloNYxH6cjv3s2Ryy7xo0A3D/COOBImAckA8kVoD9Fcj4DFL+DikHwN6nD7DFuRg64hinTTvE9AtrGTy0HihHE5tBe5/iMw8F67sEgoQsYDZwFjAasLeBeBXSX4bBX0NqLcT16eH2eCe5oxrJy2/g9Bl15E+swWIpQ/IdTtcX7HuvLFgG0W8DkPqXvxSYAWQAHAbLRsh+DbLKIFn290PMWKwuzjynhkuuryIrpw1wgPw9dvsLXDWpNtgfZ0RCNlAMXADY0D9c/AayHoRh1RAf9A9NSWvj5MJDzJl/gBH5zUhZi+Bj0P6Xkim7+/PoPhuAhEnA1cAZnudUQty9kPMKDGkES38qFhBWm4uz5+1j3pJqbHYXQrTicv0XDvuLLJnkCOZHSb3nWoj+nW0e+e9h0FIYuQsSgvl5/hEw5tQ6LrimipOL6hFI4Auclhe57swtfXxi73C3gKXATI+sHcQ6OO5+GH4sHIo3k3lcM1ct3cnpM466a7kXYXmQawv/FozHSygEStHHeAD2ge1GOOEtyAp6DxcIpxbVsmDlLjKHuA1dvId27DGKz+nVUNgrA5BwCXAzkOiRbYGEK+HErZDcm2cFHwFTz93PglWV2ONdCCQu8RqNdY9z2/mtfXmi1Lvz24C5RvlLkHErjKoz9AQDQnxiO/OW7OKcyw/qAtmISz7KddP+GOgjAjIAqbfqpcC/GuVvwKAFMKYBrIHXOsRk5TRx/V3lnHTKMbdkN5rzHoqn/7M3j5FQANyFPrsHoB60xZD3KgwJYo37z8yLqyheXYlwq1PwW3a/+0QgE8UeDUDqY9svgclG+QbIXgWj2kP4KtlnrDYX8362i/OurHFL2tB4mOKiPwRyu4R5wK0YWvi3ED8P8isMvV9EMXbiYW5/8J/Y43WlS/kpjUfv6qn361Z57le7XwLTjfKXIGMhjHFFovKNTJh+kCX37PD+KPAnGo480NWPIvXXtlLgQqP8ZUhfAidGVE/nj/GTD7F8w3ZvTyDFZva8c1d3PYHWwyNXYFL++5ByHZwU8coH+OaTLO5dPI4jBz0t+TxSBj3Gs9+kmYtKyASexKT8lTDsahgb8coH+O6rTJ5df4L3WshZ5M25qbtbujQACVdgmvzshLjLIb+1Z8OJHPZVpLB28clU7XC/n4txiOaneObLYZ4iEk4AngbGeGQOED+FUQ/B8AGZ5feVT97M4U8vd8xRXFzJ859f2FVxv61YQh6wCYMnSwIzoOBT3dUZfSSmOLhl3VbGnt6oC+QRpHOlXDTDBqwHUj1FG0C7CMZ8rLt0o484u5O7N20hJ6/FLWnG5VrIddOqzUW7askrMLkxn4TBUat8gKYGGxtKx7Hlc7eiRdrUnVs3HUlMeRqT8s+BsVGrfIC2Vgub1o0ySBLQtFX+inZy2kjdt321UdYM2jzIb4yGcbA7XE6Nb/6cyciC+ml1h2yPvPLY6KY4e2ZSa+uxOKfD4VH+VzBooKvab+p+iCcnr4Fcby+QyyUlZbyxaZ+xmE8PIPUhocT8rF9B1v6+BnEijdYWi2XjqoKS5x8YZW9v01yaZtmVNfSEw/aExDmxonwPbz53vK9ALDIXMQ8BhejBHS9O4Nd6WDdmcLa1WlbVVCZVtzs0AJemWRZqlrFfxpLyQZ8Ae4c8ADGOZz87zVjEbABzTde8Dmn7QhHhGmAOOZ3ipoPVCfVOl3jqyOG4t5obY6OHM/PR675eSyEuNl56DUDqE7wp5vuf0+PeMcluR5u26Ie9iU/VH4pN5QN895dMjjUY5nriLF54J8lzZewBpmGa5LWB+CiaZ8MBUOFo0yJiWVGoaHdofP1hhw6ltONKKfRcGg2gyHzvHyE16mf+CtjymW8jlnKa558aeGf/E8z3vR9rk6IfKxXfmvw32kTvv9x/j8DgDPHwFaSEsl6KMNFYb6N6l2EiLzP5z09zoMMAxvi5jTJI8idXRCEV//DVpRD54NsD+LAXbGr8jyGq9/iuWRQMhw4DGG4uvyUsixwVYeOHvSYDED4G0KkHKFMGEFv8UOWrT+nuAdyrfoaZy29XBhBb1O436bOjB0jBTwbLgb5mtSgik9ZmCy1NBr+PTOLZXfEafl7/AI6qCWDs0XDEV6eW6lRPD9AJZQAxSKPJANpE1wZQrwwg9jAbAKRodDHZa4qmhZ+KwGhq8l0BZhWJGuA3GBb+BD9FyLFYfBc4S6dTQ1/007lsF4ahiGI0kwEgujYANQGIQWxWXwNwinYNaPNX1qp6gNjDEmfqAaRDA+r8lc2EoG6woIgAMrJ9G7tN1GmA3y1VhnTRMyiimPRs30btaj2kCWgAOmXLDlUGEFskJLUbsqRB0EjJrBbPu/5Bc/lcZQCxRUqarz6l3vN7DGCXufx4aA59rRRh47gRTT7XQuyEDgOoMJcvhGNmmSKKGTbSV5/StQM6DGCnuXwuODLUm0DsMOIkUw+glUOHAWz1d894aAxtrRThQcDok311GWfbDm4DELAf/Y8P0+FoOKqnCDHZOU1kDOnozQWVnh1VjRG/TpsqnqcMIDY48RSTHqVX10YD+Np83xQ4lqbmAdFPwRm+BiA1vwbwOaZ3fwswBw6Hsm6KEGOzOzl9+hGDpIUk+RfPhdcABDQBX5nvnw9h3YZdEWQKJtYRn9ThAZTiC+YXeX085lU/H5jvvxiOqmEgijnjbFOsR/vQ58pU/GOg3iiwgbzMj6tYEQUkpzo48+yOaK8QR0lO/tRYxMcAhB4Uetv8nNvhgFogGIVMnl2D1bgGQL7F/HE+8zx/en0d02KQ8dBSBEf8lFVEKpommX15jfdaSBeC1zsVMwsE7AU+MstXwz6zTBHBnDq1luOGG8L84kOKi6rMxbrq2Z9H3x3Wy4VQf7ppfqCIUIQmueT6jgYrkCBf8FfUrwEIPTr4kVm+Ru8dFJHOaVNrGX6iMZz/AddO3eGvaHdzu8cxvf5dBEdnKcdQZGO1ubjilj0GiQPB010V79IABFQD/22Wb4DKOLViOHKZdWkVQ443jP2uV/yN/R56ert7BthtFJwKzcvVUBCZZOU0c/mNBmWLPSSlb+rulm4NQOhDwDpMLX4tVI9TawUiC6FJSv6tHJtd15UQLjSxzvzeb6ZH/46A74DXjDIryE1QYVNDQeQw86LqjsMwAPgdxYXf9nRboA6+32BaNTQZmtb6WUyqGACGjW7g6mUdEz8hymi1PRHIrQEZgHsouBOTN3A11MyDH3pRVUWwSU51cNv67QaXbx2a685Aj84N2MUvoAZYjWm5+IuwQ7mJBwh7vJNb1m11H6AN0Iywrmbh1IAbZa9iPO75wC0YFB4P8gPYOketGwgvCUnt3PZAGWMmeMb9BpxyKddO/r43j+nT2X9S31fwUfSDpAH9AOmrYOTvIu1Y1VgkNbOV0kfKDN6+Qwi5rCtvX3f05/j444ANGHYZlcDPYMTTMXbETEQxeGgzKzaWMWSY7uwRVCNY2p2zpzv6dfqn1LeYexj9oGUvd0Du/TAiqg5cjAZy8hpZ+ehW0rL0CZ4Q27G1l3L1dL8p/oHQ7+Nf3YdLrwPOMMo3QnYpjHJGwxGz0UBe/lFKN24jKcW9o4v4O00tq7l5Vr8cckFRjtRP2b4HmGmUPw8Zi+GkNrXjWP8wnwwOn9Fw5Bc9nQweCEFrne49h1djOnz5DRh0FeQ3qY3H+saE6Qe5+b4KLJ79feS7VLbdx5pZ7cF4fNBaptDdwuuBl43yuXD0D/D9ILWyuPdM/cl+bl1f3qF88RqV760NlvIhROOzhGuAG42yv0LihVBQozahDoyz5lZRvLrSey3Ei1w7JSD3bm8I2QRNwqXAcgy9zDawnwvj9sTgQZRBQ2iSy5bs5PwF+oJOgcTleoxF014NyceF4qEeJMwG/h3DtoN7wTYbCrar84g6Y7FKFpSWM3OuJ5nDCdp6Sgo7LdUPFiF/RZMwCX1u4N2TuBascyD/my62qv9RYrM7uf4X25n8Lx43ewtod1JS+GUoPzYs7+hSdxQ9hOEcwgbQzocxn8b4yaQBEZ/Yzs33bWX8mQ26QDaiWVYGEs/vL2Fz0kjIQ3cde88idoC4Akb9nyGm8KMjOdXB7Q+WMfpkfQ8fwWGktpySwvJwfHxYvXQShqIHkYYZZCyCvOf0//txkZ7VQukjZeSOagFAiP242paxaGbY1lyG3U0rIRN4BBhtlN8Buev9nF4Ws2TnNrFiY5khlr8bi1zWm1h+MBgQP72EZOBB4BSj/F4YejfkxfxCw9yRjaz6VRmpGR6HzlaS4kqZPynsW/IMWKBG6r6A+4BCo/xxyLodRrfHahBp5LijlG7YRmKyO6gj/0ab/ecsmdTU/Y2hYUB/ZHcQ6RfA2Ub5S5B+HYxpjbUg0qlFtdy6rhyLzRMp/zNJg+7uael2KBnwVuYOIpUClxjlb0HqT2FsY6wEkQrnHGDx3TsR7p9cyLdJrFrP/Pl+D+wIFwNuAB78xQ8+gaS5UFCn9xTRi1+/fuGTIAZ8zUzEGACAhMuA2zF0/WUQPwcKqqIyfiDg4uLdXLq42n0pkTxOSdFvB7hiXiLKAAAknIueg+Dt+ish7hwoqIDEgatZLxGa5Iqbd3DulfprnZAupPYAJVPeHOCa+RBxBgAgYSqwFrB7ZDVgnQ1j/9HFQZcRhcXqonh1OdMv8CyVd6C57qF42uYBrZcfItIAACRMAO7HEDWsB+0nkP85pA1czXogzu5k8ZptTJzpeadvBnkHJVM77cQaCUSsAQBIGIPuNfQqvAXEXDjpXd2jGFkkJLVzy7qtFExyB3WoR1hX9DZZI5xEtAGANwllA4aEk4hMQvGXrCGdS1k0vdNZDJFExBsAgITB6EYw0iBjCYx4JhKSUDona1Ti0JZxQ2FND3cOOFFhAOBNQnkIGGeUD3gSijlZQ8rtiMTllEyIioTZqDEA6DoJ5VHIXjEQSSjmZA3BN2gNq1l4btSctxRVBgDe+MHdwCyjPOxJKPkTDrP04ZAka4STqDMAiIAkFHOyhuAdEvfdN9B+/b4QldE2QxKKj0s1LEkoU8/zTdaQ4n/Y/e690ah8iNIewEhYk1DClKwRTqLeAACkHkouJVRJKGFO1ggnMWEAABJmoGcoe1t9UJJQLFbJNaXlnOVN1nAgWMu1RZ1OV4lGYsYAACRMRJ8beKOG/UpCscW5uP6ubb7JGq47KZkW0mSNcBJTBgAgYSz6riX9S0Lxl6zR7lzJDTNCnqwRTmLOAAAknICef+CThDIfRr0eSBKKOVkDcQirXM6Cok6HbEc7MWkA4E1C2QAcb5D1nIRiTtZA7qfdspQbCmPyxJSo9AMEgvs85JuAcoOMZ2HXz6HS703ZuU3c8cR3HcpnN9J5Y6wqH2K4B/DgJwlFAo8LyAA24mkEKWkV3PtSLanpnt22y2htXMGS2TF9fnLM9gAehL6t/TLgS9weRKF7EH8NFKN7DT+g4cgEUtLXIGhHiL+SKG+LdeX/qJBglTDez39Nwbjs/D8+G8+azVY/5RQKhUKhUCgUCoUiBvh/xEkbOlfiFQsAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import React, { useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Accordion from \"@material-ui/core/Accordion\";\nimport AccordionDetails from \"@material-ui/core/AccordionDetails\";\nimport AccordionSummary from \"@material-ui/core/AccordionSummary\";\nimport Typography from \"@material-ui/core/Typography\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\nimport { Divider, List, ListItem } from \"@material-ui/core\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport renderHTML from 'react-render-html';\nimport Highlighter from \"react-highlight-words\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: \"100%\",\n },\n heading: {\n fontSize: theme.typography.pxToRem(15),\n flexBasis: \"33.33%\",\n flexShrink: 0,\n },\n secondaryHeading: {\n fontSize: theme.typography.pxToRem(15),\n color: theme.palette.text.secondary,\n },\n header: {\n padding: \"20px 40px 20px 20px\",\n \"& .MuiAccordionSummary-content\": {\n margin: 0,\n },\n },\n}));\n\nconst concatHTML = (textArray, text = '') => {\n textArray.forEach(ta => {\n if (ta.props) {\n text = concatHTML(ta.props.children, text);\n } else {\n text = text + ta\n }\n })\n\n return text;\n}\n\nconst getRenderedHtml = (html) => {\n let renderedText = '';\n\n if (!html === '' || html === '') return renderedText;\n\n const output = renderHTML(html);\n console.log({ output });\n\n const extractedOutput = output.length > 0 ? output[output.length - 1].props.children : output.props.children;\n console.log({ extractedOutput });\n\n return concatHTML(extractedOutput);\n};\n\nexport default function HelpSectionList({ searchQuery, sectionList }) {\n const classes = useStyles();\n const [expanded, setExpanded] = React.useState(\"\");\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n console.log(\"section list\", sectionList);\n\n useEffect(() => {\n if (sectionList.length !== 0) {\n setExpanded(sectionList[0].id)\n }\n }, [sectionList])\n\n const getRenderedHtml = (html) => {\n if (!html === '' || html === '') return '';\n \n const renderedHtml = renderHTML(html);\n console.log(\"render html value\", renderedHtml)\n return renderedHtml.props.children[0];\n };\n\n return (\n
\n {sectionList.map((section) => (\n \n \n \n {section.title}\n \n {expanded === section.id ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n {searchQuery ?\n \n :\n renderHTML(section.description)\n }\n \n \n \n\n \n \n ))}\n
\n );\n}\n","import Axios from \"axios\";\nimport { toast } from \"react-toastify\";\nimport sectionList from \"./Data/SectionList\";\n\nexport const getSectionList = () => (dispatch) => {\n // get section list get request\n dispatch({\n type: \"GET_SECTION_LIST\",\n payload: sectionList,\n });\n};\n\nexport const createSectionList = (section) => (dispatch) => {\n console.log(\"sectipm list\", section);\n};\n\n//posting contact support form\n\nexport const creatContactSupport = (supportData) => (dispatch) =>\n new Promise(function (resolve, reject) {\n const data = {\n first_name: supportData.firstName,\n last_name: supportData.lastName,\n email: supportData.email,\n mobile: supportData.mobileNumber,\n message: supportData.message\n }\n //axios call\n\n Axios.post('/contact-support', data)\n .then((response) => {\n toast.success(response.data.res_type)\n resolve(response)\n })\n .catch((error) => {\n reject(error)\n })\n\n })\n\n//responding customer contact support form\n\nexport const creatRespondSupport = (supportData, id) => (dispatch) =>\n new Promise(function (resolve, reject) {\n const data = {\n response: supportData.message\n }\n //axios call\n console.log(\"showing id\", id);\n\n Axios.put(`/contact-support/${id}`, data)\n .then((response) => {\n toast.success(response.data.res_type)\n resolve(response)\n })\n .catch((error) => {\n\n reject(error)\n })\n\n })\n\nexport const createArticle = (article) => (dispatch) =>\n new Promise(function (resolve, reject) {\n //create article post request\n //axios call will be made\n const data = {\n title: article.title,\n description: article.body,\n };\n\n // dispatch(getSectionList())\n if (article.section === \"faq\") {\n Axios.post(`/faqs`, data).then((response) => {\n toast.success(\"Faq has been added\")\n resolve(response);\n }).catch((error) => {\n toast.error(error.response.message)\n reject(error)\n })\n } else if (article.section === \"documentation\") {\n Axios.post(`/how-to-docs`, data).then((response) => {\n toast.success(\"How-to-documnetation article has been added\")\n resolve(response);\n }).catch((error) => {\n toast.error(error.response.message)\n reject(error)\n })\n } else if (article.section === \"videos\") {\n Axios.post(`/help-videos`, data).then((response) => {\n toast.success(\"Help video has been added\")\n resolve(response);\n }).catch((error) => {\n toast.error(error.response.message)\n reject(error)\n })\n }\n });\n\n//update article \n\nexport const updateArticle = (article) => (dispatch) =>\n new Promise(function (resolve, reject) {\n //create article post request\n //axios call will be made\n const data = {\n id: article.id,\n title: article.title,\n description: article.body,\n };\n\n // dispatch(getSectionList())\n if (article.section === \"faq\") {\n Axios.put(`/faqs/${article.id}`, data).then((response) => {\n toast.success(\"Faq list has been updated\")\n resolve(response);\n }).catch((error) => {\n toast.error(error.response.message)\n reject(error)\n })\n } else if (article.section === \"documentation\") {\n Axios.put(`/how-to-docs/${article.id}`, data).then((response) => {\n toast.success(\"How-to-documnetation article has been updated\")\n resolve(response);\n }).catch((error) => {\n toast.error(error.response.message)\n reject(error)\n })\n } else if (article.section === \"videos\") {\n Axios.put(`/help-videos/${article.id}`, data).then((response) => {\n toast.success(\"Help video list has been updated\")\n resolve(response);\n }).catch((error) => {\n toast.error(error.response.message)\n reject(error)\n })\n }\n });\n\n//search article \n\nexport const searchArticle = (query, page) => dispatch => {\n dispatch({\n type: \"GET_SEARCH_ARTICLE_LOADER_START\"\n })\n const data = {\n search: query,\n context: page\n }\n //axios call\n Axios.post(`/help-search`, data)\n .then((response) => {\n dispatch({\n type: \"GET_SEARCH_ARTICLE\",\n payload: response.data.data\n })\n })\n .catch((error) => {\n if (error) {\n toast.error(error.response.message)\n }\n })\n}\n\n//new action calls as help page features changes//\n\nexport const getFaqList = () => (dispatch) => {\n // fetch faq's list\n dispatch({\n type: \"GET_FAQ_LIST_LOADER_START\",\n });\n //axios call\n Axios.get('/faqs')\n .then((response) => {\n\n dispatch({\n type: \"GET_FAQ_LIST\",\n payload: response.data.data\n })\n }).catch((error) => {\n toast.error(error.response.message)\n })\n};\n\nexport const getHowToDocList = () => (dispatch) => {\n // fetch how to doc's list\n dispatch({\n type: \"GET_HOW_TO_DOC_LIST_LOADER_START\",\n });\n //axios call\n Axios.get('/how-to-docs')\n .then((response) => {\n\n dispatch({\n type: \"GET_HOW_TO_DOC_LIST\",\n payload: response.data.data\n })\n }).catch((error) => {\n toast.error(error.response.message)\n })\n};\n\nexport const getHelpVideoList = () => (dispatch) => {\n // fetch video's list\n dispatch({\n type: \"GET_VIDEO_LIST_LOADER_START\",\n });\n //axios call\n Axios.get('/help-videos')\n .then((response) => {\n\n dispatch({\n type: \"GET_VIDEO_LIST\",\n payload: response.data.data\n })\n }).catch((error) => {\n toast.error(error.response.message)\n })\n};\n\nexport const getContactSupportList = (dateRange) => (dispatch, getState) => {\n //fetch Support List\n const { customDateRangeRed } = getState().socialMediaProfileListReducer;\n const { startDate, endDate } = customDateRangeRed ? customDateRangeRed[0] : \"\";\n dispatch({\n type: \"GET_SUPPORT_LIST_LOADER_START\",\n });\n //axios call\n Axios.get(`/contact-support`, {\n params: {\n start_date: startDate,\n end_date: endDate\n }\n })\n .then((response) => {\n\n dispatch({\n type: \"GET_SUPPORT_LIST\",\n payload: response.data.data\n })\n }).catch((error) => {\n toast.error(error.response.message)\n })\n};\n\nexport const setSearchQuery = (query) => (dispatch) => {\n dispatch({\n type: \"SET_HELP_SEARCH_QUERY\",\n payload: query\n })\n}\n\nexport const clearSearchArticle = () => (dispatch) => {\n dispatch({\n type: \"CLEAR_SEARCH_ARTICLE\"\n })\n}","import React, { useEffect } from \"react\";\n\nimport {\n Grid,\n IconButton,\n InputLabel,\n makeStyles,\n withStyles,\n DialogTitle,\n DialogContent,\n DialogActions,\n Dialog,\n TextField,\n} from \"@material-ui/core\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n creatContactSupport,\n createSectionList,\n creatRespondSupport,\n getContactSupportList,\n} from \"../../store/actions/HelpPageAction\";\nimport Styles from \"../../Pages/Help/Styles\";\nimport MailOutlineIcon from \"@material-ui/icons/MailOutline\";\nimport { Container } from \"@material-ui/core\";\nimport { CustomButton } from \"../CustomButton/CustomButton\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport * as constant from \"../../utlis/constant\";\nimport Spinner from \"../../Components/Spinner\";\nimport ReplyIcon from \"@material-ui/icons/Reply\";\nimport { toast } from \"react-toastify\";\n\n//custom style\nconst useStyles = makeStyles((theme) => ({\n inputLabel: {\n color: \"#646970\",\n fontWeight: 400,\n letterSpacing: 0.5,\n fontSize: 14,\n },\n DialogFooter: {\n justifyContent: \"flex-start\",\n },\n}));\nconst useStyles1 = makeStyles((theme) => Styles(theme));\n/* styled component starts */\nconst StyledTextField = withStyles({\n root: {\n height: 35,\n \"& .MuiOutlinedInput-root\": {\n \"& input\": {\n zIndex: 9999,\n padding: \"10px 20px\",\n },\n \"& fieldset\": {\n borderRadius: 10,\n backgroundColor: (props) =>\n props.backgroundColor ? \"#fff\" : \"transparent\",\n },\n },\n },\n})(TextField);\n\nconst StyledDialog = withStyles({\n paper: {\n padding: (props) => (props.xs ? 20 : \"37px 25px\"),\n height: (props) => (props.customersuportform ? \"75vh\" : \"100vh\"),\n margin: 0,\n borderRadius: 19,\n },\n})(Dialog);\n\nconst StyledDialogTitle = withStyles({\n root: {\n padding: 0,\n marginBottom: 15,\n\n color: \"rgb(251, 226, 129)\",\n \"& .MuiTypography-root\": {\n fontSize: 32,\n fontWeight: 600,\n },\n },\n})(DialogTitle);\n\nexport default function AddModalForm({ customerSupportForm, data, dateRange }) {\n const dispatch = useDispatch();\n const classes = useStyles();\n const classes1 = useStyles1();\n const [open, setOpen] = React.useState(false);\n const [formLoader, setFormLoader] = React.useState(false);\n const [errors, setErrors] = React.useState({});\n const [supportForm, setSupportForm] = React.useState({\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n mobileNumber: \"\",\n message: \"\",\n });\n\n const { user } = useSelector((state) => state.auth);\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n setFormLoader(false);\n setErrors({});\n setSupportForm((prevProps) => ({\n ...prevProps,\n message: \"\",\n }));\n };\n\n const handleChange = (event) => {\n setSupportForm((prevState) => ({\n ...prevState,\n [event.target.name]: event.target.value,\n }));\n };\n\n const addSection = async (event) => {\n const specialCharacters = /[ `!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~]/;\n event.preventDefault();\n\n let formErrors = {};\n\n // Check for empty value\n\n if (!customerSupportForm && !supportForm.firstName) {\n formErrors.firstName = \"First Name is Required\";\n }\n if (!customerSupportForm && !supportForm.lastName) {\n formErrors.lastName = \"Last Name is Required\";\n }\n if (customerSupportForm && !supportForm.email) {\n formErrors.email = \"Email is Required\";\n }\n if (typeof supportForm.email !== \"undefined\") {\n //regular expression for email validation\n var pattern = new RegExp(constant.EMAIL_PATTERN);\n if (!pattern.test(supportForm.email)) {\n formErrors.email = \"Please enter valid email-ID.\";\n }\n }\n if (!customerSupportForm && !supportForm.mobileNumber) {\n formErrors.mobileNumber = \"Mobile number is Required\";\n }\n /* checking if the fields contains only number */\n if (!customerSupportForm && isNaN(supportForm.mobileNumber)) {\n formErrors.phoneNumber = \"Mobile Number must be a valid \";\n }\n if (specialCharacters.test(supportForm.mobileNumber)) {\n formErrors.mobileNumber =\n \"Mobile Number cannot contain any special characters.\";\n }\n if (customerSupportForm && !supportForm.message) {\n formErrors.message = \"Message is Required\";\n }\n\n setErrors(formErrors);\n\n if (Object.keys(formErrors).length === 0 && !customerSupportForm) {\n setFormLoader(true);\n try {\n const response = await dispatch(creatContactSupport(supportForm));\n if (response.data.status_code === 200) {\n setFormLoader(false);\n setErrors({});\n setSupportForm((prevProps) => ({\n ...prevProps,\n message: \"\",\n }));\n setOpen(false);\n }\n } catch (error) {\n if (error) {\n toast.error(error.response.data.message);\n setFormLoader(false);\n setOpen(false);\n }\n }\n } else if (Object.keys(formErrors).length === 0 && customerSupportForm) {\n setFormLoader(true);\n try {\n const response = await dispatch(\n creatRespondSupport(supportForm, data.id)\n );\n if (response.data.status_code === 200) {\n setFormLoader(false);\n setErrors({});\n setSupportForm({\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n mobileNumber: \"\",\n message: \"\",\n });\n setOpen(false);\n dispatch(getContactSupportList());\n }\n } catch (error) {\n if (error) {\n toast.error(error.response.data.message);\n setFormLoader(false);\n setOpen(false);\n }\n }\n }\n };\n\n useEffect(() => {\n if (user && user.role === \"customer-admin\") {\n setSupportForm({\n firstName: user.first_name,\n lastName: user.last_name,\n email: user.email,\n mobileNumber: user.contact_number,\n });\n }\n }, [user]);\n\n useEffect(() => {\n if (data && customerSupportForm) {\n setSupportForm({\n email: data.email,\n });\n }\n }, [data, customerSupportForm]);\n console.log(\"shwo data\", data);\n return (\n
\n {customerSupportForm ? (\n \n \n \n ) : (\n
\n
\n \n \n
\n\n

Contact Support

\n
\n
\n )}\n\n \n
\n \n {\" \"}\n {customerSupportForm ? \"Respond\" : \"Support\"}{\" \"}\n \n \n \n \n
\n \n \n \n {!customerSupportForm && (\n \n \n {\" \"}\n First Name *{\" \"}\n \n \n \n )}\n {!customerSupportForm && (\n \n \n {\" \"}\n Last Name *{\" \"}\n \n \n \n )}\n\n \n \n Email *{\" \"}\n \n \n \n {!customerSupportForm && (\n \n \n {\" \"}\n Mobile Number *{\" \"}\n \n \n \n )}\n \n \n {\" \"}\n Message *{\" \"}\n \n \n \n \n \n \n \n {/* */}\n \n {formLoader && }Send\n \n \n \n \n );\n}\n","export default (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n formContainer: {\n padding: \"55px 30px\",\n background: \"#fff\",\n height: \"100%\",\n minHeight: \"calc(100vh - 65px)\",\n },\n sidebar: {\n display: \"flex\",\n padding: \"30px 20px\",\n flexDirection: \"column\",\n },\n asideTop: {\n padding: \"12px\",\n },\n asideBottom: {\n overflowY: \"auto\",\n },\n\n userType: {\n color: \"#f8c144\",\n fontSize: 24,\n },\n userContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n // marginTop: theme.mixins.toolbar.minHeight,\n margin: \"18px 0\",\n },\n\n iconTextContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n backIcon: {\n marginLeft: 8,\n color: \"#33918A\",\n fontWeight: 600,\n },\n navTextStyle: {\n textTransform: \"none\",\n marginLeft: 8,\n fontSize: 12,\n },\n // iconButtonContainer: {\n // borderColor: \"#323132\",\n // },\n\n userItem: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"spaceBetween\",\n borderRadius: \"5px\",\n },\n\n \"@keyframes rotate\": {\n \"0%\": {\n transform: \"rotate(0deg)\",\n },\n \"100%\": {\n transform: \"rotate(-360deg)\",\n },\n },\n\n loadBtn: {\n color: \"#323132\",\n margin: \"auto\",\n\n // '&:hover': {\n // cursor: 'pointer',\n // backgroundColor: theme.palette.grey[100],\n // \"& $loadBtnIcon\": {\n // color: \"purple\"\n // }\n // },\n \"&:hover\": {\n \"& $loadBtnIcon\": {\n animation: \"$rotate .5s ease-in-out\",\n },\n },\n },\n\n loadBtnIcon: {\n display: \"block\",\n },\n\n alertIcon: {\n fontSize: \"5rem\",\n color: \"#f50057\",\n paddingBottom: 0,\n },\n helpList: {\n borderRadius: 15,\n height: 95,\n border: \"1px solid #bdbdbd\",\n display: \"flex\",\n padding: 20,\n alignItems: \"center\",\n cursor: \"pointer\",\n transition: \"0.5s ease-in-out\",\n \"&:hover\":{\n backgroundColor: \"#FFF8DE \",\n padding: \"20px 20px 20px 30px\",\n },\n \n \"& p\": {\n fontSize: 20,\n fontWeight: 600,\n color: \"#323132\",\n marginLeft: 15,\n },\n },\n helpIconList: {\n width: 55,\n height: 55,\n borderRadius: 15,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n \n },\n imgError: {\n color: \" #f44336\",\n fontSize: \"0.75rem\",\n marginLeft: \"15px\",\n marginTop: \"5px\",\n },\n articleCard: {\n display: \"flex\",\n justifyContent: \"space-between\",\n boxShadow: \"unset\",\n width: \"100%\",\n \"&:hover\": {\n boxShadow: \"0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\"\n },\n \n \"& .MuiCardContent-root:last-child\": {\n paddingBottom: 16\n }\n }\n});\n","import { Container, Grid, Typography, withStyles, TextField, InputAdornment } from '@material-ui/core'\nimport React from 'react'\nimport * as constant from \"../../utlis/constant\";\nimport SearchIcon from \"@material-ui/icons/Search\";\n\n/* styled component starts */\nconst StyledTextField = withStyles({\n root: {\n color: \"#000\",\n marginTop: constant.SUPER_ADMIN_NAME ? 0 : 20,\n marginBottom: constant.SUPER_ADMIN_NAME ? 0 : 20,\n width: constant.SUPER_ADMIN_NAME ? \"100%\" : 520,\n height: 65,\n \"& .MuiOutlinedInput-root\": {\n \"& input\": {\n zIndex: 999,\n },\n \"& fieldset\": {\n borderRadius: 12,\n backgroundColor: (props) =>\n props.backgroundcolor ? \"#fff\" : \"transparent\",\n },\n },\n },\n})(TextField);\n\nexport const HelpPageBannerSection = ({ searchQuery, handleKeyPress, handleSearch }) => {\n\n return (\n \n \n \n \n
\n \n How can we help you?\n \n \n Find more solutions on help\n \n event.key === \"Enter\" && event.target.value !== \"\" && handleKeyPress ? handleKeyPress(event) : null}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n
\n
\n
\n
\n
\n )\n}\n","import {\n Grid,\n makeStyles,\n TextField,\n Typography,\n withStyles,\n InputAdornment,\n Avatar,\n ListItem,\n List,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Divider,\n FormControl,\n Select,\n MenuItem,\n Card,\n CardActions,\n} from \"@material-ui/core\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport Layout from \"../../Components/Layout\";\nimport styles from \"./Styles\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport HelpSectionList from \"../../Components/HelpSectionList/HelpSectionList\";\nimport PersonAddIcon from \"@material-ui/icons/PersonAdd\";\nimport * as constant from \"../../utlis/constant\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Sidebar from \"../../Components/Sidebar\";\nimport Buttons from \"../../Components/Buttons/Buttons\";\nimport CkEditor from \"../../Components/CkEditor/CkEditor\";\nimport {\n createArticle,\n getFaqList,\n getHelpVideoList,\n getHowToDocList,\n getSectionList,\n updateArticle,\n setSearchQuery,\n clearSearchArticle\n} from \"../../store/actions/HelpPageAction\";\nimport JoditEditor from \"jodit-react\";\nimport AddModalForm from \"../../Components/AddModalForm/AddModalForm\";\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\nimport CreateIcon from \"@material-ui/icons/Create\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\nimport ExpandLessIcon from \"@material-ui/icons/ExpandLess\";\nimport { Container } from \"@material-ui/core\";\nimport HelpIcon from \"@material-ui/icons/Help\";\nimport Spinner from \"../../Components/Spinner\";\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport MailOutlineIcon from \"@material-ui/icons/MailOutline\";\nimport YouTubeIcon from \"@material-ui/icons/YouTube\";\nimport { HelpPageArticle } from \"../../Components/HelpPageArticle/HelpPageArticle\";\nimport { withRouter } from \"react-router-dom\";\nimport { HelpPageBannerSection } from \"../../Components/HelpPageBannerSection/HelpPageBannerSection\";\nimport renderHTML from \"react-render-html\";\nimport { CardContent } from \"@material-ui/core\";\n\n/* styled component starts */\nconst StyledTextField = withStyles({\n root: {\n color: \"#000\",\n marginTop: constant.SUPER_ADMIN_NAME ? 0 : 20,\n marginBottom: constant.SUPER_ADMIN_NAME ? 0 : 20,\n width: constant.SUPER_ADMIN_NAME ? \"100%\" : 520,\n height: 65,\n \"& .MuiOutlinedInput-root\": {\n \"& input\": {\n zIndex: 9999,\n },\n \"& fieldset\": {\n borderRadius: 12,\n backgroundColor: (props) =>\n props.backgroundColor ? \"#fff\" : \"transparent\",\n },\n },\n },\n})(TextField);\n\nconst StyledTextFieldForm = withStyles({\n root: {\n width: \"100%\",\n borderRadius: 15,\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderRadius: 12,\n },\n },\n },\n})(TextField);\n\nconst StyledAccordion = withStyles({\n root: {\n width: \"100%\",\n },\n})(Accordion);\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst Help = ({ history }) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const editor = useRef(null);\n const [content, setContent] = useState(\"\");\n const [article, setArticle] = useState({\n section: \"\",\n title: \"\",\n body: \"\",\n });\n const [editInfo, setEditInfo] = useState({});\n const [expanded, setExpanded] = useState(false);\n const [formLoader, setFormLoader] = useState(false);\n const [errors, setErrors] = React.useState({});\n const { user } = useSelector((state) => state.auth);\n const {\n sectionList,\n faqList,\n faqListLoader,\n howToDocList,\n howToDocListLoader,\n videoList,\n videoListLoader,\n searchQuery\n } = useSelector((state) => state.helpReducer);\n\n useEffect(() => {\n dispatch(setSearchQuery(''))\n }, [])\n\n const handleSearch = (event) => {\n if (event.target.value === '') {\n dispatch(clearSearchArticle())\n }\n // searching articles section\n dispatch(setSearchQuery(event.target.value))\n };\n\n const handleChange = (event) => {\n setArticle((prevState) => ({\n ...prevState,\n [event.target.name]: event.target.value,\n }));\n };\n\n const getArticles = (article) => {\n // geting article details from child compoenent\n console.log(\"article from parent compoent\", article);\n setArticle((prevState) => ({\n ...prevState,\n body: article,\n }));\n };\n\n const submitArticle = async () => {\n // on submitting articles\n\n let formErrors = {};\n\n // Check for empty value\n\n if (!article.section) {\n formErrors.section = \"Field is required\";\n }\n\n if (!article.title) {\n formErrors.title = \"Title is required\";\n }\n if (!article.title) {\n formErrors.body = \"Field is required\";\n }\n setErrors(formErrors);\n\n console.log(\"submiting\");\n if (Object.keys(formErrors).length === 0) {\n setFormLoader(true);\n if (Object.keys(editInfo).length === 0) {\n try {\n const response = await dispatch(createArticle(article));\n if (response.data.status_code === 200) {\n setFormLoader(false);\n setErrors({});\n setArticle({\n section: \"\",\n title: \"\",\n body: \"\",\n });\n }\n } catch (error) {\n if (error) {\n setFormLoader(false);\n }\n }\n } else {\n try {\n const response = await dispatch(updateArticle({\n ...article,\n id: editInfo.id,\n }));\n if (response.data.status_code === 200) {\n setFormLoader(false);\n setErrors({});\n setArticle({\n section: \"\",\n title: \"\",\n body: \"\",\n });\n setEditInfo({})\n }\n\n } catch (error) {\n if (error) {\n setFormLoader(false);\n }\n }\n }\n }\n\n };\n\n useEffect(() => {\n //get articles list\n setErrors({})\n setEditInfo({})\n setArticle((prevState) => ({\n ...prevState,\n title: \"\",\n body: \"\"\n }))\n if (user && user.role === constant.SUPER_ADMIN_NAME) {\n if (article.section === \"faq\") {\n dispatch(getFaqList());\n }\n if (article.section === \"documentation\") {\n dispatch(getHowToDocList());\n }\n\n if (article.section === \"videos\") {\n dispatch(getHelpVideoList());\n }\n }\n }, [article.section]);\n\n const accordionChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const config = {\n readonly: false, // all options from https://xdsoft.net/jodit/doc/\n toolbarButtonSize: \"big\",\n uploader: { insertImageAsBase64URI: true },\n };\n\n useEffect(() => {\n if (editInfo !== {}) {\n setArticle((prevState) => ({\n ...prevState,\n title: editInfo.title,\n body: editInfo.description,\n }));\n }\n console.log(\"after editiin clicking\", article);\n }, [editInfo]);\n\n const handleCancel = () => {\n // reseting form\n setArticle({\n section: \"\",\n title: \"\",\n body: \"\",\n });\n setEditInfo({});\n };\n console.log(\"editi info\", editInfo);\n console.log(\"article value\", article);\n const menuProps = {\n borderRadius: \"12px\",\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\",\n borderRadius: 12,\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\",\n },\n getContentAnchorEl: null,\n };\n\n console.log({ searchQuery })\n\n return (\n \n \n {user && user.role !== constant.SUPER_ADMIN_NAME ? (\n \n history.push('/help/faq')} handleSearch={handleSearch} />\n \n {/* */}\n \n \n history.push(\"/help/faq\")}\n >\n
\n \n \n
\n

FAQs

\n \n \n
\n \n history.push(\"/help/how-to-document\")}\n >\n
\n \n \n
\n

How to Documents?

\n \n \n
\n \n \n \n \n history.push(\"/help/videos\")}\n >\n
\n \n \n
\n

Help videos

\n \n \n
\n
\n
\n \n ) : (\n
\n \n \n \n
\n
\n \n Help Center\n \n {/* */}\n
\n \n \n \n ),\n }}\n />\n
\n \n {article && article.section === \"faq\" ? (\n faqListLoader ? (\n \n ) : faqList ? (\n faqList.map((item, index) => (\n \n \n \n {item.title} \n \n \n setEditInfo(item)} />\n \n \n \n ))\n ) : (\n \"\"\n )\n ) : article.section === \"documentation\" ? (\n howToDocListLoader ? (\n \n ) : howToDocList ? (\n howToDocList.map((item, index) => (\n \n \n \n {item.title} \n \n \n setEditInfo(item)} />\n \n \n \n ))\n ) : (\n \"\"\n )\n ) : (\n article.section === \"videos\" ? videoListLoader ? : videoList ?\n\n videoList.map((item, index) => (\n \n \n \n {item.title} \n \n \n setEditInfo(item)} />\n \n \n \n ))\n : \"\" : \"\"\n )}\n\n \n {/* getCustomersLoading &&
*/}\n
\n
\n
\n
\n \n {Object.keys(editInfo).length === 0 ? (\n \n New Article\n \n ) : (\n \n \n Update Article\n \n \n Delete Article\n \n {/* \n }\n title=\"Are you sure?\"\n confirmBtn=\"DELETE\"\n description=\"You're about to Delete the profile. This process cannot be undone.\"\n open={deleteAlertOpen}\n setOpen={setDeleteAlertOpen}\n onConfirm={handleDelete}\n /> */}\n
\n )}\n\n
\n {\" \"}\n \n \n \n \n \n Choose section\n \n\n FAQ\n \n Documentation\n \n Video\n \n {/* {errors.role ? \n User Role is Required\n : ''\n } */}\n \n \n \n \n \n \n \n setArticle((prevState) => ({\n ...prevState,\n body: newContent,\n }))\n } // preferred to use only this option to update the content for performance reasons\n onChange={(newContent) => { }}\n />\n \n {\" \"}\n {errors && errors.body}{\" \"}\n \n \n \n {Object.keys(editInfo).length !== 0 && (\n \n Cancel\n \n )}\n \n {formLoader && }\n {Object.keys(editInfo).length === 0\n ? \"Save\"\n : \"Update\"}{\" \"}\n \n \n \n
\n
\n \n \n )}\n \n
\n );\n};\nexport default withRouter(Help);\n","import React from 'react';\nimport { Container, Grid, makeStyles, Typography } from '@material-ui/core';\nimport Styles from './Styles';\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst PrivacyPolicy = () => {\n const classes = useStyles();\n\n return (\n \n \n \n \n Privacy Policy\n \n \n \n \n \n At RavenXAI, we value the privacy of our users. This privacy\n policy outlines how we collect, use, and protect your information\n when you use our website and services.\n \n \n
  • Information We Collect
  • \n We collect the following types of information when you use\n RavenXAI:\n
      \n
    • Personal Information
    • \n When you create an account, we collect personal details such as\n your name, email address, and password.\n
    • Social Media Data
    • \n By connecting your Facebook and Instagram pages, we collect\n basic information from these platforms, including:\n
        \n
      • Page details (page name, page ID, followers, etc.)
      • \n
      • \n Post and engagement metrics (likes, comments, shares, etc.)\n
      • \n
      • \n Competitor page information if you add them for monitoring\n purposes\n
      • \n
      \n
    • Usage Data
    • \n We collect information about how you interact with our platform,\n including:\n
        \n
      • Pages viewed
      • \n
      • Engagement with content (analytics, etc.)
      • \n
      • \n Device information (IP address, browser type, operating\n system)\n
      • \n
      \n
    \n
  • \n How We Use Your Information\n
  • \n The data we collect is used to:\n
      \n
    • Provide access to our platform and its features
    • \n
    • \n Generate and display social media analytics and competitor\n data\n
    • \n
    • Improve our website's functionality and user experience
    • \n
    • Respond to customer service inquiries
    • \n
    • \n Send occasional updates and notifications relevant to your\n account\n
    • \n
    \n We will never sell your personal information to third parties.\n
  • \n Data Sharing\n
  • \n

    \n We may share your data with trusted third-party service\n providers necessary to operate RavenXAI (e.g., cloud storage\n providers). These third parties are obligated to maintain the\n confidentiality of your information and use it only for\n providing the services we require. We may also share data if\n required by law, to protect our legal rights, or in the event of\n a merger or acquisition.\n

    \n
  • \n Data Security\n
  • \n

    \n We take the security of your data seriously. We implement\n various measures to protect your personal information from\n unauthorized access, including encryption, secure servers, and\n regular security audits. However, no method of transmission over\n the internet is 100% secure, and we cannot guarantee absolute\n security.\n

    \n
  • \n Cookies and Tracking Technologies\n
  • \n

    \n {' '}\n We use cookies and similar tracking technologies to collect\n usage data and enhance your experience on our website. You can\n control cookie settings through your browser, but disabling\n cookies may affect your ability to use certain features of the\n platform.\n

    \n
  • \n User Rights\n
  • \n You have the following rights regarding your personal data:\n
      \n
    • \n Access: You can request access to the data we\n hold about you.\n
    • \n
    • \n Correction: You can update or correct your\n personal information at any time.\n
    • \n
    • \n Deletion: You can request that we delete your\n account and personal data from our systems.\n
    • \n
    • \n Opt-Out: You can opt-out of marketing\n communications by following the unsubscribe instructions in\n emails.\n
    • \n
    \n To exercise these rights, please contact us at{' '}\n [info@ravenxai.com].\n
  • \n Third-Party Links\n
  • \n

    \n Our platform may contain links to third-party websites (such as\n Facebook and Instagram). We are not responsible for the privacy\n practices or content of these third-party sites. We encourage\n you to review their privacy policies.\n

    \n
  • \n Children's Privacy\n
  • \n

    \n RavenXAI is not intended for use by individuals under the age of\n 13, and we do not knowingly collect personal information from\n children. If you believe we have inadvertently collected such\n information, please contact us immediately, and we will take\n appropriate action.\n

    \n
  • \n Changes to This Privacy Policy\n
  • \n

    \n We reserve the right to update this privacy policy from time to\n time. Any changes will be posted on this page with an updated\n effective date. We encourage you to review this policy\n periodically.\n

    \n
  • \n Contact Us\n
  • \n If you have any questions or concerns about this privacy policy,\n please contact us at:\n
    \n RavenXAI
    \n Email: info@ravenxai.com
    \n Address: Sydney, Australia\n \n \n
    \n
    \n \n );\n};\n\nexport default PrivacyPolicy;\n","export default (theme) => ({\n row: {\n marginTop: '65px',\n minHeight: 'calc(100vh - 65px)',\n flexDirection: 'column',\n },\n\n orderedList: {\n margin: '20px',\n },\n});\n","import { Container, Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { HelpPageBannerSection } from \"../../Components/HelpPageBannerSection/HelpPageBannerSection\";\nimport Layout from \"../../Components/Layout/index\";\nimport Styles from \"./Styles\";\nimport KeyboardBackspaceIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { Typography } from \"@material-ui/core\";\nimport { withRouter } from \"react-router-dom\";\nimport HelpSectionList from \"../../Components/HelpSectionList/HelpSectionList\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getFaqList, searchArticle, setSearchQuery, clearSearchArticle } from \"../../store/actions/HelpPageAction\";\nimport Spinner from \"../../Components/Spinner\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst HelpPageFaq = ({ history }) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const { faqList, faqListLoader, searchArticlesLoader, searchArticles, searchQuery } =\n useSelector((state) => state.helpReducer);\n\n //destructuring search articles list\n const { faqs } = searchArticles ? searchArticles : [];\n\n useEffect(() => {\n if (searchQuery !== '') {\n dispatch(searchArticle(searchQuery, \"faqs\"));\n } else {\n dispatch(getFaqList());\n }\n\n }, []);\n\n\n //using debounce to hit the api after user has stopped typing\n let debounceTimer = useRef();\n const debounce = (func, timeout = 500) => {\n if (debounceTimer.current) {\n clearTimeout(debounceTimer.current)\n }\n debounceTimer.current = setTimeout(func, timeout)\n }\n\n const handleSearch = (event) => {\n if (event.target.value === '') {\n dispatch(clearSearchArticle())\n }\n // searching articles section\n dispatch(setSearchQuery(event.target.value))\n debounce(() => dispatch(searchArticle(event.target.value, \"faqs\")))\n };\n\n return (\n \n \n \n \n \n history.push(\"/help\")}\n >\n \n \n Go Back\n \n \n \n \n \n Faq\n \n \n Frequently Asked Questions\n \n \n {searchQuery && searchQuery !== \" \" && searchArticlesLoader ? (\n \n ) : searchQuery &&\n searchQuery !== \"\" &&\n faqs &&\n faqs.length === 0 ? (\n \n No result found\n \n ) : (\n searchQuery && searchQuery !== \"\" && faqs && \n )}\n\n {faqListLoader ? :\n faqList && !faqs ?\n <>\n \n \n : null\n }\n \n \n \n \n );\n};\nexport default withRouter(HelpPageFaq);\n","import { Container, Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { HelpPageBannerSection } from \"../../Components/HelpPageBannerSection/HelpPageBannerSection\";\nimport Layout from \"../../Components/Layout/index\";\nimport Styles from \"./Styles\";\nimport KeyboardBackspaceIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { Typography } from \"@material-ui/core\";\nimport { withRouter } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n getHowToDocList,\n searchArticle,\n} from \"../../store/actions/HelpPageAction\";\nimport renderHTML from \"react-render-html\";\nimport Spinner from \"../../Components/Spinner\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst HelpPageDoucment = ({ history }) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const [searchValue, setSearchValue] = useState(\"\");\n const {\n howToDocList,\n howToDocListLoader,\n searchArticlesLoader,\n searchArticles,\n } = useSelector((state) => state.helpReducer);\n\n //destructuring search articles list\n const { howToDocs } = searchArticles ? searchArticles : [];\n\n useEffect(() => {\n dispatch(getHowToDocList());\n }, []);\n\n const handleSearch = (event) => {\n setSearchValue(event.target.value);\n dispatch(searchArticle(event.target.value, \"how-to-docs\"));\n };\n\n return (\n \n \n \n \n \n history.push(\"/help\")}\n >\n \n \n Go Back\n \n \n \n {searchValue && searchValue !== \"\" && searchArticlesLoader ? (\n \n ) : searchValue &&\n searchValue !== \"\" &&\n howToDocs &&\n howToDocs.length === 0 ? (\n No result found\n ) : (\n searchValue && searchValue !== \"\" && howToDocs && howToDocs.map((data) => {\n return renderHTML(data.description);\n })\n )}\n {\n searchValue === \"\" && howToDocListLoader ? : searchValue === \"\" && howToDocList && howToDocList.map(data => {\n return renderHTML(data.description) \n } )\n }\n \n \n \n \n );\n};\n\nexport default withRouter(HelpPageDoucment);\n","import { Container, Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { HelpPageBannerSection } from \"../../Components/HelpPageBannerSection/HelpPageBannerSection\";\nimport Layout from \"../../Components/Layout/index\";\nimport Styles from \"./Styles\";\nimport KeyboardBackspaceIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { Typography } from \"@material-ui/core\";\nimport { withRouter } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n getHelpVideoList,\n searchArticle,\n} from \"../../store/actions/HelpPageAction\";\nimport renderHTML from \"react-render-html\";\nimport Spinner from \"../../Components/Spinner\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst HelpPageVideo = ({ history }) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const [searchValue, setSearchValue] = useState(\"\");\n const { videoList, videoListLoader, searchArticlesLoader, searchArticles } =\n useSelector((state) => state.helpReducer);\n //destructuring search articles list\n const { helpVideos } = searchArticles ? searchArticles : [];\n\n useEffect(() => {\n dispatch(getHelpVideoList());\n }, []);\n\n const handleSearch = (event) => {\n setSearchValue(event.target.value);\n dispatch(searchArticle(event.target.value, \"help-video\"));\n };\n\n return (\n \n \n \n \n \n history.push(\"/help\")}\n >\n \n \n Go Back\n \n \n \n {searchValue && searchValue !== \"\" && searchArticlesLoader ? (\n \n ) : searchValue &&\n searchValue !== \"\" &&\n helpVideos &&\n helpVideos.length === 0 ? (\n \n No result found\n \n ) : (\n searchValue &&\n searchValue !== \"\" &&\n helpVideos &&\n helpVideos.map((data) => {\n return renderHTML(data.description);\n })\n )}\n {searchValue === \"\" && videoListLoader ? (\n \n ) : (\n searchValue === \"\" &&\n videoList &&\n videoList.map((data) => {\n return renderHTML(data.description);\n })\n )}\n \n \n \n \n );\n};\n\nexport default withRouter(HelpPageVideo);\n","import {\n Card,\n CardActionArea,\n CardContent,\n Typography,\n Avatar,\n CardActions,\n makeStyles,\n Button, \n Chip,\n withStyles,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport AddModalForm from \"../AddModalForm/AddModalForm\";\nimport CheckIcon from '@material-ui/icons/Check';\n\n\n/* styled component starts */\nconst StyledChip = withStyles({\n root: {\n backgroundColor: (props) => props.ans ? \"transparent\" : \"#fff8de\",\n border: \"1px solid #E0E0E0\",\n alignSelf: \"center\"\n },\n label: {\n fontSize: 14,\n color: (props) => props.ans ? \"#4caf50\" : \"#323132\",\n fontWeight: (props) => props.bold ? 600 : \"normal\"\n }\n})(Chip);\n\nconst useStyles = makeStyles({\n root: {\n display: \"flex\",\n boxShadow: \"none\",\n border: '1px solid #bdbdbd',\n borderRadius: 14,\n \"& .MuiCardActionArea-root\": {\n display: \"flex\",\n justifyContent: \"flex-start\",\n padding: \"16px 0px\",\n transition: \"0.5s ease-in-out\",\n \"&:hover\": {\n backgroundColor: \"#fff\",\n cursor: \"auto\"\n // padding: \"16px 16px 16px 20px\"\n },\n \"& .MuiCardContent-root\": {\n height: \"100%\",\n flexGrow: 1\n\n },\n \n },\n \"& .MuiTypography-root\": {\n color: \"#323132\",\n fontSize: 14,\n }\n },\n cardMedia: {\n padding: \"10px 0px 10px 10px\",\n display: \"flex\",\n flexDirection: \"column\",\n width: 100,\n \"& .MuiAvatar-root \": {\n margin: \"0 auto\",\n height: 75,\n width: 75\n },\n \"& .MuiTypography-root\": {\n whiteSpace: \"break-spaces\",\n textAlign: \"center\",\n \n fontWeight: 600\n }\n\n },\n cardHeader: {\n display: \"flex\",\n marginBottom: 30,\n alignItems: \"center\",\n \"& .MuiTypography-root\": {\n marginRight: 30,\n \"& span\": {\n marginLeft: 10\n }\n },\n \n },\n cardAction: {\n padding: 40,\n \"& .MuiSvgIcon-root\":{\n cursor: \"pointer\"\n }\n \n }\n});\n\nexport const CustomerSupportCard = ({data}) => {\n const classes = useStyles();\n return (\n \n \n
    \n \n {data.first_name} {data.last_name} \n
    \n \n
    \n Posted on: {data.created_at} \n \n {data.answered && }\n
    \n
    \n \n {data.message}\n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n );\n};\n","import { Container, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { CustomerSupportCard } from \"../../../Components/CustomerSupportCard/CustomerSupportCard\";\nimport Layout from \"../../../Components/Layout\";\nimport Styles from \"./Styles\";\nimport FilterDays from \"../../../Components/FilterDays\";\nimport { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getContactSupportList } from \"../../../store/actions/HelpPageAction\";\nimport Spinner from \"../../../Components/Spinner\";\nimport renderHTML from 'react-render-html';\n\nconst useStyles = makeStyles((theme) => Styles(theme));\nexport const ContactSupport = () => {\n const classes = useStyles();\n const dispatch = useDispatch();\n\n\n const { contactSupportListLoader, contactSupportList } = useSelector(\n (state) => state.helpReducer\n );\n const { customDateRangeRed } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n\n\n useEffect(() => {\n if(customDateRangeRed) {\n dispatch(getContactSupportList(customDateRangeRed));\n }\n }, [customDateRangeRed]);\n\n\n return (\n \n \n \n {/* */}\n \n \n \n Customer Support\n \n \n \n \n \n \n Date-Range:\n \n \n {\" \"}\n {`${new Date(\n customDateRangeRed[0].startDate\n ).toDateString()} to ${new Date(\n customDateRangeRed[0].endDate\n ).toDateString()} `}{\" \"}\n \n \n \n {contactSupportListLoader ? (\n \n ) : contactSupportList && contactSupportList.length === 0 ? (\n \n {\" \"}\n \n No result found\n \n \n \n ) : (\n contactSupportList &&\n contactSupportList.map((data) => (\n \n \n \n ))\n )}\n \n \n \n \n \n );\n};\n","export default (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n\n });\n ","import { makeStyles, Typography } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport Spinner from \"../../../Components/Spinner\";\nimport { CustomButton } from \"../../../Components/CustomButton/CustomButton\";\nimport Moment from \"moment-timezone\";\nimport fbIcon from \"../../../assets/images/facebook.png\";\nimport instaBg from \"../../../assets/images/instabg.png\";\n\nimport {\n getUserLoginActivity,\n getMoreUserLoginActivity,\n} from \"../../../store/actions/UserActivityAction\";\n\nconst useStyles = makeStyles((theme) => ({\n divTabelContent: {\n display: \"flex\",\n width: \"100%\",\n position: \"relative\",\n },\n table1: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 500,\n overflow: \"auto\",\n \"& .table-1-table-data\": {\n minHeight: 65,\n display: \"flex\",\n alignItems: \"center\",\n },\n },\n table2: {\n flexGrow: 2,\n overflowX: \"auto\",\n scrollBehavior: \"smooth\",\n \"& .table-2-table-header-data\": {\n display: \"flex\",\n justifyContent: \"center\",\n },\n\n \"& .table-2-table-data\": {\n padding: 24,\n fontSize: 14,\n paddingLeft: 14,\n display: \"flex\",\n justifyContent: \"center\",\n // minHeight: 65.5\n },\n },\n table3: {\n flexGrow: 3,\n borderLeft: \"1px solid #bdbdbd\",\n position: \"relative\",\n \"& .table-3-table-data\": {\n padding: 22,\n justifyContent: \"center\",\n // minHeight: 66.5\n },\n \"& .MuiButtonBase-root\": {\n padding: 0,\n },\n },\n tableHeader: {\n \"& div\": {\n backgroundColor: \"#F5F5F5\",\n fontWeight: 600,\n fontSize: 14,\n textTransform: \"capitalize\",\n cursor: \"pointer\",\n \"& :hover\": {\n \"& .arrowComponent\": {\n display: \"block\",\n },\n },\n\n \"& .arrowComponent\": {\n display: \"none\",\n },\n \"& .table-3-table-data\": {\n alignItems: \"center\",\n },\n },\n },\n tableBody: {},\n tableRow: {\n display: \"flex\",\n minHeight: 70,\n },\n tableData: {\n minWidth: 250,\n padding: 12,\n width: \"100%\",\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 14,\n wordBreak: \"break-all\",\n },\n tableCheckbox: {\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: 16,\n\n \"& .MuiCheckbox-colorSecondary.Mui-checked\": {\n color: \"#0B6670\",\n },\n },\n arrow: {\n fontSize: 22,\n color: \"#bdbdbd\",\n },\n headerTextStyle: {\n margin: 0,\n whiteSpace: \"break-spaces\",\n textAlign: \"center\",\n },\n link: {\n color: \"initial\",\n textDecoration: \"none\",\n },\n}));\n\nconst UserLoginActivityTable = ({ selectedSubdomain }) => {\n const dispatch = useDispatch();\n\n const { customDateRangeRed } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n const { userLoginActivity } = useSelector(\n (state) => state.userActivityReducer\n );\n\n const [page, setPage] = useState(1);\n\n const getDateFilter = () =>\n `start_date=${customDateRangeRed[0].startDate}&end_date=${customDateRangeRed[0].endDate}`;\n\n useEffect(() => {\n let filter = getDateFilter();\n if (selectedSubdomain.length > 0) {\n filter = `${filter}&subdomain_id=${selectedSubdomain[0]}`;\n }\n\n dispatch(getUserLoginActivity(filter), page);\n }, [customDateRangeRed, selectedSubdomain]);\n\n useEffect(() => {\n console.log({ page });\n if (page > 1) {\n let filter = getDateFilter();\n if (selectedSubdomain.length > 0) {\n filter = `${filter}&subdomain_id=${selectedSubdomain[0]}`;\n }\n\n dispatch(getMoreUserLoginActivity(filter, page));\n }\n }, [page]);\n\n const classes = useStyles();\n\n return (\n <>\n
    \n {userLoginActivity.loading ? (\n \n ) : (\n <>\n
    \n
    \n
    \n
    \n Name\n
    \n
    \n Email\n
    \n
    \n Role\n
    \n
    \n Domain\n
    \n
    \n Last Login At\n
    \n
    \n
    \n
    \n {!userLoginActivity.loading && userLoginActivity.success\n ? userLoginActivity.data.map((d, i) => (\n
    \n
    \n \n {d.first_name} {d.last_name}\n \n
    \n
    \n \n {d.email}\n \n {d.last_login_with === \"facebook\" ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n \n {d.role}\n \n
    \n
    \n \n {d.CustomerSubdomain\n ? d.CustomerSubdomain.subdomain\n : null}\n \n
    \n\n
    \n
    \n \n {Moment(d.last_login_at)\n .tz(d.timezone ? d.timezone : \"Australia/Sydney\")\n .format(\"YYYY-MM-DD hh:mm A\")}\n \n \n {d.timezone}\n \n
    \n
    \n
    \n ))\n : null}\n
    \n
    \n \n )}\n
    \n
    \n setPage(parseInt(page) + 1)}>\n Load more\n \n
    \n \n );\n};\n\nexport default withRouter(UserLoginActivityTable);\n","import { makeStyles, Typography } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport Spinner from \"../../../Components/Spinner\";\nimport { CustomButton } from \"../../../Components/CustomButton/CustomButton\";\nimport Moment from \"moment-timezone\";\nimport fbIcon from \"../../../assets/images/facebook.png\";\nimport instaBg from \"../../../assets/images/instabg.png\";\n\nimport {\n getUserReportDownloadActivity,\n getMoreUserReportDownloadActivity,\n} from \"../../../store/actions/UserActivityAction\";\n\nconst useStyles = makeStyles((theme) => ({\n divTabelContent: {\n display: \"flex\",\n width: \"100%\",\n position: \"relative\",\n },\n table1: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 500,\n overflow: \"auto\",\n \"& .table-1-table-data\": {\n minHeight: 65,\n display: \"flex\",\n alignItems: \"center\",\n },\n },\n table2: {\n flexGrow: 2,\n overflowX: \"auto\",\n scrollBehavior: \"smooth\",\n \"& .table-2-table-header-data\": {\n display: \"flex\",\n justifyContent: \"center\",\n },\n\n \"& .table-2-table-data\": {\n padding: 24,\n fontSize: 14,\n paddingLeft: 14,\n display: \"flex\",\n justifyContent: \"center\",\n // minHeight: 65.5\n },\n },\n table3: {\n flexGrow: 3,\n borderLeft: \"1px solid #bdbdbd\",\n position: \"relative\",\n \"& .table-3-table-data\": {\n padding: 22,\n justifyContent: \"center\",\n // minHeight: 66.5\n },\n \"& .MuiButtonBase-root\": {\n padding: 0,\n },\n },\n tableHeader: {\n \"& div\": {\n backgroundColor: \"#F5F5F5\",\n fontWeight: 600,\n fontSize: 14,\n textTransform: \"capitalize\",\n cursor: \"pointer\",\n \"& :hover\": {\n \"& .arrowComponent\": {\n display: \"block\",\n },\n },\n\n \"& .arrowComponent\": {\n display: \"none\",\n },\n \"& .table-3-table-data\": {\n alignItems: \"center\",\n },\n },\n },\n tableBody: {},\n tableRow: {\n display: \"flex\",\n minHeight: 70,\n },\n tableData: {\n padding: 12,\n width: \"100%\",\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 14,\n wordBreak: \"break-all\",\n },\n tableCheckbox: {\n borderBottom: \"1px solid #bdbdbd\",\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: 16,\n\n \"& .MuiCheckbox-colorSecondary.Mui-checked\": {\n color: \"#0B6670\",\n },\n },\n arrow: {\n fontSize: 22,\n color: \"#bdbdbd\",\n },\n headerTextStyle: {\n margin: 0,\n whiteSpace: \"break-spaces\",\n textAlign: \"center\",\n },\n link: {\n color: \"initial\",\n textDecoration: \"none\",\n },\n}));\n\nconst ReportDownloadActivityTable = ({ selectedSubdomain }) => {\n const dispatch = useDispatch();\n\n const { customDateRangeRed } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n const { userReportDownloadActivity } = useSelector(\n (state) => state.userActivityReducer\n );\n\n const [page, setPage] = useState(1);\n\n const getDateFilter = () =>\n `start_date=${customDateRangeRed[0].startDate}&end_date=${customDateRangeRed[0].endDate}`;\n\n useEffect(() => {\n let filter = getDateFilter();\n if (selectedSubdomain.length > 0) {\n filter = `${filter}&subdomain_id=${selectedSubdomain[0]}`;\n }\n\n dispatch(getUserReportDownloadActivity(filter), page);\n }, [customDateRangeRed, selectedSubdomain]);\n\n useEffect(() => {\n if (page > 1) {\n let filter = getDateFilter();\n if (selectedSubdomain.length > 0) {\n filter = `${filter}&subdomain_id=${selectedSubdomain[0]}`;\n }\n\n dispatch(getMoreUserReportDownloadActivity(filter, page));\n }\n }, [page]);\n\n const classes = useStyles();\n\n return (\n <>\n
    \n {userReportDownloadActivity.loading ? (\n \n ) : (\n <>\n
    \n
    \n
    \n
    \n Name\n
    \n
    \n Email\n
    \n
    \n Profile\n
    \n
    \n File Type\n
    \n
    \n Domain\n
    \n
    \n Download Time\n
    \n
    \n
    \n
    \n {!userReportDownloadActivity.loading &&\n userReportDownloadActivity.success\n ? userReportDownloadActivity.data.map((d, i) => (\n
    \n
    \n \n {d.name}\n \n
    \n
    \n \n {d.email}\n \n
    \n
    \n \n {JSON.parse(d.profile).join(\", \")}\n \n {d.social_type === \"facebook\" ? (\n \n ) : (\n \n )}\n
    \n
    \n \n {d.file_type}\n \n
    \n
    \n \n {d.CustomerSubdomain\n ? d.CustomerSubdomain.subdomain\n : null}\n \n
    \n
    \n
    \n \n {Moment(d.download_time).tz('Australia/Sydney').format(\n \"YYYY-MM-DD hh:mm A\"\n )}\n \n \n Australia/Sydney\n \n
    \n
    \n
    \n ))\n : null}\n
    \n
    \n \n )}\n
    \n
    \n setPage(parseInt(page) + 1)}>\n Load more\n \n
    \n \n );\n};\n\nexport default withRouter(ReportDownloadActivityTable);\n","import React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Layout from \"../../../Components/Layout\";\nimport {\n Grid,\n makeStyles,\n Box,\n Container,\n useTheme,\n useMediaQuery,\n withStyles,\n MenuItem,\n InputLabel,\n Select,\n FormControl,\n Checkbox,\n Typography\n} from \"@material-ui/core\";\nimport { Styles } from \"./Styles\";\nimport FilterDays from \"../../../Components/FilterDays\";\nimport { CustomButton } from \"../../../Components/CustomButton/CustomButton\";\n\nimport UserLoginActivityTable from \"../../../Admin/Components/UserLoginActivityTable/UserLoginActivityTable\";\nimport ReportDownloadActivityTable from \"../../../Admin/Components/ReportDownloadActivityTable/ReportDownloadActivityTable\";\n\nimport { getSubdomainList } from \"../../../store/actions/UserActivityAction\";\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\n//Styled menu\nconst StyledSelect = withStyles({\n root: {\n padding: 12,\n border: \"1px solid #BDBDBD\",\n height: \"24px\",\n },\n})(Select);\n\nconst StyledMenuItem = withStyles({\n root: {\n \"&.Mui-selected\": {\n backgroundColor: \"#FFF8DE\",\n },\n },\n})(MenuItem);\n\nconst StyledInputLabel = withStyles({\n root: {\n fontSize: 20,\n fontWeight: 400,\n color: \"#000000 !important\",\n },\n outlined: {\n transform: \"translate(10px, 12px) scale(0.8) !important\",\n },\n focused: {\n color: \"#000000 !important\",\n opacity: \"1 !important\",\n },\n})(InputLabel);\n\nconst menuProps = {\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\",\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\",\n },\n getContentAnchorEl: null,\n};\n\nconst TABLE_LIST = {\n LOGIN_ACTIVITY: 'LOGIN_ACTIVITY',\n REPORT_ACTIVITY: 'REPORT_ACTIVITY'\n}\n\nconst UserActivity = () => {\n const theme = useTheme();\n const xs = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const dispatch = useDispatch();\n\n const {\n subdomainList\n } = useSelector((state) => state.userActivityReducer);\n\n useEffect(() => {\n dispatch(getSubdomainList());\n }, []);\n\n const [selectedTable, setSelectedTable] = useState(TABLE_LIST.LOGIN_ACTIVITY);\n const [subdomainListOpen, setSubdomainListOpen] = useState(false);\n const [selectedSubdomain, setSelectedSubdomain] = useState([]);\n\n // const updateSelectedSubdomain = (value, checked) => {\n // setSubdomainListOpen(true)\n // let newSelectedSubdomain = [];\n // if (checked) {\n // newSelectedSubdomain = [...selectedSubdomain, value];\n // } else {\n // newSelectedSubdomain = selectedSubdomain.filter((s) => s !== value);\n // }\n\n // setSelectedSubdomain(newSelectedSubdomain);\n // };\n\n const classes = useStyles()\n\n return (\n \n
    \n
    \n \n \n \n \n setSelectedTable(TABLE_LIST.LOGIN_ACTIVITY)}\n style={{ marginRight: 20 }}\n >\n Login Activity\n \n setSelectedTable(TABLE_LIST.REPORT_ACTIVITY)}\n >\n Report Activity\n \n \n \n \n \n \n {\" \"}\n Select Domain\n \n\n setSubdomainListOpen(false)}\n onOpen={() => setSubdomainListOpen(true)}\n MenuProps={menuProps}\n >\n {!subdomainList.loading && subdomainList.success ? (\n subdomainList.data.map((subdomain) => (\n setSelectedSubdomain([subdomain.id])}\n >\n \n {/* updateSelectedSubdomain(subdomain.id, e.target.checked)}\n checked={selectedSubdomain.includes(subdomain.id)}\n /> */}\n \n {\" \"}\n {subdomain.subdomain}{\" \"}\n {\" \"}\n
    \n \n ))\n ) : (\n \n \n No Data Avialable\n {\" \"}\n \n )}\n \n \n
    \n \n \n \n \n \n {selectedTable === TABLE_LIST.LOGIN_ACTIVITY && }\n\n {selectedTable === TABLE_LIST.REPORT_ACTIVITY && }\n \n \n \n \n
    \n );\n};\n\nexport default UserActivity;\n","\nexport const Styles = (theme) => ({\n main: {\n padding: (props) => (props.sm ? \"15px 0px\" : \"15px 40px\"),\n marginTop: 75,\n minHeight: \"84vh\"\n },\n});\n","import React, { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { Switch, Route } from 'react-router-dom';\nimport PrivateRoutes from './Components/PrivateRoute/PrivateRoute';\nimport DashboardPage from './Pages/DashboardPage/DashboardPage';\nimport ContentNewsFeedPage from './Pages/ContentNewsfeed/ContentNewsFeed';\nimport AdminDashboardPage from './Admin/Pages/AdminDashboardPage';\nimport ProfilePage from './Pages/Profile/Profile';\nimport ChangePasswordFromMail from './Pages/ChangePasswordFromMail/ChangePasswordFromMail';\nimport SocialListeningPage from './Pages/SocialListeningPage/SocialListeningPage';\nimport LoginPage from './Pages/Login/Login';\nimport AdminRoutes from './Components/PrivateRoute/AdminRoutes';\nimport UserManagementPage from './Pages/UserManagement/UserManagement';\nimport CustomerAdminSetting from './Pages/CustomerAdminSetting/CustomerAdminSetting';\nimport { SnackbarProvider } from 'notistack';\nimport Toast from './Components/Toast';\nimport { createTheme, ThemeProvider, CssBaseline } from '@material-ui/core';\nimport { toast, ToastContainer } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { ChangePassword, getSignInUser } from './store/actions/AuthAction';\nimport { LoadLogoAndBanner } from './store/actions/SettingActions';\nimport { useSelector } from 'react-redux';\n\n/* Setting up or registring axios config */\nimport './axiosConfig';\nimport ProfileListingPage from './Pages/ProfileListingPage/ProfileListingPage';\nimport ProfileOverview from './Pages/ProfileListingPage/ProfileOverview';\nimport ComparisonPage from './Pages/ComparisionPage/ComparisonPage';\nimport Help from './Pages/Help/Help';\nimport PrivacyPolicy from './Pages/PrivacyPolicy/PrivacyPolicy';\nimport HelpPageFaq from './Pages/Help/HelpPageFaq';\nimport HelpPageDoucment from './Pages/Help/HelpPageDoucment';\nimport HelpPageVideo from './Pages/Help/HelpPageVideo';\nimport { ContactSupport } from './Admin/Pages/ContactSupport/ContactSupport';\nimport UserActivity from './Admin/Pages/UserActivity/UserActivity';\nimport { getSubDomain } from 'Functions';\n\nfunction App() {\n const dispatch = useDispatch();\n const { logoBannerDataLoaded } = useSelector((state) => state.settings);\n const { serverError } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n const { user } = useSelector((state) => state.auth);\n const theme = createTheme({\n props: {\n MuiButtonBase: {\n // The properties to apply\n disableRipple: true, // No more ripple, on the whole application!ßßßß\n },\n\n MuiOutlinedInputNotchedOutline: {\n notched: true,\n },\n },\n typography: {\n fontFamily: ['Poppins', 'sans-serif'].join(','),\n whiteSpace: 'nowrap !important',\n },\n palette: {\n common: {\n darkGreen: '#33918a',\n lightGreen: 'red',\n lightBlack: '#323132',\n },\n },\n });\n\n useEffect(() => {\n const subDomain = getSubDomain();\n console.log({ subDomain });\n\n if (subDomain) {\n dispatch(LoadLogoAndBanner(subDomain));\n }\n }, []);\n\n useEffect(() => {\n if (serverError === true) {\n toast.error('check your internet connection');\n } else {\n console.log('app connected');\n }\n }, []);\n\n useEffect(() => {\n if (user) {\n dispatch(getSignInUser(user.id));\n }\n }, []);\n\n return !getSubDomain() || logoBannerDataLoaded ? (\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n ''\n );\n}\n\nexport default App;\n","import axios from \"axios\";\n\nexport const LoadLogoAndBanner = (subdomain) => dispatch => {\n console.log(\"subdomain\");\n dispatch({\n type: \"LOAD_LOGO_AND_BANNER\"\n })\n axios.get(`/get-subdomain/${subdomain}`)\n .then((response) => {\n\n dispatch({\n type: \"UPDATE_LOGO_AND_BANNER\",\n payload: response.data.data\n })\n\n })\n .catch((error) => {\n dispatch({\n type: \"UPDATE_LOGO_AND_BANNER\",\n payload: { id: 'false' }\n })\n })\n // return {\n // type: \"API\",\n // payload: {\n // url: `/get-subdomain/${subdomain}`,\n // methods: \"GET\",\n // label: \"LOAD_LOGO_AND_BANNER\",\n // onSuccess: (store, response) => {\n // store.dispatch({\n // type: \"UPDATE_LOGO_AND_BANNER\",\n // payload: response.data,\n // });\n // },\n // onFailure: (store) => {\n // store.dispatch({\n // type: \"UPDATE_LOGO_AND_BANNER\",\n // });\n // },\n // },\n // };\n};\n\nexport const socialMediaType = (data) => (dispatch) => {\n dispatch({\n type: \"ACTIVE_SOCIAL_MEDIA_TYPE\",\n payload: data,\n });\n};\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport store from \"./store\";\nimport { Provider } from \"react-redux\";\nimport { Router, Route, NavLink } from \"react-router-dom\";\nimport { createBrowserHistory } from \"history\";\nimport App from \"./App\";\nimport 'react-dates/lib/css/_datepicker.css';\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n"],"sourceRoot":""}