{"version":3,"sources":["assets/images/pdf.png","assets/images/png.png","assets/images/xls.png","assets/images/msvfooterLogo.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","utils/constant.js","Functions/index.js","Components/Navbar/index.js","Components/Navbar/Styles/index.js","Components/Layout/index.js","assets/images/facebook.png","assets/images/instabg.png","Components/PageTitle/PageTitle.js","store/actions/SocialMediaProfileAction.js","Components/SocialButton/index.js","Components/Spinner/index.js","store/actions/SuperAdminDashboardAction.js","Components/AlertBox/Alert.js","Admin/Components/DashboardTable/DashboardTable.js","Admin/Pages/AdminDashboardPage.js","Admin/Pages/Styles/index.js","Components/PrivateRoute/AdminRoutes.js","Components/Subscription/PlanDisplay.jsx","Pages/DashboardPage/NotPaidDashboard.jsx","Components/PrivateRoute/PrivateRoute.js","Components/Toast/index.js","Components/Buttons/Buttons.js","Pages/Login/Styles/index.js","Pages/ChangePasswordFromMail/ChangePasswordFromMail.js","Components/CustomButton/CustomButton.js","Components/FilterDays/index.js","Components/ChipComponent/ChipComp.js","Components/TextInput/TextInput.js","assets/images/post-img.jpeg","Components/PieChart/index.js","Components/SocialMediaPostsCard/PostDetailsModal.js","Components/SocialMediaPostsCard/SocialMediaPostsCard.js","Components/SocialMediaPostsCard/Styles/index.js","Components/SnackBar/DownloadSnackBar.js","Components/DownloadButton/DownloadButton.js","assets/images/instagram.png","assets/fonts/Poppins-Medium.ttf","assets/images/cameraIcon.png","assets/images/videoIcon.png","assets/images/commentIcon.png","assets/images/linkIcon.png","assets/images/photoAlbumIcon.png","Pages/DashboardPage/PdfComponent/PdfTopPostComponent.js","assets/images/playIcon.png","Pages/ContentNewsfeed/ContentNewsFeedPDF.js","Pages/ContentNewsfeed/ContentNewsFeedDataExport.js","assets/images/noResultFound.png","Components/AddProfileComparisonModal/AddProfileComparisonModal.js","store/actions/UserActivityAction.js","Pages/ContentNewsfeed/ContentNewsFeed.js","Pages/ContentNewsfeed/Styles/index.js","Components/UploadImg/index.js","store/actions/CustomersAction.js","Pages/CustomerAdminSetting/Styles/index.js","Customer/Components/Styles/index.js","Customer/Components/ConnectToSocial.js","Pages/CustomerAdminSetting/CustomerAdminSetting.js","Components/BarChart/index.js","Pages/DashboardPage/DashboardExport.js","Pages/DashboardPage/DashboardPDF.js","Components/CustomSelectDropdown/CustomSelectDropdown.js","Components/CustomSelectDropdown/Styles/index.js","Pages/DashboardPage/DashboardPage.js","Pages/DashboardPage/Style/index.js","Pages/Login/Login.js","Pages/Profile/Profile.js","Pages/Profile/Styles/index.js","utils/string.js","Pages/Register/CardDetail.js","Pages/Register/Register.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/UserManagement/UserManagement.js","Pages/UserManagement/Styles/index.js","Pages/SubscriptionManagementSetting/Styles/index.js","Pages/SubscriptionManagementSetting/SubscriptionSetting.js","Pages/AccountManagement/Styles/index.js","Pages/AccountManagement/AccountManagement.js","Pages/ContentManagement/Styles/index.js","Pages/ContentManagement/ContentManagement.js","Pages/NewPage/Styles/index.js","Pages/NewPage/NewPage.js","Admin/Pages/Analytics/Styles/index.js","Admin/Pages/Analytics/Analytics.jsx","Pages/FAQ/Styles/index.js","Pages/FAQ/FAQ.js","Pages/SubscriptionManagementSetting/CreatePlan.js","Pages/SubscriptionManagementSetting/EditPlan.js","Pages/SubscriptionManagementSetting/SubscriptionDetail.js","Pages/SubscriptionManagementSetting/Upgrade.js","store/actions/HelpPageAction.js","Components/AddModalForm/AddModalForm.js","Pages/Help/Styles/index.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","axiosConfig.js","Pages/ComparisionPage/Styles/index.js","Pages/ComparisionPage/ComparisonDataExport.js","Components/AbsoluteGrowthCard/AbsoluteGrowthCard.js","Pages/ComparisionPage/ComparisonPage.js","assets/images/likeReaction.png","assets/images/commentReaction.png","assets/images/shareReaction.png","Components/HelpSectionList/HelpSectionList.js","Components/Cards/index.js","Components/Cards/Styles/index.js","Components/Sidebar/index.js","Components/Sidebar/Styles/index.js","Components/HelpPageBannerSection/HelpPageBannerSection.js","Pages/Help/Help.js","utils/confirm.js","Pages/Help/HelpPageDoucment.js","Pages/Help/HelpPageFaq.js","Pages/Help/HelpPageVideo.js","Pages/PrivacyPolicy/PrivacyPolicy.jsx","Pages/PrivacyPolicy/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/Styles/index.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/PaymentPage/VerifyPayment.jsx","Pages/PaymentPage/VerificationPage.jsx","Pages/PaymentPage/CancellationPage.jsx","App.js","store/actions/SettingActions.js","store/reducers/ApiResReducer.js","store/reducers/AuthReducer.js","store/reducers/DashboardReducer.js","store/reducers/ComparisonReducer.js","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","index.js"],"names":["Footer","AppBar","position","style","backgroundColor","paddingTop","Container","maxWidth","Toolbar","display","justifyContent","Typography","variant","color","width","height","src","MSVFooterLogo","alt","SignIn","user","dispatch","a","Promise","resolve","reject","axios","post","then","response","data","status","Error","localStorage","setItem","JSON","stringify","toast","success","console","log","type","payload","catch","error","FacebookSignIn","accessToken","ForgotPassword","email","subdomain","message","ChangePassword","password","confirm_password","put","ChangePasswordEmailVerification","authorization","getSignInUser","userId","get","updateCustomerFromProfile","customer","first_name","firstName","last_name","lastName","contact_number","phoneNumber","timezone","formData","FormData","Object","entries","key","value","set","id","FORM_ERROR_EMAIL","FORM_ERROR_PASSWORD","SUPER_ADMIN_NAME","CUSTOMER_ADMIN_NAME","CUSTOMER_VIEWER_NAME","PASSWORD_PATTERN","RegExp","EMAIL_PATTERN","NO_DATA_AVAILABLE","COUNTRIES","name","code","utc","mobileCode","formatNumber","n","number","Math","round","parseFloat","toLocaleString","numbersFormat","num","calculatedNumber","numbers","abs","toFixed","getSubDomain","hostName","window","location","host","includes","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","props","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","useSelector","state","auth","logoURL","settings","classes","useState","show","setShow","mobileView","drawerOpen","setState","useEffect","setResponsiveness","innerWidth","prevState","addEventListener","menuItem","size","to","role","constant","component","Link","className","selected","activeclassname","logo","NavLink","handleClose","disableGutters","IconButton","edge","onClick","Drawer","anchor","open","onClose","Button","event","currentTarget","Menu","anchorEl","keepMounted","Boolean","left","Box","mx","CreditCard","Fragment","Description","Redirect","Layout","children","minHeight","PageTitle","subTitle","activeSocialMediaType","socialMediaProfileListReducer","marginBottom","marginTop","instaBg","fbIcon","getAddedProfileList","searchQuery","getState","customDateRangeRed","startDate","endDate","params","search","start_date","end_date","newdata","map","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","filter","newFeedTypesQuery","val","contentFeedUrl","contentFeedUrlParams","selectedProfiles","keyword_query","sort_by","sortType","getNoOfpeople","sentimentsDateFilter","searchQueryData","Date","toISOString","is_downloading","getNoOfMentions","getNoOfSocialInteraction","getEmojiChartData","getSentimentData","noOfPeopleEnd","dateFilter","setSearchQuery","socialBtnContainer","socialBtnIcon","fbBtn","dropDowninputLabel","outlined","dropDownSelect","SocialButton","socialListening","addedProfileListLoading","handleClick","Grid","container","direction","FormControl","InputLabel","Select","labelId","onChange","e","target","MenuProps","anchorOrigin","vertical","horizontal","transformOrigin","getContentAnchorEl","instaIcon","instaBtn","disableElevation","disabled","loader","right","bottom","Index","CircularProgress","disableShrink","getPagesInfo","alertIconContainer","paddingBottom","popUpContainer","textAlign","actionBtn","gap","btnItem","Alert","setOpen","onConfirm","description","icon","confirmBtn","buttonbgcolor","closeButton","textColor","Dialog","DialogTitle","classname","DialogContent","DialogContentText","DialogActions","divTabelContent","table1","minWidth","table2","overflowX","scrollBehavior","paddingLeft","table3","borderLeft","tableHeader","cursor","tableBody","tableRow","tableData","tableCheckbox","arrow","headerTextStyle","whiteSpace","link","React","deleteAlertOpen","setDeleteAlertOpen","updateAlertOpen","setUpdateAlertOpen","itemToDelete","setItemToDelete","itemToUpdate","setItemToUpdate","CustomerSubdomain","Spinner","i","Avatar","image","border","page_url","maxHeight","overflow","profile","username","fan_count","Moment","updatedAt","tz","format","subdomains","Tooltip","join","slice","deleteAddedprofile","profile_id","updateAddedprofile","alert","main","AdminDashboardPage","adminDashboardReducer","pagesInfoLoading","pagesInfo","topFilter","item","responseData","previousLabel","nextLabel","breakLabel","breakClassName","pageCount","ceil","pages","marginPagesDisplayed","pageRangeDisplayed","onPageChange","pageNumber","containerClassName","subContainerClassName","activeClassName","forcePage","AdminRoutes","Component","rest","roles","isAuth","Route","render","PriceItemContainer","styled","shape","alpha","palette","primary","PlanCard","Card","transform","shadows","DiscountChip","Chip","dark","CurrentPlanButton","SelectPlanButton","borderColor","PriceItem","price","duration","discountPercentage","currentPlanId","isCurrentPlan","sx","mode","text","secondary","PlanDisplay","plans","onPlanClick","plan","CardContent","p","mb","Divider","my","mt","PlanTypePrices","index","discount_percentage","NotPaidDashboard","hasPaid","setPlans","getSubscriptionPlans","subscriptionPlans","handlePlanChoose","url","PrivateRoute","token","subDomain","ClearToast","elevation","Snackbar","autoHideDuration","severity","btnPrimary","Buttons","up","paddingRight","loginWelcome","loginDesc","MuiFormControlLabel","MuiButton","footerText","privacyPolicy","btnWrapper","loginBannerImg","loginImg","forgotBtnContainer","forgotBtn","placeHolder","forgotPassword","styles","mapDispatchToProps","connect","history","bannerURL","match","apiResReducer","apiRes","changePasswordLoading","newPassword","confirmNewPassword","passwordValues","setPasswordValues","url_string","authorization_token","URL","searchParams","passwordErrors","setErrorsPassword","handleChange","handleSubmit","preventDefault","formErrors","test","newPasswordError","confirmNewPasswordError","keys","push","xl","lg","loginTitle","onSubmit","TextField","inputField","helperText","fullWidth","justify","StyledButton","defaultBackgroundColor","initialProfileAdd","opacity","CustomButton","startIcon","formControl","filterSelect","dateIcon","TopFilter","customDate","setCustomDate","miniXs","customDateRange","hasCustomRendering","range","ranged","isSelected","subDays","startOfWeek","endOfWeek","startOfMonth","endOfMonth","addMonths","subYears","stateDate","setStateDate","initialStateDate","setInitialStateDate","dateRef","useRef","formatDate","date","moment","ClickAwayListener","mouseEvent","touchEvent","onClickAway","endIcon","subtract","startOf","endOf","dateFunc","ref","fixedHeight","selection","onChangeDate","showSelectionPreview","moveRangeOnFirstSelection","months","ranges","sd","retainEndDateOnFirstSelection","inputRanges","renderStaticRangeLabel","definedRange","showPreview","rangeColors","staticRanges","dateRange","convertedDate","flexWrap","StyledChip","bold","ChipComp","chipData","setChipData","setApiResponse","onDelete","chipToDelete","chips","chip","StyledTextField","radius","borderWidth","input","fontFamily","notchedOutline","OutlinedInput","TextInput","placeholder","closeBtn","onKeyPress","disable","suggestion","startAdornment","InputAdornment","endAdornment","unselected","profileImgBtn","graphTitleSection","graphSection","graphTitle","letterSpacing","dateFilterBtnGroup","dateFilterBtn","selectedDateFiterBtnGroup","pieChartDistributionChart","pieTotal","zeroData","PieChart","chart","createRef","datasets","chartData","total_reactions","total_comments","feed_comment_count","total_shares","feed_share_count","labels","total","sign","getTotal","current","chartInstance","update","options","legend","aspectRatio","cutoutPercentage","postDetailsChart","HtmlTooltip","tooltip","typography","pxToRem","modal","paper","postsDate","postDetailsheader","pageTitle","postDetailContent","postsMedia","backgroundImage","postsInteraction","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","CardActionArea","rel","config","facebook","attributes","controls","playsinline","CardMedia","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","attachment","feed_created_date","feed_created_date_utc","feed_care_count","feed_angry_count","other_engagement","openModal","setOpenModal","handleOpenModal","matches","matches_lg","imageLoaded","setImageLoaded","img","Image","imageSrc","postImg","onload","getImage","borderTop","StyledSnackbar","zindex","SnackBarDownload","sociallistening","action","StyledMenu","DownloadButton","setAnchorEl","PdfTopPostComponent","topPost","Font","register","family","PoppinsFont","stylesPdf","StyleSheet","create","profileImg","profileImgSelected","graphPage","section","alignSelf","graph","topPosts","twoImageContainer","topPostsContainer","sectionTitle","likeCommentCardSection","likeCommentCard","socialMediaCardLabels","socialMediaCardLabelTitleText","socialMediaCardLabelFilterText","socialMediaCardLabelIcon","socialMediaPostsCard","socialMediaCardTopSection","socialMediaPostPageTitle","socialMediaPostDate","socialMediaPostMidSection","socialMediaCardLink","socialMediaCardImage","socialMediaCardImageContainer","socialMediaPostBottomSection","socialMediaCardPageLogo","socialMediaPostCardEngagementsTitle","socialMediaPostCardEngagementsNumber","socialMediaPostCardEngagementsNumberRight","engagementRow","engagementColumn","interactionsper1k","float","totalEngagements","socialMediaPostSocialLogo","feedIcon","removeEmojis","string","wrap","page_picture","page_name","cameraIcon","videoIcon","linkIcon","photoAlbumIcon","commentIcon","fbLogo","InstagramLogo","thumbnail","ContentNewsFeedPDF","addedProfileList","profile_feeds","selectedProfilesList","page_fan_count","keyWords","topFilterData","postType","totalPages","postsPage","posts","postsContainer","socialMainLogo","overviewTitle","metricText","lineHeight","keywordsDisplay","SelectedProfileDetails","FacebookRoundLogo","picture","fixed","defaultLogo","ExcelFile","ReactExport","ExcelSheet","ContentNewsFeedDataExport","timeRange","showDownloadSnackBar","xlsxLogo","selectProfiles","selectedPostTypes","profileTopPostCount","setProfileTopPostCount","profileTopPostExcellData","setProfileTopPostExcellData","contentNewsFeed","selectedProfilesListToComapre","selectedData","list","feeds","columns","overviewDataSet","font","alignment","toDateString","filename","element","setTimeout","dataSet","StyledDialog","view","other","classes1","disableTypography","MuiDialogContent","MuiDialogActions","AddProfileComaprisonModal","setMobileView","setInputCloseBtn","setSearchLoading","profileListToAdd","setProfileListToAdd","searchProfilesList","closeBtnClick","dividers","noResultFoundImg","Paper","TableHead","profilesList","find","align","deleteItem","handleDelete","addedprofile","createUserReportDownloadActivity","downloadType","userDetail","activeSocialMedia","postParams","subdomain_id","social_type","file_type","download_time","row","tabHeaderComp","ContentNewsFeedPostsContainer","contentNewsFeedCount","selectedPagesDiv","dropDown","postWrapper","inputWrapper","chipComp","noData","StyledSelect","StyledInputLabel","focused","ContentNewsFeedPage","contentNewsFeedLoading","topPostProfileID","sortOptions","comparisonSelectedDataId","addedProfilesDataId","openPost","setOpenPosts","showDownloadToast","setShowDownloadToast","setSelectProfiles","setSelectedPostTypes","setCheckedValue","searchKeyWord","setContentQueryParams","setSearchKeyWord","menuProps","autoFocus","handleClickAwayPost","scrollTo","createUserDownloadActivity","profilesForActivityReport","forEach","f","profilesDetails","generatePdfDocument","pdf","toBlob","blob","saveAs","shrink","displayEmpty","onOpen","Checkbox","unselectProfile","updateSelectedProfiles","checked","postTypesWithoutAll","selectedPost","newPostTypes","updateSelectedPosts","FilterDays","PDFlogo","wrapper","document","querySelector","domtoimage","bgcolor","screenshotPage","PNGlogo","XLSXlogo","profileList","suggestions","floor","random","handleSearchFunction","option","chartFallBack","feed","social_page_id","_id","param","handlePageChange","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","file","files","reader","FileReader","readAsDataURL","onloadend","imageUploaded","result","getSelectedData","accept","multiple","htmlFor","Fab","renderInitialState","previewImg","renderUploadedState","CreateCustomer","brandName","userAccountsLimt","user_accounts_limit","socialMediaProfilesLimt","social_media_profiles_limit","employeeNumber","employee_number","featured_image","GetCustomer","CustomerFailed","UpdateCustomer","user_id","regex","UpdateCustomerBanner","feature_image","DeleteCustomer","store","linkSocialPlatform","platform","Classes","formContainer","userType","imgError","heading","subHeading","box","transitionDuration","flexRow","justiContent","flexColumn","selectContainer","relative","selectField","iconContainer","ConnectToSocial","platformData","setPlatFormData","account","setAccount","linkingFacebook","setLinkingFacebook","handleLinkSocial","authResponse","getIntegratedData","platformDetails","instagram","handleUnlinkSocial","selectDefaultSocial","accountId","other_instagrams","autoLoad","appId","version","renderProps","callback","onFailure","boxSizing","userFormSubmitting","setUserFormSubmitting","formValues","setFormValues","validationErrors","setValidationErrors","errors","setErrors","disableSubmitBtn","SetDisableSubmitBtn","logoBannerResponse","logoBannerResError","logoBannerErrorMsg","File","userManagementForm","UploadImg","logoImageHandler","brand_logo_size","bannerImageHandler","brand_featured_size","StyledSwitch","thumb","colorSecondary","Switch","BarChart","chartTitle","adddeSocialMedaiProfile","getSelectedProfile","switchShow","showPeriod","showLabel","chartId","noDecimalPoint","addProfiles","setAddProfiles","setDateFilter","setColor","kPerFans","setKPerFnas","Chart","positioners","custom","elements","offset","heightOffset","_chart","x","y","pluginService","afterDraw","easing","_active","activePoint","controller","ctx","tooltipPosition","topY","scales","bottomY","save","beginPath","moveTo","lineTo","lineWidth","_view","strokeStyle","globalAlpha","globalCompositeOperation","stroke","restore","chartOptions","responsive","maintainAspectRatio","xAxes","gridLines","drawBorder","offsetGridLines","ticks","fontColor","fontStyle","yAxes","precision","hover","intersect","tooltips","displayColors","enabled","titleFontSize","titleSpacing","bodyFontSize","xPadding","yPadding","yAlign","caretSize","titleMarginBottom","callbacks","tooltipItem","dataPointsIndex","timeline","start","end","toUpperCase","ToggleButtonGroup","exclusive","newAlignment","ToggleButton","textOverflow","profileIndex","removeProfile","updateAddedProfiles","DashboardExport","fanGrowthDateFilter","interactionExcellData","setInteractionExcellData","interactionDataCount","setInteractionDataCount","fanGrowthExcellData","setFansGrowthExcellData","fanGrowthDataCount","setFanGrowthDataCount","fansGrowth","interactionData","profileTopPost","timelineIndex","hasOwnProperty","call","dataset","profileDetails","DashboardPDF","interactionAddedProfiles","topPostPageName","feedLimit","graphContents","chart1","chart2","CustomSelectDropdown","selectProfile","selectProfileHandleChange","header","titleOverview","contentNewsfeed","contentNewsfeedImg","contentNewsfeedTitle","charts","growthChart","chartFallBackContainer","loadMoreButtonDivDashboard","topPostHeadSection","downloadBtnImg","setSelectProfile","fanGrowthData","setFanGrowthData","setFanGrowthSelectedProfiles","setfanGrowthDateFilter","interactionsData","setinteractionsData","setinteractionSelectedProfiles","setinteractionDateFilter","setInteraction1KPerFans","Image1","setImage1","Image2","setImage2","setPageLimit","fanGrowthLoader","profileTopPostLoading","interactionLoader","navigator","onLine","getBase64","toPng","dataURL","selectedTopPostProfile","fanGrowthChart","interactionsChart","Login","subdomainID","userFormSubmiting","setUserFormSubmiting","setChangePasswordLoading","showForgotPassword","setShowForgotPassword","forgotEmail","setForgotEmail","facebookLoginLoading","setFacebookLoginLoading","requestFrom","signInParams","createResponse","createResError","handleForgotPassword","forgotResponse","forgotResError","switchForm","facebookLogin","InputLabelProps","FormControlLabel","control","disableRipple","disableFocusRipple","labelPlacement","facebookImage","containerMain","bannerTop","avatar","btnUpdatePassword","backBtn","backBtnIcon","verticalAlign","ProfilePage","switchFormPassword","setSwitchFormPassword","errorRes","res_type","old_password","handleProfileUpdate","updateResponse","timeZonesList","momentTZ","names","charAt","timeZone","FormHelperText","errorHelperText","sentenceCase","str","splitChar","word","CreditCardForm","registeredEmail","getItem","planId","setSubscriptionPlans","setPlan","country","selectedPlan","validateForm","priceId","Radio","mr","level","FormLabel","RadioGroup","orientation","subPlan","ml","btnIcon","Register","confirmPassword","values","every","finally","pattern","ArrowForward","BubbleChart","emojisData","setEmojisData","chartSortData","emojiData","emoji","count","enableTooltip","deterministic","enableOptimizations","fontSizes","rotations","rotationAngles","scale","spiral","words","labelWrapper","loading","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","socialListeningDataLoading","noOfPeople","noOfPeopleLoading","noOfSocialInteraction","emojiChartData","sentimentInTimeData","sentimentInTimeDataLoading","socialListeningError","getPosts","getNumberOfPeople","getSentiment","total_people_count","total_interactions_count","sentimentDateFilter","formField","modalActions","fileUploadConatiner","fileUploadbutton","radio","superAdmin","setSuperAdmin","customerAdmin","setCustomerAdmin","logoUrl","bannerUrl","editData","setEditData","refreshImgUploadComponent","setRefreshImgUpdateComponent","setUserAddedAlertOpen","setResponseMessage","rowsPerPage","setRowsPerPage","selectedRow","setSelectedRow","setModalOpen","handleMenuClose","handleModalOpen","handleModalClose","resetCustomerForm","customerInfo","customers","getCustomersLoading","fetchCustomers","inputValue","specialCharacters","imageExtensions","isNaN","createResData","createErrorMsg","active","updateResData","updateresError","stickyHeader","column","users","tabIndex","handleMenuOpen","Edit","Delete","TablePagination","rowsPerPageOptions","newPage","onRowsPerPageChange","defaultValue","default","formSection","subscriptionDetail","actionButton","all","pageHeader","marginInline","addSection","deleteButton","buttonGroup","gutterBottom","select","AccountManagement","imgFormValues","setImgFormValues","handleDeleteAccount","onImgSubmit","handleChangePasswordSubmit","pageTable","pageDetailWrapper","pageDetailInner","pageDetail","removeSection","headerContainer","statsContainer","gridTemplateColumns","statCard","statValue","statLabel","tableContainer","expandedRow","sectionTable","addButton","statusIcon","sectionHeader","expandButton","lastModified","divider","ExpandableRow","isExpanded","setIsExpanded","sections","slug","colSpan","Collapse","unmountOnExit","marginY","subtitle","ContentManagement","setPages","faqs","setFaqs","lastUpdated","setLastUpdated","sort","b","updated_at","fetchSections","fetchFaqSections","stats","reduce","acc","toLocaleDateString","stat","faq","fileUploadWrapper","fileInput","uploadButton","previewImage","uploadIcon","uploadText","uploadSubtext","imagePreviewWrapper","removeImageButton","NewPage","setLoading","setPageTitle","imagePreview","setSections","fetchPlanData","handleImageUpload","useCallback","startsWith","revokeObjectURL","prevSections","newSections","createObjectURL","cleanupImagePreviews","saveChanges","trim","CancelOutlined","removeImage","CloudUpload","statsGrid","chartContainer","chartHeader","roleFilter","chartWrapper","Analytics","selectedRole","setSelectedRole","userStats","setUserStats","subscriptionStats","setSubscriptionStats","fetchUserAnalytics","fetchSubscriptionAnalytics","totalUsers","curr","totalSubscriptions","subscriptions","totalRevenue","revenue","strokeDasharray","dataKey","fill","questionWrapper","editorWrapper","outline","sectionCount","FAQ","fetchFaqData","filteredSections","handleTitleChange","handleDescriptionChange","subscription_details","durationOptions","handleSubscriptionDetailChange","field","newDetails","required","multiline","detail","_","idx","handleRemoveSubscriptionDetail","Number","InputProps","inputProps","min","max","SubscriptionPlans","marginBlock","SubscriptionDetail","currentSubscription","setCurrentSubscription","fetchCurrentSubscription","currentPlan","some","plan_type_price_id","currentPlanPrice","subscription_starts_at","discount","trial_ends_at","trial_end_at","diff","Transition","UpgradePlan","setSelectedPlan","priceItem","anotherCard","reload","TransitionComponent","creatContactSupport","supportData","mobile","mobileNumber","Axios","creatRespondSupport","createArticle","article","body","updateArticle","searchArticle","context","getFaqList","getHowToDocList","getHelpVideoList","getContactSupportList","inputLabel","DialogFooter","useStyles1","sidebar","asideTop","asideBottom","overflowY","userContainer","iconTextContainer","backIcon","userItem","loadBtn","animation","loadBtnIcon","alertIcon","helpList","helpIconList","articleCard","customersuportform","StyledDialogTitle","AddModalForm","customerSupportForm","formLoader","setFormLoader","supportForm","setSupportForm","handleClickOpen","prevProps","status_code","answered","rows","ans","cardMedia","cardAction","CustomerSupportCard","created_at","cardDescription","ContactSupport","helpReducer","contactSupportListLoader","contactSupportList","wordBreak","selectedSubdomain","userLoginActivity","userActivityReducer","getDateFilter","getUserLoginActivity","userLoginActivityData","getMoreUserLoginActivity","last_login_with","last_login_at","userReportDownloadActivity","getUserReportDownloadActivity","userReportDownloadActivityData","getMoreUserReportDownloadActivity","parse","TABLE_LIST","UserActivity","subdomainList","selectedTable","setSelectedTable","subdomainListOpen","setSubdomainListOpen","setSelectedSubdomain","defaults","baseURL","headers","common","interceptors","request","use","access_token","clear","ComparisonDataExport","ExcelColumn","distributionInteractionExcellData","setDistributionInteractionExcellData","distributionInteractionDataCount","setDistributionInteractionDataCount","postsDataMultipleExcellData","setpostsDataMultipleExcellData","postsDataMultipleDataCount","setPostsDataMultipleDataCount","postsDataMultiple","interactionDistributions","labelsIndex","GrowthRateCard","growthRate","formattedGrowthRate","profileListComponent","pieChart","pieChartDistribution","pieProfileDetails","pieChartContainer","pieProfileImg","pieProfileName","pieChartProfile","borderRight","StyleCard","StyleCardAddprofile","pdf1","setPdf1","pdf2","setPdf2","pdf3","setPdf3","pdf4","setPdf4","pieData","setPieData","setPieDataTotal","interactionDistributionsLoader","multiplePostBreakDownLoader","postsBreakdownDataMultiple","setPostsBreakdownDataMultiple","setPostsBreakdownDataMultipleSelectedProfiles","addedList","topPostParams","setTopPostParams","oldContentNewsFeed","loadMoreContentNewsFeed","itemEls","Array","selctedProfilesLength","toDataURL","mapData","mapData2","mapData3","pieChartDistributions","file2","file3","filterPieData","getPieData","Exportable","sectionTopPost","tr","td","distributionSec","headerComp","break","intersection","totalFilter","pagePic","cardDetails","posts_count","post_absolute_growth","fan_count_for_date_range","followers_absolute_growth","following_count","following_absolute_growth","profileId","deleteSelectProfilesToCompare","pieProfiles","getPieTotal","flexShrink","secondaryHeading","HelpSectionList","sectionList","expanded","setExpanded","Accordion","panel","AccordionSummary","List","AccordionDetails","ListItem","highlightClassName","searchWords","textToHighlight","html","renderHTML","cardContainer","imageTextContainer","titleStyle","subtitleStyle","iconComponenticonComponent","backgroundcolor","HelpPageBannerSection","handleKeyPress","handleSearch","hinttext","StyledTextFieldForm","editor","setArticle","editInfo","setEditInfo","faqList","faqListLoader","howToDocList","howToDocListLoader","videoList","videoListLoader","submitArticle","fetchArticlesFromApi","deleteArticle","textField","swal","fire","showDenyButton","showCancelButton","confirmButtonText","denyButtonText","isDenied","isConfirm","readonly","toolbarButtonSize","uploader","insertImageAsBase64URI","onBlur","newContent","searchValue","setSearchValue","searchArticlesLoader","searchArticles","howToDocs","debounceTimer","func","clearTimeout","debounce","helpVideos","orderedList","PrivacyPolicy","listStyleType","tableIcons","Add","forwardRef","Check","Clear","DetailPanel","Export","Filter","FirstPage","LastPage","NextPage","PreviousPage","ResetSearch","Search","SortArrow","ThirdStateCheck","ViewColumn","createTheme","getSelectedProfileList","selectedLabels","$","click","animate","scrollLeft","isLoading","components","OverlayLoading","rowData","is_data_downloading","page_username","cellStyle","minwidth","headerStyle","hidden","page_comments_count","page_shares_count","page_posts_count","selectionProps","paging","toolbar","rowStyle","onSelectionChange","localization","emptyDataSourceMessage","TextInputProfile","searchClick","StyledTableCell","AddProfileModal","closeBox","setCloseBox","initialProfileListToAdd","setInitialProfileListToAdd","searchedProfileList","searchLoading","getComparisionProfileError","listener","removeEventListener","socialMedaiProfileList","ele","ind","findIndex","elem","iconPosition","is_already_added","profile_picture_url","followers_count","checkboxHandle","profile_name","concat","anchorOriginTopRight","SnackBar","downloadingData","allLabels","checkedData","setCheckedData","setSort","scrollerRef","scrollScroller","scrollSide","filteredValue","c","selectedProfileList","sortedField","setSortedField","sortedData","setSortedData","useMemo","sortedProducts","isLabelSelected","s","sl","mobileTitle","dataId","requestSort","customButton","lineStyle","profileOverviewCard","cardlabels","profileOverviewCardContent","profileOverviewBasic","cardlabelsWrapper","setSelectedProfiles","setSearchProfile","searchedAddedProfilesList","profilesListForCompareLoading","filterDataLabels","searchAddedProfile","postTypeIsChecked","selectedPostId","filteredPostType","ProfileOverviewDataExport","postTypeDateFilter","postsDataExcellData","setPostsDataExcellData","postsDataCount","setPostsDataCount","overviewCount","setOverviewCount","postsData","profileComments","profileShares","profileLikes","profileBasic","profileGrowthFollowers","profileAbsInteraction","filter_type","total_likes_count","total_comments_count","total_shares_count","followers_growth","total_interaction_count","ProfileOverViewPDF","labelIcon","mediaCardGrowthCard","growth","viewBox","total_feeds_count","page_following","absolute_growth","colorPickerWrapper","ColorPicker","getColors","displayColorPicker","setDisplayColorpicker","acceptColor","setAcceptColor","colorRef","filteredData","hex","onCancel","onAccept","updateProfileColor","CustomCheckSelectDropdown","handlePostsClose","handlePostsOpen","setpdf4","setTopPostData","postsBreakdownData","setPostsBreakdownData","setPostTypeDateFilter","profileBasicLoading","profileLikesLoading","profileCommentsLoading","profileSharesLoading","profileGrowthFollowersLoading","profileAbsInteractionLoading","postBreakDownLoader","getPostTypeQuery","postTypeQuery","sp","getSocialProfilelikes","getSocialProfileComments","getSocialProfileShares","getSocialProfileGrowthFollowers","getSocialProfileInteractionAbsoluteGrowth","postDataOrdering","getPostTypeDistributions","downloadingPageList","socialPostCard","getElementsByClassName","prototype","html2canvas","allowTaint","useCORS","scrollY","canvas","postTypeChart","updatedPostTypes","selectedPostTypesWithoutAll","PAYMENT_STATUS_STATE","VerifyPayment","paymentStatus","setPaymentStatus","updatePaymentStatusIfPaid","sessionId","URLSearchParams","setInterval","CheckCircleOutline","VerifyPaymentPage","PaymentCancelledPage","App","logoBannerDataLoaded","serverError","MuiButtonBase","MuiOutlinedInputNotchedOutline","notched","darkGreen","lightGreen","lightBlack","maxSnack","ThemeProvider","autoClose","hideProgressBar","exact","path","ProfileOverview","ProfileListingPage","ComparisonPage","UserManagementPage","SubscriptionSetting","CreatePlan","EditPlan","CustomerAdminSetting","PaymentVerifyPage","PaymentCancelPage","LoginPage","RegisterPage","CardDetailPage","Help","ChangePasswordFromMail","DashboardPage","HelpPageFaq","HelpPageDoucment","HelpPageVideo","CssBaseline","initState","ApiResReducer","AuthReducer","errorMessage","totalFollowers","interactions","DashboardReducer","ComparisonReducer","logoImg","bannerImg","SettingsReducer","has_paid","initialState","SocialIntegrationReducer","integratedStatusLoading","ToastReducer","createCustomersLoading","deleteCustomersLoading","CustomerReducer","profilesListForCompare","topFollowerLoading","socialmediaTopFollowers","profileOverviewLoading","socialListeningData","noOfMentions","noOfMentionsLoading","noOfSocialInteractionLoading","noOfPotentialImpression","noOfPotentialImpressionLoading","emojiChartDataLoading","SocialMediaProfileListReducer","noOfPeopleLoadiing","HelpPageReducer","deletePageLoading","updatePagesInfo","userReportDownloadActivityCreate","reducers","combineReducers","dashboard","comparison","social","SocialListeningReducer","UserActivityReducer","middleware","thunk","logger","createStore","composeWithDevTools","applyMiddleware","ReactDOM","Router","createBrowserHistory","getElementById"],"mappings":"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","file":"static/js/main.b3631620.chunk.js","sourcesContent":["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/msvfooterLogo.efaf943c.png\";","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 axios from 'axios';\nimport { Redirect } from 'react-router';\nimport { toast } from 'react-toastify';\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 console.log('response.data.data', response.data.data);\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 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\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\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 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 ';\n\n// Super Admin of Multi Tenancy\nexport const SUPER_ADMIN_NAME = 'super-admin';\n// Tenant Admin\nexport const CUSTOMER_ADMIN_NAME = 'customer-admin';\n// Tenant Customers\nexport const CUSTOMER_VIEWER_NAME = 'customer-viewer';\n\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\nexport const COUNTRIES = [\n {\n name: 'Afghanistan',\n code: 'AF',\n timezone: 'Afghanistan Standard Time',\n utc: 'UTC+04:30',\n mobileCode: '+93',\n },\n {\n name: 'Åland Islands',\n code: 'AX',\n timezone: 'FLE Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+358-18',\n },\n {\n name: 'Albania',\n code: 'AL',\n timezone: 'Central Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+355',\n },\n {\n name: 'Algeria',\n code: 'DZ',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+213',\n },\n {\n name: 'American Samoa',\n code: 'AS',\n timezone: 'UTC-11',\n utc: 'UTC-11:00',\n mobileCode: '+1-684',\n },\n {\n name: 'Andorra',\n code: 'AD',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+376',\n },\n {\n name: 'Angola',\n code: 'AO',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+244',\n },\n {\n name: 'Anguilla',\n code: 'AI',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-264',\n },\n {\n name: 'Antarctica',\n code: 'AQ',\n timezone: 'Pacific SA Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+',\n },\n {\n name: 'Antigua and Barbuda',\n code: 'AG',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-268',\n },\n {\n name: 'Argentina',\n code: 'AR',\n timezone: 'Argentina Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+54',\n },\n {\n name: 'Armenia',\n code: 'AM',\n timezone: 'Caucasus Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+374',\n },\n {\n name: 'Aruba',\n code: 'AW',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+297',\n },\n {\n name: 'Australia',\n code: 'AU',\n timezone: 'AUS Eastern Standard Time',\n utc: 'UTC+10:00',\n mobileCode: '+61',\n },\n {\n name: 'Austria',\n code: 'AT',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+43',\n },\n {\n name: 'Azerbaijan',\n code: 'AZ',\n timezone: 'Azerbaijan Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+994',\n },\n {\n name: 'Bahamas, The',\n code: 'BS',\n timezone: 'Eastern Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+1-242',\n },\n {\n name: 'Bahrain',\n code: 'BH',\n timezone: 'Arab Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+973',\n },\n {\n name: 'Bangladesh',\n code: 'BD',\n timezone: 'Bangladesh Standard Time',\n utc: 'UTC+06:00',\n mobileCode: '+880',\n },\n {\n name: 'Barbados',\n code: 'BB',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-246',\n },\n {\n name: 'Belarus',\n code: 'BY',\n timezone: 'Belarus Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+375',\n },\n {\n name: 'Belgium',\n code: 'BE',\n timezone: 'Romance Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+32',\n },\n {\n name: 'Belize',\n code: 'BZ',\n timezone: 'Central America Standard Time',\n utc: 'UTC-06:00',\n mobileCode: '+501',\n },\n {\n name: 'Benin',\n code: 'BJ',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+229',\n },\n {\n name: 'Bermuda',\n code: 'BM',\n timezone: 'Atlantic Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-441',\n },\n {\n name: 'Bhutan',\n code: 'BT',\n timezone: 'Bangladesh Standard Time',\n utc: 'UTC+06:00',\n mobileCode: '+975',\n },\n {\n name: 'Bolivarian Republic of Venezuela',\n code: 'VE',\n timezone: 'Venezuela Standard Time',\n utc: 'UTC-04:30',\n mobileCode: '+58',\n },\n {\n name: 'Bolivia',\n code: 'BO',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+591',\n },\n {\n name: 'Bonaire, Sint Eustatius and Saba',\n code: 'BQ',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+599',\n },\n {\n name: 'Bosnia and Herzegovina',\n code: 'BA',\n timezone: 'Central European Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+387',\n },\n {\n name: 'Botswana',\n code: 'BW',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+267',\n },\n {\n name: 'Bouvet Island',\n code: 'BV',\n timezone: 'UTC',\n utc: 'UTC',\n mobileCode: '+',\n },\n {\n name: 'Brazil',\n code: 'BR',\n timezone: 'E. South America Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+55',\n },\n {\n name: 'British Indian Ocean Territory',\n code: 'IO',\n timezone: 'Central Asia Standard Time',\n utc: 'UTC+06:00',\n mobileCode: '+246',\n },\n {\n name: 'Brunei',\n code: 'BN',\n timezone: 'Singapore Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+673',\n },\n {\n name: 'Bulgaria',\n code: 'BG',\n timezone: 'FLE Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+359',\n },\n {\n name: 'Burkina Faso',\n code: 'BF',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+226',\n },\n {\n name: 'Burundi',\n code: 'BI',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+257',\n },\n {\n name: 'Cabo Verde',\n code: 'CV',\n timezone: 'Cape Verde Standard Time',\n utc: 'UTC-01:00',\n mobileCode: '+238',\n },\n {\n name: 'Cambodia',\n code: 'KH',\n timezone: 'SE Asia Standard Time',\n utc: 'UTC+07:00',\n mobileCode: '+855',\n },\n {\n name: 'Cameroon',\n code: 'CM',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+237',\n },\n {\n name: 'Canada',\n code: 'CA',\n timezone: 'Eastern Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+1',\n },\n {\n name: 'Cayman Islands',\n code: 'KY',\n timezone: 'SA Pacific Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+1-345',\n },\n {\n name: 'Central African Republic',\n code: 'CF',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+236',\n },\n {\n name: 'Chad',\n code: 'TD',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+235',\n },\n {\n name: 'Chile',\n code: 'CL',\n timezone: 'Pacific SA Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+56',\n },\n {\n name: 'China',\n code: 'CN',\n timezone: 'China Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+86',\n },\n {\n name: 'Christmas Island',\n code: 'CX',\n timezone: 'SE Asia Standard Time',\n utc: 'UTC+07:00',\n mobileCode: '+61',\n },\n {\n name: 'Cocos (Keeling) Islands',\n code: 'CC',\n timezone: 'Myanmar Standard Time',\n utc: 'UTC+06:30',\n mobileCode: '+61',\n },\n {\n name: 'Colombia',\n code: 'CO',\n timezone: 'SA Pacific Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+57',\n },\n {\n name: 'Comoros',\n code: 'KM',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+269',\n },\n {\n name: 'Congo',\n code: 'CG',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+242',\n },\n {\n name: 'Congo (DRC)',\n code: 'CD',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+243',\n },\n {\n name: 'Cook Islands',\n code: 'CK',\n timezone: 'Hawaiian Standard Time',\n utc: 'UTC-10:00',\n mobileCode: '+682',\n },\n {\n name: 'Costa Rica',\n code: 'CR',\n timezone: 'Central America Standard Time',\n utc: 'UTC-06:00',\n mobileCode: '+506',\n },\n {\n name: \"Côte d'Ivoire\",\n code: 'CI',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+225',\n },\n {\n name: 'Croatia',\n code: 'HR',\n timezone: 'Central European Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+385',\n },\n {\n name: 'Cuba',\n code: 'CU',\n timezone: 'Eastern Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+53',\n },\n {\n name: 'Curaçao',\n code: 'CW',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+599',\n },\n {\n name: 'Cyprus',\n code: 'CY',\n timezone: 'E. Europe Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+357',\n },\n {\n name: 'Czech Republic',\n code: 'CZ',\n timezone: 'Central Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+420',\n },\n {\n name: 'Democratic Republic of Timor-Leste',\n code: 'TL',\n timezone: 'Tokyo Standard Time',\n utc: 'UTC+09:00',\n mobileCode: '+670',\n },\n {\n name: 'Denmark',\n code: 'DK',\n timezone: 'Romance Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+45',\n },\n {\n name: 'Djibouti',\n code: 'DJ',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+253',\n },\n {\n name: 'Dominica',\n code: 'DM',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-767',\n },\n {\n name: 'Dominican Republic',\n code: 'DO',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-809 and 1-829',\n },\n {\n name: 'Ecuador',\n code: 'EC',\n timezone: 'SA Pacific Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+593',\n },\n {\n name: 'Egypt',\n code: 'EG',\n timezone: 'Egypt Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+20',\n },\n {\n name: 'El Salvador',\n code: 'SV',\n timezone: 'Central America Standard Time',\n utc: 'UTC-06:00',\n mobileCode: '+503',\n },\n {\n name: 'Equatorial Guinea',\n code: 'GQ',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+240',\n },\n {\n name: 'Eritrea',\n code: 'ER',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+291',\n },\n {\n name: 'Estonia',\n code: 'EE',\n timezone: 'FLE Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+372',\n },\n {\n name: 'Ethiopia',\n code: 'ET',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+251',\n },\n {\n name: 'Falkland Islands (Islas Malvinas)',\n code: 'FK',\n timezone: 'SA Eastern Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+500',\n },\n {\n name: 'Faroe Islands',\n code: 'FO',\n timezone: 'GMT Standard Time',\n utc: 'UTC',\n mobileCode: '+298',\n },\n {\n name: 'Fiji Islands',\n code: 'FJ',\n timezone: 'Fiji Standard Time',\n utc: 'UTC+12:00',\n mobileCode: '+679',\n },\n {\n name: 'Finland',\n code: 'FI',\n timezone: 'FLE Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+358',\n },\n {\n name: 'France',\n code: 'FR',\n timezone: 'Romance Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+33',\n },\n {\n name: 'French Guiana',\n code: 'GF',\n timezone: 'SA Eastern Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+594',\n },\n {\n name: 'French Polynesia',\n code: 'PF',\n timezone: 'Hawaiian Standard Time',\n utc: 'UTC-10:00',\n mobileCode: '+689',\n },\n {\n name: 'French Southern and Antarctic Lands',\n code: 'TF',\n timezone: 'West Asia Standard Time',\n utc: 'UTC+05:00',\n mobileCode: '+',\n },\n {\n name: 'Gabon',\n code: 'GA',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+241',\n },\n {\n name: 'Gambia, The',\n code: 'GM',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+220',\n },\n {\n name: 'Georgia',\n code: 'GE',\n timezone: 'Georgian Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+995',\n },\n {\n name: 'Germany',\n code: 'DE',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+49',\n },\n {\n name: 'Ghana',\n code: 'GH',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+233',\n },\n {\n name: 'Gibraltar',\n code: 'GI',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+350',\n },\n {\n name: 'Greece',\n code: 'GR',\n timezone: 'GTB Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+30',\n },\n {\n name: 'Greenland',\n code: 'GL',\n timezone: 'Greenland Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+299',\n },\n {\n name: 'Grenada',\n code: 'GD',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-473',\n },\n {\n name: 'Guadeloupe',\n code: 'GP',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+590',\n },\n {\n name: 'Guam',\n code: 'GU',\n timezone: 'West Pacific Standard Time',\n utc: 'UTC+10:00',\n mobileCode: '+1-671',\n },\n {\n name: 'Guatemala',\n code: 'GT',\n timezone: 'Central America Standard Time',\n utc: 'UTC-06:00',\n mobileCode: '+502',\n },\n {\n name: 'Guernsey',\n code: 'GG',\n timezone: 'GMT Standard Time',\n utc: 'UTC',\n mobileCode: '+44-1481',\n },\n {\n name: 'Guinea',\n code: 'GN',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+224',\n },\n {\n name: 'Guinea-Bissau',\n code: 'GW',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+245',\n },\n {\n name: 'Guyana',\n code: 'GY',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+592',\n },\n {\n name: 'Haiti',\n code: 'HT',\n timezone: 'Eastern Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+509',\n },\n {\n name: 'Heard Island and McDonald Islands',\n code: 'HM',\n timezone: 'Mauritius Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+ ',\n },\n {\n name: 'Honduras',\n code: 'HN',\n timezone: 'Central America Standard Time',\n utc: 'UTC-06:00',\n mobileCode: '+504',\n },\n {\n name: 'Hong Kong SAR',\n code: 'HK',\n timezone: 'China Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+852',\n },\n {\n name: 'Hungary',\n code: 'HU',\n timezone: 'Central Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+36',\n },\n {\n name: 'Iceland',\n code: 'IS',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+354',\n },\n {\n name: 'India',\n code: 'IN',\n timezone: 'India Standard Time',\n utc: 'UTC+05:30',\n mobileCode: '+91',\n },\n {\n name: 'Indonesia',\n code: 'ID',\n timezone: 'SE Asia Standard Time',\n utc: 'UTC+07:00',\n mobileCode: '+62',\n },\n {\n name: 'Iran',\n code: 'IR',\n timezone: 'Iran Standard Time',\n utc: 'UTC+03:30',\n mobileCode: '+98',\n },\n {\n name: 'Iraq',\n code: 'IQ',\n timezone: 'Arabic Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+964',\n },\n {\n name: 'Ireland',\n code: 'IE',\n timezone: 'GMT Standard Time',\n utc: 'UTC',\n mobileCode: '+353',\n },\n {\n name: 'Israel',\n code: 'IL',\n timezone: 'Israel Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+972',\n },\n {\n name: 'Italy',\n code: 'IT',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+39',\n },\n {\n name: 'Jamaica',\n code: 'JM',\n timezone: 'SA Pacific Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+1-876',\n },\n {\n name: 'Jan Mayen',\n code: 'SJ',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+47',\n },\n {\n name: 'Japan',\n code: 'JP',\n timezone: 'Tokyo Standard Time',\n utc: 'UTC+09:00',\n mobileCode: '+81',\n },\n {\n name: 'Jersey',\n code: 'JE',\n timezone: 'GMT Standard Time',\n utc: 'UTC',\n mobileCode: '+44-1534',\n },\n {\n name: 'Jordan',\n code: 'JO',\n timezone: 'Jordan Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+962',\n },\n {\n name: 'Kazakhstan',\n code: 'KZ',\n timezone: 'Central Asia Standard Time',\n utc: 'UTC+06:00',\n mobileCode: '+7',\n },\n {\n name: 'Kenya',\n code: 'KE',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+254',\n },\n {\n name: 'Kiribati',\n code: 'KI',\n timezone: 'UTC+12',\n utc: 'UTC+12:00',\n mobileCode: '+686',\n },\n {\n name: 'Korea',\n code: 'KR',\n timezone: 'Korea Standard Time',\n utc: 'UTC+09:00',\n mobileCode: '+82',\n },\n {\n name: 'Kosovo',\n code: 'XK',\n timezone: 'Central European Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+',\n },\n {\n name: 'Kuwait',\n code: 'KW',\n timezone: 'Arab Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+965',\n },\n {\n name: 'Kyrgyzstan',\n code: 'KG',\n timezone: 'Central Asia Standard Time',\n utc: 'UTC+06:00',\n mobileCode: '+996',\n },\n {\n name: 'Laos',\n code: 'LA',\n timezone: 'SE Asia Standard Time',\n utc: 'UTC+07:00',\n mobileCode: '+856',\n },\n {\n name: 'Latvia',\n code: 'LV',\n timezone: 'FLE Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+371',\n },\n {\n name: 'Lebanon',\n code: 'LB',\n timezone: 'Middle East Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+961',\n },\n {\n name: 'Lesotho',\n code: 'LS',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+266',\n },\n {\n name: 'Liberia',\n code: 'LR',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+231',\n },\n {\n name: 'Libya',\n code: 'LY',\n timezone: 'E. Europe Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+218',\n },\n {\n name: 'Liechtenstein',\n code: 'LI',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+423',\n },\n {\n name: 'Lithuania',\n code: 'LT',\n timezone: 'FLE Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+370',\n },\n {\n name: 'Luxembourg',\n code: 'LU',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+352',\n },\n {\n name: 'Macao SAR',\n code: 'MO',\n timezone: 'China Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+853',\n },\n {\n name: 'Macedonia, Former Yugoslav Republic of',\n code: 'MK',\n timezone: 'Central European Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+389',\n },\n {\n name: 'Madagascar',\n code: 'MG',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+261',\n },\n {\n name: 'Malawi',\n code: 'MW',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+265',\n },\n {\n name: 'Malaysia',\n code: 'MY',\n timezone: 'Singapore Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+60',\n },\n {\n name: 'Maldives',\n code: 'MV',\n timezone: 'West Asia Standard Time',\n utc: 'UTC+05:00',\n mobileCode: '+960',\n },\n {\n name: 'Mali',\n code: 'ML',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+223',\n },\n {\n name: 'Malta',\n code: 'MT',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+356',\n },\n {\n name: 'Man, Isle of',\n code: 'IM',\n timezone: 'GMT Standard Time',\n utc: 'UTC',\n mobileCode: '+44-1624',\n },\n {\n name: 'Marshall Islands',\n code: 'MH',\n timezone: 'UTC+12',\n utc: 'UTC+12:00',\n mobileCode: '+692',\n },\n {\n name: 'Martinique',\n code: 'MQ',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+596',\n },\n {\n name: 'Mauritania',\n code: 'MR',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+222',\n },\n {\n name: 'Mauritius',\n code: 'MU',\n timezone: 'Mauritius Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+230',\n },\n {\n name: 'Mayotte',\n code: 'YT',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+262',\n },\n {\n name: 'Mexico',\n code: 'MX',\n timezone: 'Central Standard Time (Mexico)',\n utc: 'UTC-06:00',\n mobileCode: '+52',\n },\n {\n name: 'Micronesia',\n code: 'FM',\n timezone: 'West Pacific Standard Time',\n utc: 'UTC+10:00',\n mobileCode: '+691',\n },\n {\n name: 'Moldova',\n code: 'MD',\n timezone: 'GTB Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+373',\n },\n {\n name: 'Monaco',\n code: 'MC',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+377',\n },\n {\n name: 'Mongolia',\n code: 'MN',\n timezone: 'Ulaanbaatar Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+976',\n },\n {\n name: 'Montenegro',\n code: 'ME',\n timezone: 'Central European Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+382',\n },\n {\n name: 'Montserrat',\n code: 'MS',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-664',\n },\n {\n name: 'Morocco',\n code: 'MA',\n timezone: 'Morocco Standard Time',\n utc: 'UTC',\n mobileCode: '+212',\n },\n {\n name: 'Mozambique',\n code: 'MZ',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+258',\n },\n {\n name: 'Myanmar',\n code: 'MM',\n timezone: 'Myanmar Standard Time',\n utc: 'UTC+06:30',\n mobileCode: '+95',\n },\n {\n name: 'Namibia',\n code: 'NA',\n timezone: 'Namibia Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+264',\n },\n {\n name: 'Nauru',\n code: 'NR',\n timezone: 'UTC+12',\n utc: 'UTC+12:00',\n mobileCode: '+674',\n },\n {\n name: 'Nepal',\n code: 'NP',\n timezone: 'Nepal Standard Time',\n utc: 'UTC+05:45',\n mobileCode: '+977',\n },\n {\n name: 'Netherlands',\n code: 'NL',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+31',\n },\n {\n name: 'New Caledonia',\n code: 'NC',\n timezone: 'Central Pacific Standard Time',\n utc: 'UTC+11:00',\n mobileCode: '+687',\n },\n {\n name: 'New Zealand',\n code: 'NZ',\n timezone: 'New Zealand Standard Time',\n utc: 'UTC+12:00',\n mobileCode: '+64',\n },\n {\n name: 'Nicaragua',\n code: 'NI',\n timezone: 'Central America Standard Time',\n utc: 'UTC-06:00',\n mobileCode: '+505',\n },\n {\n name: 'Niger',\n code: 'NE',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+227',\n },\n {\n name: 'Nigeria',\n code: 'NG',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+234',\n },\n {\n name: 'Niue',\n code: 'NU',\n timezone: 'UTC-11',\n utc: 'UTC-11:00',\n mobileCode: '+683',\n },\n {\n name: 'Norfolk Island',\n code: 'NF',\n timezone: 'Central Pacific Standard Time',\n utc: 'UTC+11:00',\n mobileCode: '+672',\n },\n {\n name: 'North Korea',\n code: 'KP',\n timezone: 'Korea Standard Time',\n utc: 'UTC+09:00',\n mobileCode: '+850',\n },\n {\n name: 'Northern Mariana Islands',\n code: 'MP',\n timezone: 'West Pacific Standard Time',\n utc: 'UTC+10:00',\n mobileCode: '+1-670',\n },\n {\n name: 'Norway',\n code: 'NO',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+47',\n },\n {\n name: 'Oman',\n code: 'OM',\n timezone: 'Arabian Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+968',\n },\n {\n name: 'Pakistan',\n code: 'PK',\n timezone: 'Pakistan Standard Time',\n utc: 'UTC+05:00',\n mobileCode: '+92',\n },\n {\n name: 'Palau',\n code: 'PW',\n timezone: 'Tokyo Standard Time',\n utc: 'UTC+09:00',\n mobileCode: '+680',\n },\n {\n name: 'Palestinian Authority',\n code: 'PS',\n timezone: 'Egypt Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+970',\n },\n {\n name: 'Panama',\n code: 'PA',\n timezone: 'SA Pacific Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+507',\n },\n {\n name: 'Papua New Guinea',\n code: 'PG',\n timezone: 'West Pacific Standard Time',\n utc: 'UTC+10:00',\n mobileCode: '+675',\n },\n {\n name: 'Paraguay',\n code: 'PY',\n timezone: 'Paraguay Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+595',\n },\n {\n name: 'Peru',\n code: 'PE',\n timezone: 'SA Pacific Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+51',\n },\n {\n name: 'Philippines',\n code: 'PH',\n timezone: 'Singapore Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+63',\n },\n {\n name: 'Pitcairn Islands',\n code: 'PN',\n timezone: 'Pacific Standard Time',\n utc: 'UTC-08:00',\n mobileCode: '+870',\n },\n {\n name: 'Poland',\n code: 'PL',\n timezone: 'Central European Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+48',\n },\n {\n name: 'Portugal',\n code: 'PT',\n timezone: 'GMT Standard Time',\n utc: 'UTC',\n mobileCode: '+351',\n },\n {\n name: 'Puerto Rico',\n code: 'PR',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-787 and 1-939',\n },\n {\n name: 'Qatar',\n code: 'QA',\n timezone: 'Arab Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+974',\n },\n {\n name: 'Reunion',\n code: 'RE',\n timezone: 'Mauritius Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+262',\n },\n {\n name: 'Romania',\n code: 'RO',\n timezone: 'GTB Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+40',\n },\n {\n name: 'Russia',\n code: 'RU',\n timezone: 'Russian Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+7',\n },\n {\n name: 'Rwanda',\n code: 'RW',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+250',\n },\n {\n name: 'Saint Barthélemy',\n code: 'BL',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+590',\n },\n {\n name: 'Saint Helena, Ascension and Tristan da Cunha',\n code: 'SH',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+290',\n },\n {\n name: 'Saint Kitts and Nevis',\n code: 'KN',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-869',\n },\n {\n name: 'Saint Lucia',\n code: 'LC',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-758',\n },\n {\n name: 'Saint Martin (French part)',\n code: 'MF',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+590',\n },\n {\n name: 'Saint Pierre and Miquelon',\n code: 'PM',\n timezone: 'Greenland Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+508',\n },\n {\n name: 'Saint Vincent and the Grenadines',\n code: 'VC',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-784',\n },\n {\n name: 'Samoa',\n code: 'WS',\n timezone: 'Samoa Standard Time',\n utc: 'UTC+13:00',\n mobileCode: '+685',\n },\n {\n name: 'San Marino',\n code: 'SM',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+378',\n },\n {\n name: 'São Tomé and Príncipe',\n code: 'ST',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+239',\n },\n {\n name: 'Saudi Arabia',\n code: 'SA',\n timezone: 'Arab Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+966',\n },\n {\n name: 'Senegal',\n code: 'SN',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+221',\n },\n {\n name: 'Serbia',\n code: 'RS',\n timezone: 'Central Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+381',\n },\n {\n name: 'Seychelles',\n code: 'SC',\n timezone: 'Mauritius Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+248',\n },\n {\n name: 'Sierra Leone',\n code: 'SL',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+232',\n },\n {\n name: 'Singapore',\n code: 'SG',\n timezone: 'Singapore Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+65',\n },\n {\n name: 'Sint Maarten (Dutch part)',\n code: 'SX',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+599',\n },\n {\n name: 'Slovakia',\n code: 'SK',\n timezone: 'Central Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+421',\n },\n {\n name: 'Slovenia',\n code: 'SI',\n timezone: 'Central Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+386',\n },\n {\n name: 'Solomon Islands',\n code: 'SB',\n timezone: 'Central Pacific Standard Time',\n utc: 'UTC+11:00',\n mobileCode: '+677',\n },\n {\n name: 'Somalia',\n code: 'SO',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+252',\n },\n {\n name: 'South Africa',\n code: 'ZA',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+27',\n },\n {\n name: 'South Georgia and the South Sandwich Islands',\n code: 'GS',\n timezone: 'UTC-02',\n utc: 'UTC-02:00',\n mobileCode: '+',\n },\n {\n name: 'South Sudan',\n code: 'SS',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+211',\n },\n {\n name: 'Spain',\n code: 'ES',\n timezone: 'Romance Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+34',\n },\n {\n name: 'Sri Lanka',\n code: 'LK',\n timezone: 'Sri Lanka Standard Time',\n utc: 'UTC+05:30',\n mobileCode: '+94',\n },\n {\n name: 'Sudan',\n code: 'SD',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+249',\n },\n {\n name: 'Suriname',\n code: 'SR',\n timezone: 'SA Eastern Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+597',\n },\n {\n name: 'Svalbard',\n code: 'SJ',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+47',\n },\n {\n name: 'Swaziland',\n code: 'SZ',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+268',\n },\n {\n name: 'Sweden',\n code: 'SE',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+46',\n },\n {\n name: 'Switzerland',\n code: 'CH',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+41',\n },\n {\n name: 'Syria',\n code: 'SY',\n timezone: 'Syria Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+963',\n },\n {\n name: 'Taiwan',\n code: 'TW',\n timezone: 'Taipei Standard Time',\n utc: 'UTC+08:00',\n mobileCode: '+886',\n },\n {\n name: 'Tajikistan',\n code: 'TJ',\n timezone: 'West Asia Standard Time',\n utc: 'UTC+05:00',\n mobileCode: '+992',\n },\n {\n name: 'Tanzania',\n code: 'TZ',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+255',\n },\n {\n name: 'Thailand',\n code: 'TH',\n timezone: 'SE Asia Standard Time',\n utc: 'UTC+07:00',\n mobileCode: '+66',\n },\n {\n name: 'Togo',\n code: 'TG',\n timezone: 'Greenwich Standard Time',\n utc: 'UTC',\n mobileCode: '+228',\n },\n {\n name: 'Tokelau',\n code: 'TK',\n timezone: 'Tonga Standard Time',\n utc: 'UTC+13:00',\n mobileCode: '+690',\n },\n {\n name: 'Tonga',\n code: 'TO',\n timezone: 'Tonga Standard Time',\n utc: 'UTC+13:00',\n mobileCode: '+676',\n },\n {\n name: 'Trinidad and Tobago',\n code: 'TT',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-868',\n },\n {\n name: 'Tunisia',\n code: 'TN',\n timezone: 'W. Central Africa Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+216',\n },\n {\n name: 'Turkey',\n code: 'TR',\n timezone: 'Turkey Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+90',\n },\n {\n name: 'Turkmenistan',\n code: 'TM',\n timezone: 'West Asia Standard Time',\n utc: 'UTC+05:00',\n mobileCode: '+993',\n },\n {\n name: 'Turks and Caicos Islands',\n code: 'TC',\n timezone: 'Eastern Standard Time',\n utc: 'UTC-05:00',\n mobileCode: '+1-649',\n },\n {\n name: 'Tuvalu',\n code: 'TV',\n timezone: 'UTC+12',\n utc: 'UTC+12:00',\n mobileCode: '+688',\n },\n {\n name: 'U.S. Minor Outlying Islands',\n code: 'UM',\n timezone: 'UTC-11',\n utc: 'UTC-11:00',\n mobileCode: '+1',\n },\n {\n name: 'Uganda',\n code: 'UG',\n timezone: 'E. Africa Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+256',\n },\n {\n name: 'Ukraine',\n code: 'UA',\n timezone: 'FLE Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+380',\n },\n {\n name: 'United Arab Emirates',\n code: 'AE',\n timezone: 'Arabian Standard Time',\n utc: 'UTC+04:00',\n mobileCode: '+971',\n },\n {\n name: 'United Kingdom',\n code: 'GB',\n timezone: 'GMT Standard Time',\n utc: 'UTC',\n mobileCode: '+44',\n },\n {\n name: 'United States',\n code: 'US',\n timezone: 'Pacific Standard Time',\n utc: 'UTC-08:00',\n mobileCode: '+1',\n },\n {\n name: 'Uruguay',\n code: 'UY',\n timezone: 'Montevideo Standard Time',\n utc: 'UTC-03:00',\n mobileCode: '+598',\n },\n {\n name: 'Uzbekistan',\n code: 'UZ',\n timezone: 'West Asia Standard Time',\n utc: 'UTC+05:00',\n mobileCode: '+998',\n },\n {\n name: 'Vanuatu',\n code: 'VU',\n timezone: 'Central Pacific Standard Time',\n utc: 'UTC+11:00',\n mobileCode: '+678',\n },\n {\n name: 'Vatican City',\n code: 'VA',\n timezone: 'W. Europe Standard Time',\n utc: 'UTC+01:00',\n mobileCode: '+379',\n },\n {\n name: 'Vietnam',\n code: 'VN',\n timezone: 'SE Asia Standard Time',\n utc: 'UTC+07:00',\n mobileCode: '+84',\n },\n {\n name: 'Virgin Islands, U.S.',\n code: 'VI',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-340',\n },\n {\n name: 'Virgin Islands, British',\n code: 'VG',\n timezone: 'SA Western Standard Time',\n utc: 'UTC-04:00',\n mobileCode: '+1-284',\n },\n {\n name: 'Wallis and Futuna',\n code: 'WF',\n timezone: 'UTC+12',\n utc: 'UTC+12:00',\n mobileCode: '+681',\n },\n {\n name: 'Yemen',\n code: 'YE',\n timezone: 'Arab Standard Time',\n utc: 'UTC+03:00',\n mobileCode: '+967',\n },\n {\n name: 'Zambia',\n code: 'ZM',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+260',\n },\n {\n name: 'Zimbabwe',\n code: 'ZW',\n timezone: 'South Africa Standard Time',\n utc: 'UTC+02:00',\n mobileCode: '+263',\n },\n];\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\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 AccountBox from '@material-ui/icons/AccountBox';\nimport CardMembershipIcon from '@material-ui/icons/CardMembership';\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 '../../utils/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';\nimport { BarChart, CreditCard, Description } from '@material-ui/icons';\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 {user.role === constant.CUSTOMER_ADMIN_NAME && (\n \n {\n handleClose();\n }}\n >\n {' '}\n Account Settings\n \n {\n handleClose();\n }}\n >\n Subscription\n \n {/* {\n handleClose();\n }}\n >\n Settings\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 {user.role === constant.SUPER_ADMIN_NAME && (\n \n {\n handleClose();\n }}\n >\n \n Content Management\n \n {\n handleClose();\n }}\n >\n {user.role !== constant.CUSTOMER_VIEWER_NAME ? (\n \n \n Subscription Management\n \n ) : (\n ''\n )}\n \n {\n handleClose();\n }}\n >\n \n Analytics\n \n {\n handleClose();\n }}\n >\n \n Activity Logs\n \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
\n {children}\n
\n
\n
\n );\n};\n\nexport default Layout;\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAACMCAYAAACuwEE+AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7tXQeYU1X2/51Mz8ykzDCAOMhQFKWIi+iKWFBsqy6CiBT1b1nALrKigoigqKusiGB37WWRoqDIilhRdEUXG1KVMjSBAVKmzyS5/+++vCQvyXvJe8nLS4B538eXL8x9t5z7y2n3nHMJh8nDHMwGk7srfDgGwNFgOAaEdgAzg5EZxAoAKgBjZhAVC2RhrBpEdQCrB6N6EKsDqA4Mu0DYCOA3mLARFss6InIfDqSkQ3GRjLF8uFxnwIcBAJ0KYj0AsqV4rVVg2ACwb2DCJ7BavyKihhSPaXj3hwRgGGNZcLtPhJcNAGEAGPUDId9wakoHZGgAsa/B8Cmy6BNYLD8QkTetc9Jh8IMWMIwxgqP6NICNAOEyAGU60COVXVSBMB8+mgN78ddExFI5WKr6PugAw5y1veFrHgFgGIjap4owKe2Xse0A3gZl/5vsRT+ldCydOz8oAMPc7mPgZSPBMByErjrTIL3dcb2HMAdZNIcsFq5IZ/ST0YBhjFngcN0MorEA2mQ0JZOf3B4Qmwmf9TkqIVfy3aWmh4wEDKuuLkOz9w4AN4LIkpqlZ2ivjLlgMj2DbNMsKirak2mzzCjAMMby4HCNB3APiMyZRixD58O4zwcPwW6dTkQeQ8eOMVjGAIY5qs8AvK8A1ClTiJMR82BYCzLdQvbizzNhPmkHDKurK0dj0+MADc0EgmTsHBjmIT9nPJnN3MJK25M2wLSInwT2PCSmZhBRYwI9JP1KWgAjcpVFAJ2Y9AoOyw7YKuTlDiKzeYfRyzccMMzhvgTwcV3FbvRiD63xmAMwXUt2y3tGrsswwAgHgg734yDcaOQCD4OxnobNMt6og05DAMOczk7w0fsgdD8MNtD4JTKsgYkNJJttc6oHTzlgmMt1EnxsmQHhBammVYb3z5ww0XlktX6fyommFDDsgOsigM0FUWEqF9HSt0gBxmoBGkYl1iWpoknKAMOczmFg9CaA7FRNvqVfWQp4QOxKstnmpoI+KQEMc7pHgbEXAKSk/1QQ4hDrk4FoDNksL+q9Lt03lDlc9wKYpvdEW/pLhAI0nuyWGYm8qfSOroBhTuf1YPScnhNs6StJCjDcTCXWZ5LsJfi6boARFFzC+wBMek2upR9dKOADo0FUYlmsR2+6AIY5qs8E8y1Ne+C1HhQ5FPsQAtJNF+px4p00YJjT2Qc+fBbM5TkUCX4orInnWOVk9aXi4jXJLCcpwDBnfUewJu4oKk1mEi3vGkQBnoBnYqcn4xFOGDCMsQI43P8DoZtBy20ZRg8K8GMEu+UkIqpPpLvEAeNwvQrg6kQGbXknzRRg9DyVWG5IZBYJAYa5XMPhw5xEBmx5J1MoQIPJblmkdTaaAcMc9R2Axp9aDhO1kjrT2jMnkHcC2QsqtcxME2AYY9lwur8BcJKWQVLV1rv3AJrWbYGncjeatu5G89a98NXy/HcTfIwvzQQmnE6YwDNrmfgZ9Z3i/F3ST7BfIdFVMg4fjyK+w4TsMjPy2hSioJMF5s5WFPe0I79txiREfAeb5TQiala7R9oA43BNBTBFbeepaOfdux9Nq9agfunX8FY5lUEQtsn+zeWgUbPJIVCEQKcItgAYBdCFxpFtL4I3p3UB2g7qAHvfskwAz/1kt/J9VfWoBoyYrvoLgDxVPevciAOlYeFHaPiSW/ERm08UBIMiJ9HAaaJAFeQknEvJgE4Fp4mal3gu2+rcdjjyik7pBE4j8nK6qI0PVg+YAy7uyT1fZxzE7Y7V1qHxo8/RsHBpGCiETZWAIHqTyS+WRHGjDIJkxBbCORyixV58juYnwZFXdkbbS45CdnFOXJqkoMF7ZLcOUtOvKsAwh3sQwBaq6VDPNt6t21A363mw/Y6QThLQTVj8zYoSCxLwyIqnKBCKoIviaAriTaoraeJofqrltsnHMZNPQGGXdGQHq7Oa4gKGMZYLh+t3o0trNH+5Ao0vviarSEbqGH5OExJLUX+P4DTJiS3/OJFglFO0ZecRAF+Ughz6qXX6e3eUnXeknr+9+H3xEiR2axciaorVOD5g0qDoNi9bhqa33o6wbjgm1FkzMTdTwZqJsn5iijtxHhEcK5aiGw0yCYcM9hPajqOu74ojBneIv9H6toirAMcEjFBIkLl2gahA33kp9+b5aCma53CfYLRpHP2LlVg/MiatnKKpztqJNMUjrKw4YIqnOwXnFSa2AhxSApoxXXHEpQaChrF6kLUd2cmptENxAGOsGe1dsRzNL/1LwllkrB8Z3SCn9/HIOfF4mMpKBHGR272LUfiOOU7NL/5qHfWbXahevRfulbvlTXsZ3SnQseHiibGJVGJ7RDNghMQzp2uXURmKrHILmu+/J9pPEsVp/IoolbZC3uCLkXNiL1BhxjjCYgLIU9ME13934Y+31qG5qlHw2wgcT1ZBDv2Wezx1inGKMGM7RV1GtgKoIodhTucNYPSsET9VVlsDz9S7gf37/USMpRvkm5Fz/rnIPX8AqPDgzF7hwKla9Dv2vrcJnlpeWFNidYWJO//2cOup51N9jTO5id1INptsqK0sYIQypk73WkAogpzyx7fobbDF78Twq4g6RL4ZeRPvRlYHA+V6Cldft8mJ3yZ8BW+tN+pHEtLh/FvEnXvlVxkkahk2UIn1WLmlywPGwNNoVrUHbOIN0aZqhEcV5Uchb8I9By1XUcKdp7oJv038CvWbq0OmepQ16N+mXq+eZqBHWN4vIw+YA65vQfhzCn9coa5ffgK+b74IY8v8SCbMmsk3I/efsw45sASIwEGz5rqPBE4jd4Dptw4Jrc45Ap3H9zRkW8Cwkkqsp0QOFgUY5qivAJp4UndcH03SM9+3G5g4WhhK0clVYEb2XVNg6lCR9HDp6ICfnjdVVqF29R7kVrRBdpkFBZ2sUVMJE08S517INeAXywZyGQZiR5PNtkk6WRnAGGhKf/oeMP8lwMt5SoQHVWTL9NehyBp0eTr2OukxPes2ovr5BWjY3YgmbxGaPEVo8hWhdFgftB15XFT/f7y5FrvnbFA84OTgaT/mWON8MzImdjRgDrjWG1Y8efIoYN8ebhYFQRPGaUpbwzTlMVBhUdKbZ3gH27eg8b570eQtRJO3GE2eQgEsAdBYL+qF8jG9wqbFraf1t3yK5qoGUacLnY4Hzr7yO1rQ85l+Bi2H/Ux22wmKHIY5ak4AvD8aMpv9e4Cpo7myAnDLkn/6BJs6qADjmlthOu1sQ6aj+yCP3Q62YTOavcVo9BSi2Vfk/+TgEUBUhKMevBBFPcOvSDjw8VZse2JVTP/M8a+ciTzDgrCy/iQtbx/GYZjD9QQAXnU79c/KT4B/P+kHiS8EloB4Epxzs946OLkLp94DgwGXD8zlE8FSJHwKnEYEjXXoaSgbEfYDBucya4a/F63TSfwzFeN6oey88tTvkX+EWWS33h4YLAgYMfxyl2G3gix6EVi+WOQwgstTBI4InuP/DNzC8/pT/zRu2YOmrfvRvLca3tpmNGw+IPzCcytaIaswH9mti5FfYUdB5xJ1k9m9Fpg3BXB5AbcPcHrR7C1Co5dzGM5p/ODJPb0P2tx6TlSfW6atCB4jMJngsLKBHdHhBsOKee0hu7VtNGCMFEd89GfuATatCQeJIJ78YglX3Qb0iyamuh2L36r++/Wo/24jar/7Hb46D3zMBLBs4ZMhCz6WBe6/9H/3/z+Z81H856NgPaUc1r5xwg9eG+YHCweNy//Z7CkMA03BkAtgHXp61GSrFm3Arhf5JSfyMcNFPVrh2Omnxl+kbi1CYinEYQ44J4DoH7qNEa+jKVcAdbUScSQBCxdTYx8Euh4frxfNf69fvgo1Cz6Dp6oGLAAOX5YIEhEcPgloOHiE7yEwMV+WwHXajOyO0nMUvM5fTwM2/xoES5DTeMyCWOK6TNFDE5Dd4YioNfBDy82TPg8PO5Ucl+SUmdHz1XM1rz2JF8aR3crVlZCvhTmcXwB0ZhKdant1Ag/iE8WPj0SFNwAaALfqCxjP1h2oeX4umit3+zc/AhQsAhQ+lSAq7NEaR44+HubOETcENlQBX0wEqqqjOI2nuQC+swch94qRsjSr+WU3Nk/6LNyZKQ3aIhN6L7lEG72Tax0M4RQ4jBBV53TzSy6NC/CeNFii8IpWkiCORBDN5pVD9Hkal36G+rcWRokZgcMIYkfCYeKIJSi0P3J0L7Qe1Dl8wjWVwA/PAdu3hHOafpcDF/M7wuQfb00j1o1cEB0KITku6b1ksD7EUdfLftgsZfwWOT9gHNX9AZ+xlx/cO1jCYSKsJA6aJ/SpV9zwwstoXrEyBAoFTuIXT9GcJ1IcSTkPBHEVApt9QEdU/L139Ba4K4F9W4H8VkBJBZAf/5T914FvxMyn+tOSS9VttW6t/HqMCBgDvbuBBUy5NMKkjvDHPJ48YBpnPwHvD7/4FdcIzhBPwZXjPEGdR0YhDijIiqDRuHFrL3ld+bgEhBM+4NdcGvoIeowIGIP1F77OqQEOEzCnRXEUsJIe05z2G0Y9z0vPwrvi65hWTwAUfk4RrtiG6zDhnIRzIr/OIxFnkvf1AM3aga/GjAvq9YHhl78IeowfMEYeBwS2dRrnMHJgEf9veuKA8S1bDN/cN0ImsQoFl1qVIvvYzjCVlYLMPISZ4K1tgqeqGnWrd8Czr07BqooGEwdfu9G90GZQ4vEr6wa9ohzOyQi9PhhmKHvhd3LzGBlinM863Ty1IMvQGTx4qbLTjuswjyQImG2bwB64I8x/Ekuxzel3CvIu6I/sitieU+7cc3/wI9xfrAdPMY8vnrLQdfaAaOtJJZHXXfJSMDc8OguC0HOxstKscgitzbywWXJJDGfYovXtpNv/Y0i4lRQ8HhBN638kCJiHxgJbN/vFRQwFl9pXIHfk5cjupu2S2vpft2P/y8vRWOmMMs0jxyvs3gZdHknMU7Fh0ItREYjSLIiei+VN8qT3JWYHuR2JuVwXwIcPUzuQTO+PDIngMPxMSeKPeTCBREt+PvXGbP9hpodJPLXhnlvTn/ogd9SohAOyvDUNqHpqGWq/q4xrkpePPRml52qP5dkwiNfFlqbacBqGvvd4/0rDtwwm/IWYw8UPlmYaPvo/LxOPAQLOO1F3CRwPTEsAMA+NBvbtFcASBRrRSqITTkLObfzC2uSf3Y+8j9rvK8NMa6lpzkUh9wgf99LFmgfbOPh5vw6jkLzX/f2rNPepwwvjiB1wPwdi1+vQmbYuHgtwGElog/TUeuq72vpb8y3wxiNhYAmBxuQXH+WdkXXXVN1OwDmn+eO+BWisdMS0sjo9dA6Kjm+taT0bB/NazJFVKkLfu72XlmpxsziH4cqCoX5mgXIzOYeRA4voj5miETDvzgZWfS5yFl+Qw0hBgzseBB2rb0xs/a/b8MeUd0NnUaKnWDDVRX+N5azOaD+urybA/H7pM+GB8WL9mYAC3O29azX1p0tjhrnE0lTGA09cFttKulcjYKZfCdTWAZ5osAigOeks4NpxutAtspOqJz9ENbeeFDzFpsJ8HDdnuKaxf7/0SdmkPkHxJROOW3Sdpv50aczwEQeMcRkC0lk/OVSiw8j4YyZpAMyezcDLd8qKIyFcgus0d84E2kec9ehCRaBpyx7suvPNoCkvd0bV8fGB6uNpAGwa8qToh5FUpZAEUR27aJROs9fQDc8kSIvTjs/xqaHKVhLXZSa+o34lv34G/OfpKDEUBIulDJis+00wYfPbceOz8FTVRllNAX9N21vOgO2co1WvafOQJ2KWY+u6iGdbGPxw5x1zOLcCZHwq4bOXx7aS7tYAmG/nAv+dH85hPH7TWhBHvfoDw1Mbebr/6cWo+WKtIJbkjg1KhvVB2QiZg0mFPd9y2cyYiftdFxpvpwCskiu9uwG0MRirwHNDQ0cDwUg7SXzMnQvUT+nTp4A1X0RzmABozrwcODe1nlHXvOVwL+BnV+GRegHxZLmoF9qMUh8lt2XIjJj1cI5ZmFBdZvU0lW+5hwOGZ+kbFwcTmMgLlwezBPxhmRH+mDs0AOb9KcCOdcoK77nXAKcOTJZYMd+vWfJfOF/7RLixMBjmKfE053crR/mDqsrICeNUDn1M+bSaEY5eeFNK16PQeWP6APMiB0wgDiYitIH//zgNgFkyFdixRkaHEcXSgGuBvn9NKYFrlnwD9+vLwnQYaQhF7nHtUc7Pz1Q+lZdNj5FqYkKXd29W2ZOuzQTApEckvTxMEpYp448ZqwEwK54GNn4ZYSWJ1hHXYfoOBc7QZtZqJXPN/E9Q885yxQDy4gtPRKvr1J8rbRv6aMwMyM7v3qp1inq05yIpTUrvqxwwUg4TkWpy63z1C/xlPvDjAgmHkYCFK77H9QcuSi2B3c/MRf1XPwc5TGSMsGVIP9iHq9dhtg3l8fhKdWNM6PTOberpo1tLrvSmIxaGL+D14dGB39L4mJs1AGbLF8A3zyn4YQCYS4Exqb2K8sDoyUL8jFIoRclNF6HoLPVe5h2XP+z39CoUV+r0TjC3TDc4xO1IMKvT5bh7M8BhZALA+an1jfPizj/YgDPJjyYAUlM6eAApen5HTAfadFLfp4aWPCPBNWmGGFLBw4ok+Uxi8FbrR0cht6N6Y3TH5Q8q5CXxiZnQccHfNcxQp6ai4y4tFb7x7wCHERPxI62k6zUAhtPjveuAhjplxfeYM4HzbtGJcuHd1M58Hs0/rA2Pj5EkwbH8ArR79W5NY+8cNk0xL4lznooF+py4a5qUcDSQrsNHfrYSCRKpP2a0RsCsegbY+pWyWOIc55IpQPsemmgUr7Fn7XrUPTIrLNA8yGHEg8j8M3rDdpN6C4mPuXPY/RIdJqJ+DpnQYf6d8aam/9/9h49pCm+YNyK2lfQ3jYDZ/T2wcqbfe8zBISeebB2AQVOAfH3Kh7DaWjQ8+k94t+4My4yMTIKzThqFvO7axOEfw6fGLOPWYf5d+gMifo9CeEN6Aqjmj5DJS5L4Y66dG3/6kS0+uw2orgqJJTnQtO8DXKQPsZtmz4Tnh5+EGN+As44rvdKcbJSWoHQ2Lyer7flj+OSYeUlHzZ+grUN9Wo9LX4jmuyNj5yVdnQBgdiwHfn5BIpYUQh04aM6+KWFOw8vEel95Ft5VvJROtIIbzKT0mWAeMxL5Z56sebv2jJgs4+n1K7y8rm/7edpBqHkSkS/4QzSFmnbGB4EvDHAYhbykq/hdAwk8K6cB+9YrHxMErCcunvpdDZRr02nY+l/A5r4C37btUYHmkflNpmO7onhSYoeee4bfEzMvqXzepASIk+wrPAg8XWkm7wc4jEwiPvfHXJEgYKq3At9MkjmIjHDmiYHiOKY/0OtCoHXH2NTcsRlYMgf4cSWYl+ej+yPqIhVcaakQ8wOTkFXRPqFd2jvynuANb3IFI8vncZFl4MNYDexWa/oS2XiaRCwraUSCgOE03PYhsO7NaM+vrJ9GDIEwtwLadQOKWwO5Zv/ceDmS/XuB1SuBmpowEDIPbxIQR/5kNql4yh4+ArkXJF6SY+8Ibob7xY/chRpHzr3PQLTwofz17gK51cbH9f7nCvlyZQEQDUsCMHx9a54Ddnyl4JdR0G0k2QZ+KytOuyCnkaTZsizQqWcgd/SYpDZ038i7Yt44126u6msak5qH5GVJqmwa7kTCh5zDiOJI7tR6qA7XYsuCRgVYBHHlU/Ach1JYeHAW4/lP8FtG/BN9+yN7VPKhB/tGjo+6HlCal3TE29xPY+gjTcZPQ7mPZVfGtpKG6AAYTs+1CpwmKJ4UdJuAjhP8jN1OAM0pA2D6mz6HnPuvuCNmXlLbt6cZihZAWu6DsTw43E4Q8g2bxcdXRJdclXKawToBJqDTrJfqNGKcjODgC+cY8t9VtLv0OuBc9QFSsejsq62DYwy3gpTzktrM4WdNRj3MSXabnY8WqnFndMmyzwIcRsFKOnUSUKZjpUhuPa1/QzS5lUASQ1yFKcySdhXdgUF/0zUjoXntRtQ8LJeXFFKA28x52Ci08HHCS5YJOrDResw3Y4GG/cqpJqfoDJgAeXcuBza+A9Tsi1CIVeg2UkW4qBVw9nCgzwDdN84PmKcULxvjN8+1mq3tMDPJScoVRTRYj/n5IeDAOuXCiN2uBDpdmOQ6Y7y+fy2wfTmw83/+U+4ok1tGDJkKgC4nAz37AxXqY1u0LiJQky9QLj7yjsjsrp1gu8/IIHCZsqsilzEuXHPTG8DOZcqpJq16AycZdITP42n4v5oqoIH7Xrb652WrAHLMQFFroLQivnNPKzIU2tfNfA5NP6yO1mEEnQbIP/8MFF1tWHbzXrJbg4E86Ssdv/dLYMO/YjvvznkeyNHnZFmnvUx5N/wEvPpG/kNRvkzdPGZYQudTCU5evnS8n8MYeDlFw17ghztiJ+T3GAOUqw+cTpAgGfVa85dfo+HF1yNM6vDbda0zJyOrdalB845xOYUAGiNjfFfdDjQeUPbH5JYCpz4M5MQvU2oQ9VI6DOcudeMngNXxVLGIsvHid1NpKayzpqR0HqHO41x/Y7i1tHspsOWt6IsppHcOdBwEdDG8xKhBGxI+TNPChWhetDj8srGIK4rzRw5B/l/OMmZ+qi7Ycjo7g9Fvhlzh11gF/HyHyGEU/DEmM3DiPYBFe9kvY6iqzyi+yq1ofPRRoK4hFAcTdlGqXywVz3gAptat9Bk0di8MlNuZbAVhoS/pvyR08wvAvhWxS39kFQKnzTxkRRMXRY133g7UB25iCym8UpM657RTUTDGqMpTbDnZbf0jMSUPGIeb3xyRQJG5BIDPucxqzmVkyscHc655btFRQJ9JhxxohEvepz8Itn27fISdJC/J/NjDMJUZwl24gBlMdktUKVPFm2OZw7XBqIvOsetdYOei2CY2vxLHVHhIiSdWuQWe6VP9nEUm7kWq+GZfMhB5lxrme/mN7FbZS+5jAMZ9DcBeSYBnaH/FUwusnww07ItRAkQM5cwyA+XnAx0uOGi5Decq+HQJfMs+EMDikyi2UbfrwgR+yXv+xLsTLhOrfUPoWrJbXpV7TxkwPMDD4d4GQjvtAybwRl0lsP6+2CEPUrGVUwp0GQK07n3wOPc4UH76Fmzx22D7quSdc2GKrgks34y8CffA1MGwmk+/wWY5joh4YEfUE/Myc8NTUPZ/CVS+FDtfKXBlsTS8s6w3UMLDK0WituqWAGJT8Mrvq/1idscWYONq4KeVoTJtoidXEEUx6vFmXXc9sk8/IwWTU+iS2I1ksykmoscGDGP5cLp2ASTEQhjy7F0K7JgTkagvF5kn3g0ZdiutTJ0Z8Wpj2aJF0kzLwC0qUf3pPI7Qv7geRGQ0Bpx1oqKbNfz/kHVeCg9gIzeU4Q/YLZ2IiHsOZZ+YgOFvMKfzBjB61hCwBAbhoNk5J7apHSu8Uy8QSTc3rKyawi0ssnWHFXLHA/2JHCYY6C2ChYZdg6zzLjKU7IjDXfhk4gOGp6E43KtBMJbPc/G07aUQaBQ5gEIl8agyaCKnkCuPJldjT+BMkjsoY13VE1XnJkascox7ugMHjnTtLcZf8M6wHnZLdyLiq1F84gJG5DLngNHHxsKdp3lUAptnAY2xrCcFD7HcJhoCogTFJ68Fc2RH4LqxoKO05WHrsi9kGkC2Yn4zacxHFWAE0BxwvQ2Cwbc68djbWqDqowg/jQaQqBJPSeg+imIr4nYWqRNSDswXDgMGXAIUpiGcg1dlKLGqqummHjB1de3R2MzPmIyvuMkRyz3CuxYC+76WqVylcXPSBiIZ3eeks4ELRwCt1BcbiscFNP69EXk5Xchs3qHmPdWAEbiM0XG/civgwHGsAv5Y6g+N0FUnSVCcyB1rBEEpU2GrTQXQ52yg5ylAadqAEqDu/WS3qs6K0wYYxnLgdK8AoL0cgRr4am3DLxN3rwNqK4HqbUA9D7GUBpZzzhNxD1Osy9VlFVu1CqyCWLO0Bnjp+rYVQNuOQKceQEnaQRKg9PewWU4lIh7RrOrRBBg/l6nvANa4FkRmVSO0NMpQCjAnkHcC2QsqtUxQM2D8oDHwnEnLalraqqeACSPIatWcwJ4QYER9hh9OGRWcoZ4QLS3VUOA1sluvUdMwsk3igGGsAA739yDomJ6YyBJa3tFEAYa1sFv6EFG9pvfExgkDRuAy1dXd0Oz9vkWfSYT0aXiHsTrkZPWh4uJ1iY6eFGAE0BxwXQQCj8zKTnQSLe8ZQgEPTBhIVmtSV04nDRgBNC7XcPjwlhDg0fJkIgV8IDaCbDaNtWyjl6ILYATQOJ3Xg1FqC/pn4lYcDHMiGk02iy53GOoGGL94ck4AEb+Go+XJGArQeLJbZug1HV0BI4LmERAZWotCL2Iccv3IJKIlu0bdAeMXT+5RYOwFNfE2yS6g5X1ZCngBGk12i+5B/CkBjKjTDAOj19J2un34IqkRJgwiq3VpKkiQMsAIoHHwIkXehQDZUjH5lj4jKMCYC5Q1kOzFX6aKNikFjACa6uoe8Pg+BdA6VYto6ZcTmu1ATtb5VFy8NpX0SDlgBNAIwVdNbwB0eBV7SeXOSftmWIH8nBFqg6CSmZYhgBFAwxPjXNX8mjF+b4th4yZDnIPgXQbGpsNunaSUeKb3GgzfOOZyXSB6hUv0Xszh1R9z8BhrstkMDc43HDAhEdXML6bOjMi9gw1pBoqgSNKkBTCiiMqFq5rfU9ciotQD1nARlDGACUyE1dWVo7GZZ1ZerJ5uh2FLhnnIzxlPZvP2dK4+bRwmctFimMQsAJ3TSZAMHHsTYBpN9uLPM2FuGQMYUUzlweEaB2DyYR+UxYOdgIdgt84gosZMAAufQ0YBJiimamrawOMbC5/vJhBZM4VYhsyDMTeAZ5GTNYOKi3kRmYx6MhIwQeAcYFaYXLx6BOc6GZPMk6Id3APGZsFufZqIOGgy8slowASBw+vUuFzXgOFOgNKQqZ7KvWNbwOgx2C0vZZLoUVrxQQEY6eSZy3UyfLgSAE9Y73SOAAAA3klEQVQeL0vlVqawby5q5sKEt8hq/TaF4+je9UEHGAnXyYbbPUAAD2ODQZTZ9eUZqwXRIg4SWCwfa0lP1X3Xk+jwoAVMGNcRRFZtP8B3NnzsLBBOyoAshiYAKwF8Dpg+h63o21ilwJLYQ0NfPSQAE0kxxlgR3O7T4WVnAdQXhK4GiC8uZtaDaAXg+xxW69dExE3jQ+o5JAEjt0OMMQvc7uPgAy9YfDQYjvGXlGVmMDKDWAFABWDMDKJioQ/GqiFsOqsHo3oQ941QHRh2gbARwG8wYSMslnWZbNnoidj/B8Xpp0ZG9gbBAAAAAElFTkSuQmCC\"","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 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(\n socialMediaResponseErrorWithMessage(error.response.data.message)\n );\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(\n socialMediaResponseErrorWithMessage(error.response.data.message)\n );\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 each profile\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 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:\n typeof fanGrowthSelectedProfiles === 'object'\n ? fanGrowthSelectedProfiles\n : [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:\n typeof interactionSelectedProfiles === 'object'\n ? interactionSelectedProfiles\n : [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:\n typeof selectProfile === 'object'\n ? selectProfile\n : [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:\n typeof selectProfile === 'object'\n ? selectProfile\n : [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\n ? contentQueryParams.page_limit\n : '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 =\n (contentQueryParams, pageLimit, page = '1') =>\n (dispatch, getState) => {\n const { activeSocialMediaType, customDateRangeRed } =\n getState().socialMediaProfileListReducer;\n const searchKeyWords = contentQueryParams.searchData.map(\n (value) => value.label\n );\n let feedTypesQuery =\n contentQueryParams.postTypes.length === 6\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\n /* api call to be made */\n const { startDate, endDate } = customDateRangeRed\n ? customDateRangeRed[0]\n : '';\n const { oldContentNewsFeed } =\n 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 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 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 (\n response &&\n response.data &&\n response.data.data &&\n response.data.data.is_downloading\n ) {\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 const handleClick = (socialMediaType) => {\n if (activeSocialMediaType !== socialMediaType) {\n dispatch(setActiveSocialMediaType(socialMediaType));\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 //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 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={\n addedProfileListLoading || socialListening ? true : false\n }\n >\n \n \n \n \n )}\n \n );\n};\n\nexport default SocialButton;\n","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","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 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 gap: 8,\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 textColor\n}) => {\n const classes = useStyles();\n\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 style={{boxShadow: \"none\", margin: 0}}\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 color: textColor\n }}\n >\n {confirmBtn}\n \n ) : null}\n \n \n );\n};\n\nexport default Alert;\n","import {\n Avatar,\n IconButton,\n makeStyles,\n Tooltip,\n Typography\n} from \"@material-ui/core\";\nimport React, { useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Spinner from \"../../../Components/Spinner\";\nimport { formatImage, formatNumber } from \"../../../Functions\";\n\nimport ErrorOutlineIcon from \"@material-ui/icons/ErrorOutline\";\nimport RemoveCircleOutlineOutlinedIcon from \"@material-ui/icons/RemoveCircleOutlineOutlined\";\nimport SystemUpdateAltIcon from \"@material-ui/icons/SystemUpdateAlt\";\nimport Moment from 'moment-timezone';\nimport { Link, withRouter } from \"react-router-dom\";\nimport Alert from \"../../../Components/AlertBox/Alert\";\nimport { deletePagesInfo, updatePagesInfo } from \"../../../store/actions/SuperAdminDashboardAction\";\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}) => {\n const classes = useStyles();\n const dispatch = useDispatch();\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 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 { Box, Container, Grid, makeStyles } from '@material-ui/core';\nimport { useEffect } from 'react';\nimport ReactPaginate from 'react-paginate';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Layout from '../../Components/Layout';\nimport PageTitle from '../../Components/PageTitle/PageTitle';\nimport SocialButton from '../../Components/SocialButton';\nimport Spinner from '../../Components/Spinner';\nimport { getPagesInfo } from '../../store/actions/SuperAdminDashboardAction';\nimport DashboardTable from '../Components/DashboardTable/DashboardTable';\nimport { Styles } from './Styles';\n\nconst useStyles = makeStyles((theme) => Styles(theme));\n\nconst AdminDashboardPage = () => {\n const dispatch = useDispatch();\n const { activeSocialMediaType } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n const { pagesInfoLoading, pagesInfo } = useSelector(\n (state) => state.adminDashboardReducer\n );\n\n useEffect(() => {\n // fetch profiles list info\n dispatch(getPagesInfo());\n }, [activeSocialMediaType]);\n\n const handlePageChange = (pageNumber) => {\n dispatch(getPagesInfo(pageNumber));\n };\n\n const classes = useStyles();\n\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 &&\n pagesInfo.responseData &&\n pagesInfo.responseData.length !== 0 && (\n
\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 { useSelector } from 'react-redux';\nimport { Redirect, Route } from 'react-router-dom';\nconst AdminRoutes = ({ component: Component, roles, ...rest }) => {\n const { isAuth } = useSelector((state) => state.auth);\n\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 return ;\n }\n\n // authorised so return component\n return ;\n }}\n />\n );\n};\n\nexport default AdminRoutes;\n","import {\n Grid,\n Card,\n CardContent,\n Typography,\n Box,\n Chip,\n Button,\n useTheme,\n alpha,\n styled,\n Divider\n} from \"@material-ui/core\";\n\n\n// Styled components\nconst PriceItemContainer = styled(Box)(({ theme }) => ({\n display: \"flex\",\n flexDirection: 'row',\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n textTransform: 'capitalize',\n padding: theme.spacing(2),\n transition: \"background-color 0.3s ease\",\n borderRadius: theme.shape.borderRadius,\n \"&:hover\": {\n backgroundColor: alpha(theme.palette.primary.main, 0.04),\n }\n}));\n\nconst PlanCard = styled(Card)(({ theme }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n transition: \"transform 0.3s ease, box-shadow 0.3s ease\",\n \"&:hover\": {\n transform: \"translateY(-4px)\",\n boxShadow: theme.shadows[4],\n }\n}));\n\nconst DiscountChip = styled(Chip)(({ theme }) => ({\n marginLeft: theme.spacing(1),\n backgroundColor: alpha(theme.palette.success.main, 0.1),\n color: theme.palette.success.dark,\n fontWeight: 600,\n}));\n\nconst CurrentPlanButton = styled(Button)(({ theme }) => ({\n borderRadius: 20,\n padding: \"4px 12px\",\n fontSize: \"0.75rem\",\n backgroundColor: alpha(theme.palette.primary.main, 0.1),\n color: theme.palette.primary.main,\n fontWeight: 600,\n \"&:hover\": {\n backgroundColor: alpha(theme.palette.primary.main, 0.2),\n }\n}));\n\nconst SelectPlanButton = styled(Button)(({ theme }) => ({\n borderRadius: 20,\n padding: \"4px 12px\",\n fontSize: \"0.75rem\",\n borderColor: theme.palette.primary.main,\n color: theme.palette.primary.main,\n \"&:hover\": {\n backgroundColor: alpha(theme.palette.primary.main, 0.1),\n }\n}));\n\nconst PriceItem = ({\n id,\n price = \"\",\n duration = \"\",\n handleClick,\n discountPercentage,\n currentPlanId\n}) => {\n const theme = useTheme();\n const isCurrentPlan = currentPlanId === id;\n\n return (\n \n \n \n {duration}\n \n \n \n AUD {price}\n \n {discountPercentage > 0 && (\n \n )}\n \n \n\n \n {isCurrentPlan ? (\n \n Current Plan\n \n ) : (\n \n Select Plan\n \n )}\n \n \n );\n};\n\nexport default function PlanDisplay({\n plans,\n onPlanClick,\n currentPlanId,\n}) {\n return (\n \n {plans.map((plan) => (\n \n \n \n theme.palette.mode === \"dark\" ? \"#fff\" : \"#122740\"\n }}\n >\n {plan.name}\n \n \n {plan.description}\n \n\n \n\n \n {plan.PlanTypePrices.map((price, index) => (\n \n {index > 0 && }\n onPlanClick(price)}\n duration={price.duration}\n price={price.price}\n discountPercentage={price.discount_percentage}\n />\n \n ))}\n \n \n \n \n ))}\n \n );\n}\n","import { Divider } from \"@material-ui/core\";\nimport axios from \"axios\";\nimport { Footer } from \"Components/Footer/Footer\";\nimport PlanDisplay from \"Components/Subscription/PlanDisplay\";\nimport { useEffect, useState } from \"react\";\n\nexport default function NotPaidDashboard({ hasPaid }) {\n const [plans, setPlans] = useState([]);\n\n const getSubscriptionPlans = async () => {\n try {\n const subscriptionPlans = await axios.get('/subscription-plans');\n\n if (subscriptionPlans) {\n setPlans(subscriptionPlans.data.data);\n }\n } catch (error) {\n console.log('error', error);\n }\n };\n\n useEffect(() => {\n getSubscriptionPlans().catch(console.error)\n }, [])\n\n const handlePlanChoose = async (plan) => {\n try {\n const response = await axios.post(`/subscription/${plan.id}`);\n if(response.data.data.url) {\n window.open(response.data.data.url, '_blank')\n }\n } catch (error) {\n console.log('error', error);\n }\n }\n\n return (\n
\n
\n

Select a plan to start using the application

\n \n
\n
\n
\n )\n}\n","import { getSubDomain } from \"Functions\";\nimport NotPaidDashboard from \"Pages/DashboardPage/NotPaidDashboard\";\nimport { useSelector } from \"react-redux\";\nimport { Redirect, Route } from \"react-router-dom\";\nconst PrivateRoute = ({ component: Component, roles, ...rest }) => {\n const { isAuth, token, user } = useSelector((state) => state.auth);\n const { hasPaid } = useSelector((state) => state.settings);\n const subDomain = getSubDomain();\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 if(subDomain && !hasPaid) {\n return (\n \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","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 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","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 '../../utils/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(\n (state) => state.auth\n );\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 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 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 \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 { 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 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 }, [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\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) ===\n 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 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 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","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 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\n ? props.chartData.total_comments\n : props.chartData.feed_comment_count,\n props.chartData.total_shares\n ? props.chartData.total_shares\n : 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:\n props.activeSocialMediaType == 'instagram'\n ? ['Like', 'Comments']\n : ['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 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 Typography,\n useMediaQuery,\n useTheme\n} from '@material-ui/core';\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport CameraAltIcon from '@material-ui/icons/CameraAlt';\nimport CommentIcon from '@material-ui/icons/Comment';\nimport LinkIcon from '@material-ui/icons/Link';\nimport PhotoAlbumIcon from '@material-ui/icons/PhotoAlbum';\nimport PhotoLibraryIcon from '@material-ui/icons/PhotoLibrary';\nimport VideocamIcon from '@material-ui/icons/Videocam';\nimport * as moment from 'moment-timezone';\nimport React, { useState } from 'react';\nimport LazyLoad from 'react-lazyload';\nimport ReactPlayer from 'react-player';\nimport { useSelector } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport fbIcon from '../../assets/images/facebook.png';\nimport instaIcon from '../../assets/images/insta-icon.png';\nimport postImg from '../../assets/images/post-img.jpeg';\nimport {\n formatImage,\n formatNumber,\n numbersFormat\n} from '../../Functions';\nimport { Angry, Care, Haha, Like, Love, Wow } from '../logosandicons';\nimport { PostDetailsModal } from './PostDetailsModal';\nimport './SocialMediaPostsCard.css';\nimport { Styles } from './Styles';\n\nimport Spinner from '../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 const feedTypeIcon = (type) => {\n if (type.toLowerCase() === 'image' || type.toLowerCase() === 'photo') {\n return (\n \n );\n }\n if (type.toLowerCase() === 'video') {\n return (\n \n );\n }\n if (type.toLowerCase() === 'link') {\n return (\n \n );\n }\n if (type.toLowerCase() === 'album') {\n return (\n \n );\n }\n if (type.toLowerCase() === 'sidecar') {\n return (\n \n );\n }\n return (\n \n );\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 >\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);\n","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})","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 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 __webpack_public_path__ + \"static/media/Poppins-Medium.9e1bb626.ttf\";","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==\"","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, { 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 '../../utils/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/* 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 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);\n let subdomain = user.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 setInputCloseBtn(false);\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(getAddedProfileList(''));\n };\n\n useEffect(async () => {\n setSearchQuery('');\n await dispatch(getAddedProfileList(''));\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 {addedProfileListLoading ? (\n \n ) : /* showing loader if the loading value is true */\n !addedProfileListLoading &&\n searchQuery &&\n addedProfileList.length === 0 ? (\n \n \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 profile.id === 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) => profile.id === profilesList.id\n ) ||\n profileListToAdd.find(\n (profile) => profile.id === profilesList.id\n ) ? (\n handleDelete(profilesList)}\n disabled={\n selectedProfilesListToComapre.find(\n (addedprofile) =>\n parseInt(addedprofile.id) ===\n profilesList.id\n )\n ? true\n : false\n }\n >\n {selectedProfilesListToComapre.find(\n (profile) => profile.id === 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 Done\n \n \n \n \n );\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\n .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 =\n (filter, page = 1, pageLimit = 10) =>\n (dispatch) => {\n dispatch({\n type: 'GET_USER_LOGIN_ACTIVITY',\n });\n\n axios\n .get(\n `dashboard/login-logs?page=${page}&page_limit=${pageLimit}&${filter}`\n )\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 =\n (filter, page = 1, pageLimit = 10) =>\n (dispatch, getState) => {\n dispatch({\n type: 'GET_MORE_USER_LOGIN_ACTIVITY',\n });\n\n const userLoginActivityData =\n getState().userActivityReducer.userLoginActivity.data;\n\n axios\n .get(\n `dashboard/login-logs?page=${page}&page_limit=${pageLimit}&${filter}`\n )\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 =\n (profiles, downloadType) => (dispatch, getState) => {\n dispatch({\n type: 'CREATE_USER_REPORT_DOWNLOAD_ACTIVITY',\n });\n\n const userDetail = getState().auth.user;\n const activeSocialMedia =\n 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\n .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 =\n (filter, page = 1, pageLimit = 10) =>\n (dispatch) => {\n dispatch({\n type: 'GET_USER_REPORT_DOWNLOAD_ACTIVITY',\n });\n\n axios\n .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 =\n (filter, page = 1, pageLimit = 10) =>\n (dispatch, getState) => {\n dispatch({\n type: 'GET_MORE_USER_REPORT_DOWNLOAD_ACTIVITY',\n });\n\n const userReportDownloadActivityData =\n getState().userActivityReducer.userReportDownloadActivity.data;\n\n axios\n .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 };\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 '../../utils/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})(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","// 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 axios from 'axios';\nimport { toast } from 'react-toastify';\nimport * as constant from '../../utils/constant';\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 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\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\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\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 /* 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 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\nconst CustomerFailed = (store, error) => {\n return {\n type: 'CUSTOMER_FAILED',\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 // dispatch({\n // type: \"UPDATE_LOGO_AND_BANNER\",\n // payload: {\n\n // },\n // });\n resolve(response);\n })\n .catch((error) => {\n reject(error);\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 width:\"100%\",\n marginLeft:\"auto\",\n marginRight:\"auto\",\n padding:\"24px\",\n margin:\"40px 39px\",\n border: \"1px solid #E0E0E0\",\n borderRadius: '6px',\n transitionDuration: '0.4s',\n '@media (max-width : 600px)': {\n maxWidth: '100%',\n padding: '24px',\n },\n \"&:hover\": {\n boxShadow: '0px 0px 15px rgba(0, 0, 0, 0.15)',\n },\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\n","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 useStyles = makeStyles((theme) => styles(theme));\n const classes = useStyles();\n // const { accessToken } = useSelector((state) => state.social);\n const dispatch = useDispatch();\n\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 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 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\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 [userFormSubmitting, setUserFormSubmitting] = 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 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 }\n if (formValues.featured_image.size < 2097152) {\n formErrors.featured_image = 'Featured Image cannot be smaller than 2 MB.';\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 setUserFormSubmitting(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 setUserFormSubmitting(false);\n setValidationErrors({});\n } catch (error) {\n /* error caught while creating customer */\n const logoBannerResError = error.response.data;\n const logoBannerErrorMsg = logoBannerResError.message;\n setUserFormSubmitting(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 if (\n formValues.logo instanceof File ||\n formValues.featured_image instanceof File\n ) {\n SetDisableSubmitBtn(false);\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
\n \n \n
\n );\n};\n\nconst mapDispatchToProps = { UpdateCustomerBanner };\n\nexport default connect(null, mapDispatchToProps)(UserManagement);\n","import {\n Avatar,\n Box,\n Checkbox,\n FormControl,\n Grid,\n InputLabel,\n makeStyles,\n MenuItem,\n Select,\n Switch,\n Typography,\n useMediaQuery,\n useTheme,\n withStyles,\n} from '@material-ui/core';\nimport ToggleButton from '@material-ui/lab/ToggleButton';\nimport ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup';\nimport React, { useEffect } from 'react';\nimport { Bar, Chart } from 'react-chartjs-2';\nimport { useSelector } from 'react-redux';\nimport { formatImage } from '../../Functions';\nimport { CustomButton } from '../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})(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 { activeSocialMediaType } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\n\n const { user } = 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 `${\n dateRange\n ? new Date(dateRange[0].start).toDateString().split(' ')[1]\n : ''\n } ${\n dateRange\n ? new Date(dateRange[0].start).toDateString().split(' ')[2]\n : ''\n } `;\n } else {\n return `From : ${\n dateRange\n ? new Date(dateRange[0].start).toDateString().split(' ')[1]\n : ''\n } ${\n dateRange\n ? new Date(dateRange[0].start).toDateString().split(' ')[2]\n : ''\n } To: ${\n dateRange\n ? new Date(dateRange[0].end).toDateString().split(' ')[1]\n : ''\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((a) => a !== id);\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 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 ));\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;\n","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 }, [\n fansGrowth,\n fanGrowthDateFilter,\n customDateRangeRed,\n activeSocialMediaType,\n ]);\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(\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: `${addedProfileList.map((data) => data.name)}` },\n ],\n ],\n },\n ];\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 {\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 { 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 {\n Box,\n Container,\n Grid,\n MenuItem,\n Typography,\n makeStyles,\n useMediaQuery,\n useTheme,\n withStyles,\n} from '@material-ui/core';\nimport domtoimage from 'dom-to-image';\nimport { saveAs } from 'file-saver';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport BarChart from '../../Components/BarChart';\nimport { CustomButton } from '../../Components/CustomButton/CustomButton';\nimport DownloadButton from '../../Components/DownloadButton/DownloadButton';\nimport FilterDays from '../../Components/FilterDays';\nimport Layout from '../../Components/Layout';\nimport PageTitle from '../../Components/PageTitle/PageTitle';\nimport { SnackBarDownload } from '../../Components/SnackBar/DownloadSnackBar';\nimport SocialButton from '../../Components/SocialButton';\nimport SocialMediaPostsCard from '../../Components/SocialMediaPostsCard/SocialMediaPostsCard';\nimport Spinner from '../../Components/Spinner';\nimport { PDFlogo, PNGlogo, XLSXlogo } from '../../Components/logosandicons';\nimport {\n getAddedProfileList,\n getInteractions,\n getMoreSocialProfileTopPost,\n getSocialProfileFanGrowth,\n getSocialProfileTopPost,\n} from '../../store/actions/SocialMediaProfileAction';\nimport { DashboardExport } from './DashboardExport';\nimport DashboardPDF from './DashboardPDF';\n\nimport { pdf } from '@react-pdf/renderer';\nimport { CustomSelectDropdown } from '../../Components/CustomSelectDropdown/CustomSelectDropdown';\nimport { createUserReportDownloadActivity } from '../../store/actions/UserActivityAction';\nimport { NO_DATA_AVAILABLE } from '../../utils/constant';\nimport { Styles } from './Style';\nimport ConnectToSocial from 'Customer/Components/ConnectToSocial';\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 //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 []\n );\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 // 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]} ${\n 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 }, [fanGrowthSelectedProfiles, fanGrowthDateFilter, customDateRangeRed]);\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]} ${\n 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 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(\n getMoreSocialProfileTopPost(selectProfile, page_limit, currentPage)\n );\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(\n (data) => data.id === selectProfile\n );\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 (\n profilesDetails &&\n !profilesForActivityReport.includes(profilesDetails.name)\n ) {\n profilesForActivityReport.push(profilesDetails.name);\n }\n });\n\n interactionSelectedProfiles.forEach((f) => {\n const [profilesDetails] = addedProfileList.filter((d) => d.id === f);\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 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 ).toBlob();\n saveAs(blob, `${activeSocialMediaType}-overview Dashboard.pdf`);\n };\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 { addedProfileList.length === 0 ?\n \n :\n \n \n \n \n \n \n \n \n \n generatePdfDocument()}>\n {' '}\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 ) : 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
\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
\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 \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 {\n Button,\n Checkbox,\n FormControlLabel,\n Grid,\n Link,\n Typography,\n makeStyles,\n useMediaQuery,\n useTheme,\n withStyles,\n} from '@material-ui/core';\nimport TextField from '@material-ui/core/TextField';\nimport React, { useEffect } from 'react';\nimport FacebookLogin from 'react-facebook-login/dist/facebook-login-render-props';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport facebookImage from '../../assets/images/facebook.png';\nimport Buttons from '../../Components/Buttons/Buttons';\nimport Spinner from '../../Components/Spinner';\nimport { formatServerImages, getSubDomain } from '../../Functions';\nimport {\n FacebookSignIn,\n ForgotPassword,\n SignIn,\n} from '../../store/actions/AuthAction';\nimport * as constant from '../../utils/constant';\nimport styles from './Styles/index.js';\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 subDomain = getSubDomain();\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 }\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 Forgot 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 {!subDomain && \n \n Need an account? Register here.\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 Need an account? Register here.\n \n \n
\n \n )}\n\n
\n Privacy\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 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 { Link } 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 {\n ChangePassword,\n getSignInUser,\n updateCustomerFromProfile,\n} 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 '../../utils/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\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 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:\n 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 existing 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 \n {' '}\n Back\n \n \n \n \n \n \n \n \n
\n \n \n {user.role === constant.SUPER_ADMIN_NAME\n ? 'SA'\n : user.first_name.charAt(0) +\n user.last_name.charAt(0)}\n \n \n \n {' '}\n \n {user.first_name} {user.last_name}\n \n \n {' '}\n {user.role}{' '}\n \n \n
\n \n {/*

{user.brand.brand_name}

*/}\n\n
\n \n \n \n {' '}\n Contact Information{' '}\n \n
\n \n Email: {user.email}\n \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 {' '}\n Select Timezone{' '}\n \n \n {timeZonesList.map((timeZone, index) => (\n \n {' '}\n {timeZone}{' '}\n \n ))}\n {/* \n Viewer */}\n \n {errors.role ? (\n \n User Role is Required\n \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\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","/**\n * Create the sentence case from the given string\n * For eg: 'service_now' => 'Service Now'\n * For eg: 'service-now' => 'Service Now'\n *\n * @param {string} str\n * @returns {string}\n */\nexport const sentenceCase = (str) => {\n if (!str) return str;\n const splitChar = str.match(/[-_ ]/) ? str?.match(/[-_ ]/)?.[0] : ' ';\n\n return str\n .toLowerCase()\n .split(splitChar)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n};\n","import {\n Card,\n CardContent,\n FormControl,\n FormLabel,\n Grid,\n Link,\n Radio,\n RadioGroup,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport OfflineBoltOutlined from '@material-ui/icons/OfflineBoltOutlined';\nimport { useEffect, useState } from 'react';\nimport { COUNTRIES } from '../../utils/constant';\n\nimport axios from 'axios';\nimport { useSelector } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport { sentenceCase } from 'utils/string';\nimport Buttons from '../../Components/Buttons/Buttons';\nimport Spinner from '../../Components/Spinner';\nimport { formatServerImages } from '../../Functions';\nimport styles from '../Login/Styles/index.js';\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst CreditCardForm = () => {\n const registeredEmail = localStorage.getItem('email');\n const { logoURL } = useSelector((state) => state.settings);\n\n // State for form fields\n const [formValues, setFormValues] = useState({\n subdomain: '',\n planId: '',\n });\n\n // State for form validation errors\n const [errors, setErrors] = useState({});\n const [userFormSubmitting, setUserFormSubmitting] = useState(false);\n const [subscriptionPlans, setSubscriptionPlans] = useState([]);\n const [plan, setPlan] = useState(null);\n\n useEffect(() => {\n getSubscriptionPlans().catch(console.log);\n }, []);\n\n const getSubscriptionPlans = async () => {\n try {\n const subscriptionPlans = await axios.get('/subscription-plans');\n if (subscriptionPlans) {\n setSubscriptionPlans(subscriptionPlans.data.data);\n }\n } catch (error) {\n console.log('error', error);\n }\n };\n\n useEffect(() => {\n if (!registeredEmail) {\n window.location.href = '/login';\n } else {\n setFormValues((prevState) => ({\n ...prevState,\n email: registeredEmail,\n }));\n }\n }, [registeredEmail]);\n\n // Handling input change\n const handleChange = (name, value) => {\n if (name === 'country') {\n setFormValues((prevState) => ({\n ...prevState,\n [name]: value,\n zipCode: COUNTRIES.find(\n (country) => country.name === value\n ).mobileCode.split('+')[1],\n }));\n } else if (name === 'planId') {\n const selectedPlan = subscriptionPlans.find((plan) => plan.id === value);\n setFormValues((prevState) => ({\n ...prevState,\n [name]: value,\n }));\n setPlan(selectedPlan);\n } else {\n setFormValues((prevState) => ({\n ...prevState,\n [name]: value,\n }));\n }\n };\n\n // Validation logic\n const validateForm = () => {\n const errors = {};\n\n if (!formValues.priceId) {\n errors.priceId = 'Subscription Plan is required';\n }\n // Set errors\n setErrors(errors);\n return Object.keys(errors).length === 0;\n };\n\n // Form submit handler\n const handleSubmit = async (e) => {\n try {\n e.preventDefault();\n if (validateForm()) {\n await axios.post(`/subscription/${formValues.priceId}`, formValues).then((response) => {\n if (response.data.status && response.data.data) {\n toast.success('Registered Successfully');\n window.location.href = '/login';\n } else {\n throw new Error(response.data);\n }\n });\n }\n } catch (error) {\n console.log(error)\n } finally {\n setUserFormSubmitting(false);\n }\n };\n const classes = useStyles();\n\n return (\n
\n \n \n
\n
\n \n
\n
\n \n Payment Information\n \n \n {' '}\n Please provide the card details to proceed\n \n
\n \n
\n \n\n {subscriptionPlans?.map((plan) => (\n \n \n \n handleChange('planId', plan.id)\n }\n >\n \n \n \n \n {plan.name}\n \n
\n
\n \n \n \n ))}\n\n {plan && (\n \n \n \n Membership Plan\n \n \n \n {plan?.PlanTypePrices?.map((subPlan) => (\n \n \n \n handleChange('priceId', subPlan.id)\n }\n >\n \n \n \n \n Pay {sentenceCase(subPlan.duration)}\n \n \n $\n {parseFloat(subPlan.discountPercentage) >\n 0\n ? (\n parseFloat(subPlan.price) -\n (parseFloat(subPlan.price) *\n parseFloat(\n subPlan.discountPercentage\n )) /\n 100\n ).toFixed(2)\n : parseFloat(subPlan.price).toFixed(\n 2\n )}{' '}\n / Month\n \n \n\n {parseFloat(subPlan.discountPercentage) >\n 0 && (\n \n Save{' '}\n {parseFloat(\n subPlan.discountPercentage\n ).toFixed(0)}\n %\n \n )}\n \n \n \n\n \n ))}\n \n \n \n \n )}\n\n \n You will not be billed anything today.
\n After your 14 day free trial, you will be\n charged unless you cancel your plan.
\n Cancel Anytime.\n \n {/* add payment method: card, stripe, paypal */}\n\n \n
\n \n \n Start your 14 day Free Trial\n \n {userFormSubmitting && }\n
\n \n \n \n \n \n \n Already have an account? Login here.\n \n \n\n
\n Privacy\n
|
\n \n Terms of Service\n \n
\n \n \n \n \n );\n};\n\nexport default CreditCardForm;\n","import {\n Grid,\n Link,\n Typography,\n makeStyles,\n withStyles,\n} from '@material-ui/core';\nimport TextField from '@material-ui/core/TextField';\nimport { ArrowForward } from '@material-ui/icons';\nimport axios from 'axios';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport Buttons from '../../Components/Buttons/Buttons';\nimport Spinner from '../../Components/Spinner';\nimport { formatServerImages, getSubDomain } from '../../Functions';\nimport styles from '../Login/Styles/index.js';\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 Register = () => {\n const [formValues, setFormValues] = useState({\n subdomain: '',\n firstName: '',\n lastName: '',\n phoneNumber: '',\n email: '',\n password: '',\n confirmPassword: '',\n });\n\n const subdomain = getSubDomain()\n\n useEffect(() => {\n if (subdomain) {\n window.location.replace('/login')\n return\n }\n },\n )\n\n const [errors, setErrors] = useState({});\n const { logoURL } = useSelector((state) => state.settings);\n const [userFormSubmitting, setUserFormSubmitting] = useState(false);\n\n const handleChange = (event) => {\n const { name, value } = event.target;\n setFormValues((prevState) => ({\n ...prevState,\n [name]: value,\n }));\n };\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n let formErrors = {};\n\n if (Object.values(formValues).every((value) => value !== '')) {\n if (formValues.password !== formValues.confirmPassword) {\n formErrors.confirmPassword = 'Password does not match';\n }\n\n setErrors(formErrors);\n if (Object.keys(formErrors).length === 0) {\n setUserFormSubmitting(true);\n }\n }\n\n if (Object.keys(formErrors).length === 0) {\n await axios\n .post('/sign-up', formValues)\n .then(async (response) => {\n if (response.data.status && response.data.data) {\n toast.success('Registered Successfully');\n await new Promise(resolve => setTimeout(resolve, 3000));\n window.location.href = '/card-details';\n }\n setErrors(response.data.message);\n throw new Error(response.data);\n })\n .catch((error) => {\n setErrors(error.response.data.message);\n }).finally(() => {\n setUserFormSubmitting(false)\n });\n }\n };\n\n const classes = useStyles();\n\n return (\n
\n \n \n
\n
\n \n
\n
\n Sign Up\n \n {' '}\n Please register your account by filling in the details\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 Sign up to start your free trial{' '}\n \n \n {userFormSubmitting && }\n
\n \n \n \n
\n \n \n Already have an account? Login here.\n \n \n\n
\n \n Privacy\n \n
|
\n \n Terms of Service\n \n
\n
\n
\n \n
\n );\n};\n\nexport default Register;\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 '../../utils/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 //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 }, [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 };\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 >\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 {\n Box,\n Button,\n Container,\n FormControl,\n FormHelperText,\n Grid,\n IconButton,\n makeStyles,\n Menu,\n MenuItem,\n Modal,\n Paper,\n Select,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TablePagination,\n TableRow,\n TextField,\n Typography,\n withStyles,\n} from '@material-ui/core';\nimport React from 'react';\nimport Layout from '../../Components/Layout';\n\nimport { Delete, Edit } from '@material-ui/icons';\nimport ErrorOutlineIcon from '@material-ui/icons/ErrorOutline';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport Buttons from 'Components/Buttons/Buttons';\nimport UploadImg from 'Components/UploadImg';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport { getPagesInfo } from 'store/actions/SuperAdminDashboardAction';\nimport Alert from '../../Components/AlertBox/Alert';\nimport Spinner from '../../Components/Spinner';\nimport {\n CreateCustomer,\n DeleteCustomer,\n GetCustomer,\n PaginateCustomer,\n SearchCustomer,\n UpdateCustomer,\n} from '../../store/actions/CustomersAction';\nimport * as constant from '../../utils/constant';\nimport { Styles } from './Styles';\nimport './Styles/style.css';\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\nconst UserManagement = ({ history }) => {\n const dispatch = useDispatch();\n const [userFormSubmitting, setUserFormSubmitting] = 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 [formValues, setFormValues] = React.useState({\n id: '',\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 [refreshImgUploadComponent, setRefreshImgUploadComponent] =\n React.useState(false);\n const [refreshImgUpdateComponent, 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 const [page, setPage] = React.useState(0);\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [selectedRow, setSelectedRow] = React.useState(null);\n const [modalOpen, setModalOpen] = React.useState(false);\n\n const handleMenuOpen = (event, row) => {\n setAnchorEl(event.currentTarget);\n setSelectedRow(row);\n };\n\n const handleMenuClose = () => {\n setAnchorEl(null);\n setSelectedRow(null);\n };\n\n const handleModalOpen = (row = {}) => {\n setEditData(row);\n setFormValues(row);\n setModalOpen(true);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n setEditData({});\n resetCustomerForm();\n };\n\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const { customers, getCustomersLoading } = useSelector(\n (state) => state.customerInfo\n );\n\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 const handlePageChange = (pageNumber) => {\n dispatch(getPagesInfo(pageNumber));\n };\n\n React.useEffect(() => {\n fetchCustomers();\n }, []);\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\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\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 setUserFormSubmitting(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 setUserFormSubmitting(false);\n setRefreshImgUploadComponent(true);\n setValidationErrors({});\n setCustomerAdmin(true);\n setSuperAdmin(false);\n handleModalClose();\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 setUserFormSubmitting(false);\n setRefreshImgUploadComponent(false);\n setValidationErrors(createErrorMsg);\n } else {\n toast.error('Check your internet connection');\n setUserFormSubmitting(false);\n setRefreshImgUploadComponent(false);\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 setUserFormSubmitting(false);\n setRefreshImgUploadComponent(true);\n setRefreshImgUpdateComponent(true);\n setEditData({});\n setValidationErrors({});\n setCustomerAdmin(true);\n setSuperAdmin(false);\n handleModalClose();\n } catch (error) {\n /* error caught while updating customer */\n if (error.response) {\n const updateresError = error.response.data.message;\n setValidationErrors(updateresError);\n setUserFormSubmitting(false);\n } else {\n toast.error('Check your internet connection');\n setUserFormSubmitting(false);\n }\n }\n }\n }\n };\n\n const addUserData = () => {\n // resetCustomerForm();\n // setEditData({});\n // setErrors({});\n // setSuperAdmin(false);\n // setCustomerAdmin(true);\n\n handleModalOpen();\n };\n\n React.useEffect(() => {\n if (Object.keys(editData).length !== 0) {\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 id: editData.id,\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 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 const handleEdit = () => {\n handleModalOpen(selectedRow);\n handleMenuClose();\n };\n\n /* deleting selected customer */\n const handleDelete = async () => {\n if (itemToDelete) {\n try {\n await dispatch(DeleteCustomer(selectedRow.id));\n resetCustomerForm();\n setEditData({});\n resetCustomerForm();\n setSuperAdmin(false);\n setCustomerAdmin(true);\n handleMenuClose();\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 /* deleting added social media profiles dialog opens */\n const deleteUser = (data) => {\n setDeleteAlertOpen(true);\n setItemToDelete(selectedRow);\n };\n\n /*handling cancel buttom */\n const handleCancel = () => {\n resetCustomerForm();\n setEditData({});\n setErrors({});\n setValidationErrors({});\n setSuperAdmin(false);\n setCustomerAdmin(true);\n handleModalClose();\n };\n\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\n const columns = [\n ...(user.role === constant.CUSTOMER_ADMIN_NAME\n ? [{ id: 'employee_number', label: 'Employee ID', minWidth: 170 }]\n : []),\n { id: 'first_name', label: 'First Name', minWidth: 170 },\n { id: 'last_name', label: 'Last Name', minWidth: 170 },\n { id: 'email', label: 'Email', minWidth: 170 },\n { id: 'position', label: 'Position', minWidth: 170 },\n ...(user.role === constant.SUPER_ADMIN_NAME\n ? [\n {\n id: 'subdomain',\n label: 'Subdomain',\n minWidth: 170,\n format: (value) => value.CustomerSubdomain.subdomain,\n },\n ]\n : []),\n { id: 'action', label: 'Action', minWidth: 80, align: \"right\" },\n ];\n\n return (\n \n
\n \n \n \n \n \n {/* */}\n \n Add User\n \n \n \n \n {/* */}\n \n {getCustomersLoading ? (\n \n ) : (\n \n \n \n \n \n {columns.map((column) => (\n \n {column.label}\n \n ))}\n \n \n \n {customers?.users &&\n customers.users\n .slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage\n )\n .map((row) => {\n return (\n \n {columns.map((column) => {\n const value =\n column.id === 'subdomain'\n ? column.format(row)\n : row[column.id];\n\n return (\n \n {column.id === 'action' ? (\n \n handleMenuOpen(event, row)\n }\n >\n \n \n ) : column.format &&\n typeof value === 'number' ? (\n column.format(value)\n ) : (\n value\n )}\n \n );\n })}\n \n );\n })}\n \n \n \n \n {' '}\n Edit\n \n \n {' '}\n Delete\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 \n \n \n {formValues.id ? 'Edit User' : 'Add User'}\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 {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 \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 );\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\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// });\nexport const Styles = (theme) => ({\n main: {\n padding: (props) => (props.sm ? '15px 0px' : '15px 40px'),\n marginTop: 75,\n minHeight: '84vh',\n },\n root: {\n width: '100%',\n borderRadius: 8,\n boxShadow: '0 2px 4px rgba(0,0,0,0.05)',\n border: '1px solid rgba(0,0,0,0.1)',\n marginBottom: 24,\n overflow: 'hidden',\n },\n container: {\n maxHeight: 440,\n },\n modalBox: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: 400,\n backgroundColor: theme.palette.background.paper,\n boxShadow: theme.shadows[5],\n padding: theme.spacing(4),\n borderRadius: '8px',\n },\n formField: {\n marginBottom: theme.spacing(2),\n },\n modalActions: {\n display: 'flex',\n justifyContent: 'flex-end',\n marginTop: theme.spacing(2),\n },\n\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","const Classes = (theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n minHeight: '100vh',\n },\n row: {\n marginTop: '65px',\n minHeight: 'calc(100vh - 65px)',\n background: '#fff',\n },\n formContainer: {\n padding: '15px',\n height: '100%',\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 // Subscription card\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 width: '100%',\n marginLeft: 'auto',\n marginRight: 'auto',\n padding: '24px',\n margin: '40px 39px',\n border: \"1px solid #E0E0E0\",\n borderRadius: '6px',\n transitionDuration: '0.4s',\n '@media (max-width : 600px)': {\n maxWidth: '100%',\n padding: '24px',\n },\n \"&:hover\": {\n boxShadow: '0px 0px 15px rgba(0, 0, 0, 0.15)',\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 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 iconContainer: {\n marginLeft: '20px',\n cursor: 'pointer',\n '& .MuiSvgIcon-root': {\n marginTop: '13px',\n color: '#f8c144',\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 paper: {\n padding: theme.spacing(4),\n boxShadow: 'none',\n border: '1px solid rgba(0,0,0,0.1)'\n },\n formSection: {\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(2),\n },\n subscriptionDetail: {\n padding: theme.spacing(2),\n marginBottom: theme.spacing(2),\n border: '1px solid #e0e0e0',\n borderRadius: theme.shape.borderRadius,\n position: 'relative',\n },\n actionButton:{\n all: \"unset\",\n height: 28,\n width: 28,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: 4,\n cursor: \"pointer\",\n color: \"rgba(0, 0, 0, 0.44)\",\n \"&:hover\": {\n backgroundColor: \"#f4f4f4\",\n color: \"#f8c144\",\n }\n },\n pageHeader:{\n marginTop: 25,\n marginBottom: 30,\n marginInline: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\"\n },\n addSection:{\n boxShadow: \"none\",\n textTransform: 'none',\n fontWeight: 400,\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n }\n },\n deleteButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n },\n buttonGroup: {\n marginTop: theme.spacing(4),\n },\n button: {\n marginRight: theme.spacing(2),\n },\n});\n\nexport default Classes;\n","import {\n Box,\n Button,\n Container,\n Grid,\n makeStyles,\n Paper,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Typography,\n} from '@material-ui/core';\n\nimport AddIcon from '@material-ui/icons/Add';\nimport { withRouter } from 'react-router-dom';\n\nimport ErrorOutlineIcon from '@material-ui/icons/ErrorOutline';\nimport axios from 'axios';\nimport Alert from 'Components/AlertBox/Alert';\nimport { useEffect, useState } from 'react';\nimport Layout from '../../Components/Layout';\nimport styles from './Styles';\nimport Buttons from 'Components/Buttons/Buttons';\nimport { Delete, Edit } from '@material-ui/icons';\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst SubscriptionSetting = ({ history }) => {\n const [plans, setPlans] = useState(null);\n const [itemToDelete, setItemToDelete] = useState(null);\n const [deleteAlertOpen, setDeleteAlertOpen] = useState(false);\n\n const classes = useStyles();\n\n const getSubscriptionPlans = async () => {\n try {\n const subscriptionPlans = await axios.get('/subscription-plans');\n\n if (subscriptionPlans) {\n setPlans(subscriptionPlans.data.data);\n }\n } catch (error) {\n console.log('error', error);\n }\n };\n\n useEffect(() => {\n getSubscriptionPlans().catch(console.log);\n }, []);\n\n const handleCreatePlan = () => {\n history.push('/plan/create');\n };\n\n const handleEditPlan = (id) => {\n history.push(`/plan/${id}`);\n };\n\n const deletePlan = (data) => {\n setDeleteAlertOpen(true);\n setItemToDelete(data);\n };\n\n const handleDelete = async () => {\n try {\n await axios.delete(`/subscription-plans/${itemToDelete.id}`);\n getSubscriptionPlans().catch(console.log);\n } catch (error) {\n console.log('error', error);\n }\n };\n\n return (\n \n \n \n \n Subscription Management\n \n\n }\n onClick={handleCreatePlan}\n className={classes.button}\n >\n Create New Plan\n \n\n \n \n \n \n Name\n Description\n Actions\n \n \n \n {plans?.map((plan, index) => (\n \n {plan.name}\n {plan.description}\n \n deletePlan(plan)}\n >\n \n \n handleEditPlan(plan.id)}\n >\n \n \n \n }\n title='Are you sure?'\n confirmBtn='DELETE'\n description=\"You're about to Delete the plan. This process cannot be undone.\"\n open={deleteAlertOpen}\n setOpen={setDeleteAlertOpen}\n onConfirm={handleDelete}\n buttonbgcolor='#d53042'\n textColor='#fff'\n />\n \n \n ))}\n \n
\n
\n \n
\n
\n );\n};\n\nexport default withRouter(SubscriptionSetting);\n","const 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 inputField: {\n width: '100%',\n },\n userType: {\n color: '#f8c144',\n fontSize: 20,\n margin: '0px',\n marginBottom: 20,\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 // Subscription card\n heading: {\n fontSize: '2.1875rem',\n fontFamily: 'Raleway',\n fontWeight: 'bold',\n lineHeight: '2.625rem',\n letterSpacing: '-0.00833em',\n margin: '0px',\n color: 'black',\n },\n subHeading: {\n fontSize: '1.25rem',\n fontFamily: 'Raleway',\n fontWeight: 'bold',\n lineHeight: 1.5,\n letterSpacing: '0em',\n marginBottom: '16px',\n marginTop: '0px',\n color: 'black',\n },\n box: {\n width: '100%',\n marginLeft: 'auto',\n marginRight: 'auto',\n padding: '24px',\n margin: '20px 40px',\n border: \"1px solid #E0E0E0\",\n borderRadius: '6px',\n transitionDuration: '0.4s',\n '@media (max-width : 600px)': {\n maxWidth: '100%',\n padding: '24px',\n },\n \"&:hover\": {\n boxShadow: '0px 0px 15px rgba(0, 0, 0, 0.15)',\n },\n },\n select:{\n \"& div\" :{\n background: \"transparent !important\"\n }\n },\n flexRow: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: '16px',\n },\n flexColumn: {\n display: 'flex',\n flexDirection: 'column',\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 iconContainer: {\n marginLeft: '20px',\n cursor: 'pointer',\n '& .MuiSvgIcon-root': {\n marginTop: '13px',\n color: '#f8c144',\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 paper: {\n padding: theme.spacing(4),\n },\n formSection: {\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(2),\n },\n subscriptionDetail: {\n padding: theme.spacing(2),\n marginBottom: theme.spacing(2),\n border: '1px solid #e0e0e0',\n borderRadius: theme.shape.borderRadius,\n position: 'relative',\n },\n deleteButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n },\n buttonGroup: {\n marginTop: theme.spacing(4),\n },\n button: {\n marginRight: theme.spacing(2),\n },\n});\n\nexport default Classes;\n","import {\n Box,\n Button,\n Container,\n Grid,\n Typography,\n makeStyles,\n useMediaQuery,\n useTheme,\n TextField,\n withStyles,\n FormControl,\n InputLabel,\n Select,\n MenuItem,\n FormHelperText,\n} from '@material-ui/core';\nimport React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport Layout from '../../Components/Layout';\nimport styles from './Styles';\nimport Spinner from '../../Components/Spinner';\n\nimport Alert from 'Components/AlertBox/Alert';\nimport ErrorOutlineIcon from '@material-ui/icons/ErrorOutline';\nimport axios from 'axios';\nimport { toast } from 'react-toastify';\nimport * as constant from '../../utils/constant';\nimport {\n ChangePassword,\n getSignInUser,\n updateCustomerFromProfile,\n} from 'store/actions/AuthAction';\nimport Buttons from 'Components/Buttons/Buttons';\nimport momentTZ from 'moment-timezone';\nimport UploadImg from 'Components/UploadImg';\nimport { formatServerImages } from 'Functions';\nimport { UpdateCustomerBanner } from 'store/actions/CustomersAction';\nimport ConnectToSocial from 'Customer/Components/ConnectToSocial';\n\nconst StyledTextField = withStyles({\n root: {\n borderRadius: 15,\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n },\n },\n },\n})(TextField);\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst AccountManagement = (props) => {\n const { user } = useSelector((state) => state.auth);\n const theme = useTheme();\n const match = useMediaQuery(theme.breakpoints.down('md'));\n const dispatch = useDispatch();\n\n const classes = useStyles();\n\n const [itemToDelete, setItemToDelete] = useState(null);\n const [deleteAlertOpen, setDeleteAlertOpen] = useState(false);\n const { logoURL, bannerURL } = useSelector((state) => state.settings);\n const { changePasswordLoading } = useSelector((state) => state.auth);\n\n const [passwordValues, setPasswordValues] = React.useState({\n newPassword: '',\n confirmNewPassword: '',\n });\n const [userFormSubmitting, setUserFormSubmitting] = React.useState(false);\n const [passwordErrors, setErrorsPassword] = React.useState({});\n const [formValues, setFormValues] = React.useState({});\n const [errors, setErrors] = React.useState({});\n const [imgFormValues, setImgFormValues] = React.useState({\n logo: logoURL ? logoURL : '',\n featured_image: bannerURL ? bannerURL : '',\n });\n const [validationErrors, setValidationErrors] = React.useState({});\n const [imgErrors, setImgErrors] = React.useState({});\n const [disableSubmitBtn, SetDisableSubmitBtn] = React.useState(true);\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\n useEffect(() => {\n dispatch(getSignInUser(user.id));\n }, []);\n\n const deleteAccount = (data) => {\n setDeleteAlertOpen(true);\n setItemToDelete(data);\n };\n\n const handleDeleteAccount = async () => {\n try {\n await axios.delete(`/account/${user.id}`);\n props.history.push('/logout');\n } catch (error) {\n console.log('error', error);\n }\n };\n\n /* Resetting the form values */\n const resetCustomerForm = () => {\n setPasswordValues({\n newPassword: '',\n confirmNewPassword: '',\n });\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 setUserFormSubmitting(true);\n try {\n const updateResponse = await dispatch(\n updateCustomerFromProfile(formValues)\n );\n setUserFormSubmitting(false);\n const user = updateResponse.data.data;\n } catch (error) {\n if (error.response) {\n toast.error(error.response.data.message);\n setUserFormSubmitting(false);\n } else {\n toast.error('Check your internet connection');\n setUserFormSubmitting(false);\n }\n }\n }\n };\n\n /* setting existing 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 React.useEffect(() => {\n if (\n imgFormValues.logo instanceof File ||\n imgFormValues.featured_image instanceof File\n ) {\n SetDisableSubmitBtn(false);\n }\n }, [imgFormValues.logo, imgFormValues.featured_image]);\n\n const logoImageHandler = (item) => {\n setImgFormValues((prevState) => ({\n ...prevState,\n logo: item,\n }));\n };\n\n const bannerImageHandler = (item) => {\n setImgFormValues((prevState) => ({\n ...prevState,\n featured_image: item,\n }));\n };\n\n const onImgSubmit = async (event) => {\n event.preventDefault();\n let formErrors = {};\n\n // Image Size Validation\n if (imgFormValues.logo.size > 2097152) {\n formErrors.logo = 'Logo cannot be greater than 2 MB.';\n }\n if (imgFormValues.featured_image.size < 2097152) {\n formErrors.featured_image = 'Featured Image cannot be smaller than 2 MB.';\n }\n\n if (!imgFormValues.logo) {\n formErrors.logo = 'Logo is Required';\n }\n\n if (!imgFormValues.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 setUserFormSubmitting(true);\n SetDisableSubmitBtn(true);\n /* Updating */\n try {\n const logoBannerResponse = await dispatch(\n UpdateCustomerBanner({\n ...imgFormValues,\n })\n );\n const logoBannerResData = logoBannerResponse.data;\n\n setUserFormSubmitting(false);\n setValidationErrors({});\n } catch (error) {\n /* error caught while creating customer */\n const logoBannerResError = error.response.data;\n const logoBannerErrorMsg = logoBannerResError.message;\n setUserFormSubmitting(false);\n SetDisableSubmitBtn(false);\n setValidationErrors(logoBannerErrorMsg);\n }\n }\n };\n\n const timeZonesList = momentTZ.tz.names();\n\n const handleChangePasswordSubmit = 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 setErrorsPassword(formErrors);\n\n if (Object.keys(formErrors).length === 0) {\n setUserFormSubmitting(true);\n try {\n let response = await dispatch(\n ChangePassword(\n passwordValues.newPassword,\n passwordValues.confirmNewPassword\n )\n );\n setUserFormSubmitting(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:\n errorRes.message && errorRes.message.old_password,\n confirmNewPasswordError:\n errorRes.message && errorRes.message.password,\n });\n }\n setUserFormSubmitting(false);\n } else {\n toast.error('Check your internet connection');\n setUserFormSubmitting(false);\n }\n }\n }\n };\n\n return (\n \n \n
\n \n Account Management\n \n \n Update your personal information, change passwords and connect\n apps\n \n\n \n {/*
*/}\n \n General Information\n \n\n \n
\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 {' '}\n Select Timezone{' '}\n \n \n {timeZonesList.map((timeZone, index) => (\n \n {' '}\n {timeZone}{' '}\n \n ))}\n {/*\n Viewer */}\n \n {errors.role ? (\n \n User Role is Required\n \n ) : (\n ''\n )}\n \n \n \n \n {userFormSubmitting && }\n Save Changes\n \n \n \n \n \n
\n\n \n {/*
*/}\n \n Change Password\n \n\n \n
\n \n \n \n \n \n \n \n \n {changePasswordLoading && (\n \n \n
\n )}\n \n {userFormSubmitting && }\n Save Changes\n \n
\n \n \n \n \n\n { user.role == \"customer-admin\" && }\n { user.role == \"customer-admin\" &&\n \n \n Update Logo/Banner\n \n\n \n \n \n \n }\n\n \n
\n \n Account Management\n

\n Deleting your account is a permanent action. Once you delete your account, you will not be able to recover it. Please be certain before proceeding.\n

\n
\n
\n \n Delete Account\n \n \n }\n title='Are you sure?'\n confirmBtn='DELETE'\n description=\"You're about to Delete your account. This process cannot be undone.\"\n open={deleteAlertOpen}\n setOpen={setDeleteAlertOpen}\n onConfirm={handleDeleteAccount}\n buttonbgcolor='#ff0000'\n textColor=\"#fff\"\n />\n
\n \n \n
\n );\n};\n\nexport default AccountManagement;\n","const styles = (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n pageTable:{\n },\n pageHeader:{\n marginTop: 25,\n marginBottom: 30,\n marginInline: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\"\n },\n pageDetailWrapper:{\n marginBottom: 20,\n width:\"100%\",\n border: \"1px solid rgba(0,0,0,0.23)\",\n padding:\"16px\",\n borderRadius:\"8px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n },\n pageDetailInner:{\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n width:\"100%\"\n },\n pageDetail : {\n display: \"flex\",\n justifyContent: \"space-between\",\n gap:\"16px\",\n },\n addSection:{\n boxShadow: \"none\",\n textTransform: 'none',\n fontWeight: 400,\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n }\n },\n removeSection:{\n color: \"#f44336\",\n borderColor: \"#f44336\",\n textTransform: 'none',\n backgroundColor: \"#fff\",\n marginTop: \"-2.25rem\",\n \"&:hover\": {\n backgroundColor: \"#f44336\",\n color: \"#fff\",\n },\n marginLeft: \"auto\",\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n }\n },\n \"&:hover\":{\n \".removeSection\":{\n opacity: 1\n }\n },\n });\n\n export default styles;\n","import React, { useEffect, useState } from 'react';\nimport {\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Collapse,\n Box,\n Typography,\n Grid,\n makeStyles,\n useTheme,\n Chip,\n Tooltip,\n} from '@material-ui/core';\nimport {\n KeyboardArrowDown as ExpandMoreIcon,\n KeyboardArrowUp as ExpandLessIcon,\n AddCircleOutline,\n Edit as EditIcon,\n DeleteOutline as DeleteIcon,\n Link as LinkIcon,\n CheckCircle as ActiveIcon\n} from '@material-ui/icons';\nimport Layout from 'Components/Layout';\nimport Styles from './Styles';\nimport Buttons from 'Components/Buttons/Buttons';\nimport axios from 'axios';\nimport { toast } from 'react-toastify';\nimport { format } from 'date-fns';\n\nconst useStyles = makeStyles((theme) => ({\n ...Styles(theme),\n root: {\n backgroundColor: theme.palette.background.default,\n minHeight: '100vh',\n },\n headerContainer: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 24,\n },\n statsContainer: {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(200px, 1fr))',\n gap: 16,\n marginBottom: 24,\n },\n statCard: {\n padding: 16,\n borderRadius: 8,\n backgroundColor: theme.palette.background.paper,\n boxShadow: 'none',\n border: '1px solid rgba(0,0,0,0.1)',\n display: 'flex',\n flexDirection: 'column',\n gap: 8,\n \"&:hover\": {\n boxShadow: '0 2px 4px rgba(0,0,0,0.05)',\n },\n '&:hover $statValue': {\n color: \"#f4d45f\",\n },\n },\n statValue: {\n fontSize: 24,\n fontWeight: 600,\n color: \"#FBE281\",\n },\n statLabel: {\n fontSize: 14,\n color: theme.palette.text.secondary,\n },\n tableContainer: {\n borderRadius: 8,\n boxShadow: '0 2px 4px rgba(0,0,0,0.05)',\n border: '1px solid rgba(0,0,0,0.1)',\n marginBottom: 24,\n },\n expandedRow: {\n backgroundColor: theme.palette.action.hover,\n },\n sectionTable: {\n backgroundColor: theme.palette.background.paper,\n borderRadius: 8,\n },\n actionButton: {\n marginLeft: 8,\n },\n chip: {\n margin: '0 4px',\n },\n addButton: {\n borderRadius: 8,\n padding: '8px 24px',\n textTransform: 'none',\n fontWeight: 500,\n },\n statusIcon: {\n width: 12,\n height: 12,\n marginRight: 6,\n },\n sectionHeader: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 16,\n },\n expandButton: {\n transition: 'transform 0.2s',\n '&.expanded': {\n transform: 'rotate(180deg)',\n },\n },\n lastModified: {\n color: theme.palette.text.secondary,\n fontSize: 12,\n },\n divider: {\n margin: '24px 0',\n }\n}));\n\nconst ExpandableRow = ({ page}) => {\n const theme = useTheme();\n const classes = useStyles(theme);\n const [isExpanded, setIsExpanded] = useState(false);\n\n return (\n <>\n \n \n setIsExpanded(!isExpanded)}\n className={`${classes.expandButton} ${isExpanded ? 'expanded' : ''}`}\n >\n {isExpanded ? : }\n \n \n {page.id}\n \n \n \n {page.description.pageName}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n Page Sections\n \n
\n \n \n \n \n Section Title\n Subtitle\n Description\n Image\n \n \n \n {page.description.sections.map((section) => (\n \n {section.title}\n {section.subtitle}\n {section.description}\n \n {section.image\n ? \"\"\n : Image Not Available}\n \n \n ))}\n \n
\n
\n
\n
\n
\n
\n \n );\n};\n\nconst ContentManagement = () => {\n const theme = useTheme();\n const classes = useStyles(theme);\n const [pages, setPages] = useState([]);\n const [faqs, setFaqs] = useState([]);\n const [lastUpdated, setLastUpdated] = useState('Today');\n\n useEffect(() => {\n const fetchSections = async () => {\n try {\n const response = await axios(`/pages`);\n const data = response.data;\n setPages(data.data);\n setLastUpdated(data.data.sort((a, b) => new Date(b.updated_at) - new Date(a.updated_at))[0].updated_at);\n } catch (error) {\n console.error(error);\n toast('Error fetching pages', { type: 'error' });\n }\n };\n fetchSections();\n }, []);\n\n useEffect(() => {\n const fetchFaqSections = async () => {\n try {\n const data = await axios.get(`/faqs`);\n setFaqs(data.data.data);\n setLastUpdated(data.data.data.sort((a, b) => new Date(b.updated_at) - new Date(a.updated_at))[0].updated_at);\n } catch (error) {\n console.error(error);\n toast('Error fetching faq sections', { type: 'error' });\n }\n };\n fetchFaqSections();\n }, []);\n\n\n const stats = [\n { label: 'Total Pages', value: pages.length },\n {\n label: 'Total Sections',\n value: pages.length > 0 ? pages.reduce((acc, page) => acc + (page.description.sections?.length || 0), 0) : 0\n },\n { label: 'Total Faqs', value: faqs?.length ?? 0 },\n { label: 'Last Updated', value: new Date(lastUpdated).toLocaleDateString() },\n];\n\n return (\n \n \n
\n
\n \n Content Management Dashboard\n \n
\n\n
\n {stats.map((stat, index) => (\n \n {stat.value}\n {stat.label}\n \n ))}\n
\n\n \n \n \n \n \n \n ID\n Page Title\n Sections\n Actions\n \n \n \n {pages.length > 0 ? pages.sort((a, b) => a.id - b.id).map((page) => (\n \n )\n ):(\n \n \n \n No pages found\n \n \n \n )\n }\n \n
\n
\n
\n \n Frequently Asked Questions\n \n \n }\n className={classes.addSection}\n >\n Add New FAQ\n \n \n
\n \n \n \n \n S No\n Title\n Description\n Actions\n \n \n \n {faqs.length > 0 ? faqs.map((faq, index) => (\n \n {index + 1}\n {faq.title}\n \n {faq.description}\n \n \n \n \n \n \n \n \n \n )):(\n \n \n \n No FAQs found\n \n \n \n )}\n \n
\n
\n
\n
\n
\n );\n};\n\nexport default ContentManagement;\n","const styles = (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n headerContainer: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 24,\n },\n pageHeader:{\n marginTop: 25,\n marginBottom: 30,\n marginInline: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\"\n },\n pageDetailWrapper:{\n marginBottom: 32,\n width:\"100%\",\n border: \"1px solid rgba(0, 0, 0, 0.23)\",\n padding:\"16px\",\n borderRadius:\"8px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n boxShadow: \"none\",\n '&:hover': {\n boxShadow: '0 4px 8px rgba(0,0,0,0.1)',\n },\n transition: 'box-shadow 0.3s ease',\n },\n pageDetailInner:{\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n width:\"100%\"\n },\n pageDetail : {\n display: \"flex\",\n justifyContent: \"space-between\",\n gap:\"16px\",\n \"@media (max-width: 800px)\": {\n flexDirection: \"column\",\n gap: \"8px\"\n }\n },\n addSection:{\n boxShadow: \"none\",\n textTransform: 'none',\n fontWeight: 400,\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n }\n },\n removeSection:{\n color: \"#f44336\",\n borderColor: \"#f44336\",\n textTransform: 'none',\n backgroundColor: \"#fff\",\n marginTop: \"-2.25rem\",\n \"&:hover\": {\n backgroundColor: \"#f44336\",\n color: \"#fff\",\n },\n marginLeft: \"auto\",\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n }\n }\n });\n\n export default styles;\n","import { Button, Grid, makeStyles, Paper, TextField, Typography, useTheme } from '@material-ui/core';\nimport { AddCircleOutline, CancelOutlined, CloudUpload } from '@material-ui/icons';\nimport Buttons from 'Components/Buttons/Buttons';\nimport { useCallback, useEffect, useState } from 'react';\nimport Editor from 'react-simple-wysiwyg';\nimport Layout from '../../Components/Layout';\nimport Styles from './Styles';\nimport axios from 'axios';\nimport { toast } from 'react-toastify';\n\nconst useStyles = makeStyles((theme) => ({\n ...Styles(theme),\n fileUploadWrapper: {\n position: 'relative',\n width: '100%',\n marginTop: 8,\n },\n fileInput: {\n display: 'none',\n },\n uploadButton: {\n width: '100%',\n padding: '12px',\n border: '2px dashed #ccc',\n borderRadius: '4px',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n cursor: 'pointer',\n transition: 'all 0.3s ease',\n '&:hover': {\n borderColor: '#f4d45f',\n backgroundColor: 'rgba(0, 0, 0, 0.01)',\n },\n },\n previewImage: {\n maxWidth: '200px',\n maxHeight: '200px',\n marginTop: '10px',\n borderRadius: '4px',\n boxShadow: '0 2px 4px rgba(0,0,0,0.1)',\n },\n uploadIcon: {\n fontSize: '32px',\n color: \"#f4d45f\",\n marginBottom: '8px',\n },\n uploadText: {\n color: theme.palette.text.secondary,\n marginBottom: '4px',\n },\n uploadSubtext: {\n color: theme.palette.text.disabled,\n fontSize: '12px',\n },\n imagePreviewWrapper: {\n position: 'relative',\n display: 'inline-block',\n },\n removeImageButton: {\n position: 'absolute',\n top: -10,\n right: -10,\n backgroundColor: 'white',\n borderRadius: '50%',\n padding: '2px',\n cursor: 'pointer',\n boxShadow: '0 2px 4px rgba(0,0,0,0.2)',\n '&:hover': {\n backgroundColor: '#f5f5f5',\n },\n }\n}));\n\nfunction NewPage({history, match}) {\n const theme = useTheme();\n const classes = useStyles(theme);\n const [loading, setLoading] = useState(true);\n const [pageTitle, setPageTitle] = useState('');\n const [sections, setSections] = useState([{\n title: '',\n subtitle: '',\n description: '',\n image: '',\n imagePreview: ''\n }]);\n\n useEffect(() => {\n const fetchPlanData = async () => {\n try {\n setLoading(true);\n const response = await axios.get(\n `/pages/${match.params.id}`\n );\n console.log(\"Fetch Page\",response.data);\n const data = response.data.data;\n setPageTitle(data.description.pageName);\n setSections([...data.description.sections]);\n } catch (error) {\n console.error('Error fetching plan:', error);\n } finally {\n setLoading(false);\n }\n };\n\n fetchPlanData();\n }, [match.params.id]);\n\n const addSection = () => {\n setSections([...sections, {\n title: '',\n subtitle: '',\n description: '',\n image: '',\n imagePreview: ''\n }]);\n };\n\n const removeSection = (index) => {\n setSections([...sections.slice(0, index), ...sections.slice(index + 1)]);\n };\n\n const handleImageUpload = useCallback((e, index) => {\n const file = e.target.files?.[0];\n\n if (!file) return;\n\n // File validation\n if(file.size > 1 * 1024 * 1024){\n toast.error('File size should not exceed 1MB');\n return;\n }\n\n if (!file.type.startsWith('image/')) {\n toast.error('Please upload only image files');\n return;\n }\n\n // Cleanup previous preview URL\n if (sections[index].imagePreview) {\n URL.revokeObjectURL(sections[index].imagePreview);\n }\n\n const reader = new FileReader();\n reader.onloadend = () => {\n setSections(prevSections => {\n const newSections = [...prevSections];\n newSections[index] = {\n ...newSections[index],\n image: reader.result,\n imagePreview: URL.createObjectURL(file)\n };\n return newSections;\n });\n };\n reader.readAsDataURL(file);\n }, [sections]);\n\n const removeImage = (index) => {\n setSections([\n ...sections.slice(0, index),\n {\n ...sections[index],\n image: '',\n imagePreview: ''\n },\n ...sections.slice(index + 1)\n ]);\n };\n\n const cleanupImagePreviews = useCallback(() => {\n sections.forEach(section => {\n if (section.imagePreview) {\n URL.revokeObjectURL(section.imagePreview);\n }\n });\n }, [sections]);\n\n useEffect(() => {\n // Cleanup on component unmount\n return () => cleanupImagePreviews();\n }, [cleanupImagePreviews]);\n\n const saveChanges = async () => {\n try {\n if(match.params.id){\n await axios.put(`/pages/${match.params.id}`,\n { description: {\n pageName: pageTitle,\n sections: sections.map(section => ({\n title: section.title,\n subtitle: section.subtitle,\n description: section.description,\n image: section.image\n }))\n }}\n )\n toast.success('Page updated successfully');\n history.push('/cms');\n return;\n }\n // Validate required fields\n if (!pageTitle.trim()) {\n toast.error('Please enter a page title');\n return;\n }\n\n if (!sections.length || !sections[0].title.trim() || !sections[0].description.trim()) {\n toast.error('Please add at least one complete section');\n return;\n }\n\n const data = {\n pageName: pageTitle.trim(),\n sections: sections.map(section => ({\n title: section.title.trim(),\n subtitle: section.subtitle.trim(),\n description: section.description.trim(),\n image: section.image\n }))\n };\n\n let slug = pageTitle.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/(^-|-$)/g, '');\n const response = await axios.put(`/pages/${slug}`, { description: data });\n if (response.status === 200) {\n // Reset form\n setPageTitle('');\n setSections([{\n title: '',\n subtitle: '',\n description: '',\n image: '',\n imagePreview: ''\n }]);\n cleanupImagePreviews();\n toast.success('Page saved successfully');\n history.push(`/cms`);\n }\n } catch (error) {\n console.error('Save error:', error);\n toast.error(error instanceof Error ? error.message : 'Failed to save page');\n }\n };\n\n return (\n \n \n
\n
\n \n Add New Page\n \n }\n className={classes.addSection}\n onClick={saveChanges}\n >\n Save Changes\n \n
\n\n
\n \n Page Title\n \n setPageTitle(e.target.value)}\n fullWidth\n />\n
\n\n \n Details\n \n\n {sections.map((item, index) => (\n \n {sections.length > 1 && (\n removeSection(index)}\n >\n \n Remove Section\n \n )}\n\n
\n
\n \n Section Title\n \n setSections([\n ...sections.slice(0, index),\n {...item, title: e.target.value},\n ...sections.slice(index + 1)\n ])}\n placeholder='Enter Section Title'\n size=\"small\"\n fullWidth\n />\n\n \n Subtitle\n \n setSections([\n ...sections.slice(0, index),\n {...item, subtitle: e.target.value},\n ...sections.slice(index + 1)\n ])}\n placeholder='Enter Subtitle'\n size=\"small\"\n fullWidth\n />\n\n \n Image\n \n
\n handleImageUpload(e, index)}\n />\n {!item.imagePreview && !item.image ? (\n \n ) : (\n
\n \n removeImage(index)}\n />\n
\n )}\n
\n
\n\n
\n \n Section Detail\n \n setSections([\n ...sections.slice(0, index),\n {...item, description: e.target.value},\n ...sections.slice(index + 1)\n ])}\n />\n
\n
\n
\n ))}\n\n \n \n Add New Section\n \n
\n
\n
\n );\n}\n\nexport default NewPage;\n","const styles = (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n pageHeader:{\n marginTop: 25,\n marginBottom: 30,\n marginInline: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\"\n },\n pageDetailWrapper:{\n marginBottom: 20,\n width:\"100%\",\n border: \"1px solid rgba(0, 0, 0, 0.23)\",\n boxShadow: \"none\",\n padding:\"16px\",\n borderRadius:\"8px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n },\n pageDetailInner:{\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n width:\"100%\"\n },\n pageDetail : {\n display: \"flex\",\n justifyContent: \"space-between\",\n gap:\"16px\",\n },\n addSection:{\n boxShadow: \"none\",\n textTransform: 'none',\n fontWeight: 400,\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n }\n },\n removeSection:{\n color: \"#f44336\",\n borderColor: \"#f44336\",\n textTransform: 'none',\n \"&:hover\": {\n backgroundColor: \"#f44336\",\n color: \"#fff\",\n },\n marginLeft: \"auto\",\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n }\n }\n });\n\n export default styles;\n","import { Grid, makeStyles, MenuItem, Paper, Select, Typography, useTheme } from '@material-ui/core';\nimport { useEffect, useState } from 'react';\nimport { Bar, BarChart, CartesianGrid, Cell, Legend, Line, LineChart, Pie, PieChart, ResponsiveContainer, Tooltip, XAxis, YAxis } from 'recharts';\nimport Styles from './Styles';\nimport Layout from 'Components/Layout';\nimport axios from 'axios';\n\nconst useStyles = makeStyles((theme) => ({\n ...Styles(theme),\n container: {\n padding: '32px 50px',\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 24,\n },\n statsGrid: {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(240px, 1fr))',\n gap: 24,\n marginBottom: 32,\n },\n statCard: {\n padding: 24,\n borderRadius: 8,\n backgroundColor: theme.palette.background.paper,\n border: \"1px solid rgba(0, 0, 0, 0.23)\",\n boxShadow: \"none\",\n '&:hover $statValue': {\n color: \"#f4d45f\",\n },\n },\n chartContainer: {\n marginBottom: 32,\n padding: 24,\n borderRadius: 8,\n backgroundColor: theme.palette.background.paper,\n border: \"1px solid rgba(0, 0, 0, 0.23)\",\n boxShadow: \"none\",\n },\n chartHeader: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 16,\n },\n roleFilter: {\n minWidth: 150,\n height: 40,\n },\n chartWrapper: {\n width: '100%',\n height: 400,\n },\n statValue: {\n fontSize: 32,\n fontWeight: 600,\n marginBottom: 8,\n color: \"#FBE281\",\n },\n statLabel: {\n color: theme.palette.text.secondary,\n }\n}));\n\nconst COLORS = ['#0088FE', '#00C49F', '#FFBB28', '#FF8042'];\n\nfunction Analytics() {\n const theme = useTheme();\n const classes = useStyles(theme);\n const [selectedRole, setSelectedRole] = useState('super-admin');\n const [userStats, setUserStats] = useState([]);\n const [subscriptionStats, setSubscriptionStats] = useState([]);\n\n useEffect(() => {\n // Fetch user analytics\n const fetchUserAnalytics = async () => {\n try {\n const data = await axios.get(\n `/stats/user${selectedRole !== 'all' ? `?role=${selectedRole}` : ''}`\n );\n console.log(data.data)\n setUserStats(data.data.data);\n } catch (error) {\n console.error('Error fetching user analytics:', error);\n }\n };\n\n // Fetch subscription analytics\n const fetchSubscriptionAnalytics = async () => {\n try {\n const data = await axios.get('/stats/subscriptions');\n setSubscriptionStats(data.data.data);\n } catch (error) {\n console.error('Error fetching subscription analytics:', error);\n }\n };\n\n fetchUserAnalytics();\n fetchSubscriptionAnalytics();\n }, [selectedRole]);\n\n const totalUsers = userStats.reduce((acc, curr) => acc + curr.count, 0);\n const totalSubscriptions = subscriptionStats.subscriptions?.reduce((acc, curr) => acc + curr.count, 0) ?? 0;\n const totalRevenue = subscriptionStats.revenue;\n\n return (\n \n
\n
\n \n Analytics Dashboard\n \n
\n\n {/* Stats Cards */}\n
\n \n {totalUsers}\n Total Users\n \n \n {totalSubscriptions}\n Active Subscriptions\n \n \n ${totalRevenue}\n Total Revenue\n \n
\n\n {/* User Analytics */}\n \n
\n User Growth\n setSelectedRole(e.target.value)}\n variant=\"outlined\"\n size=\"small\"\n className={classes.roleFilter}\n >\n All Roles\n Super Admin\n Customer Admin\n Customer Viewer\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n\n {/* Subscription Analytics */}\n \n \n Subscription Distribution\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n );\n}\n\nexport default Analytics;\n","const styles = (theme) => ({\n row: {\n marginTop: \"65px\",\n minHeight: \"calc(100vh - 65px)\",\n flexDirection: \"column\",\n },\n headerContainer: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 24,\n },\n pageHeader:{\n marginTop: 25,\n marginBottom: 30,\n marginInline: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\"\n },\n pageDetailWrapper:{\n marginBottom: 32,\n width:\"100%\",\n border: \"1px solid rgba(0, 0, 0, 0.23)\",\n padding:\"16px\",\n borderRadius:\"8px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n boxShadow: 'none',\n '&:hover': {\n boxShadow: '0 4px 8px rgba(0,0,0,0.1)',\n },\n transition: 'box-shadow 0.3s ease',\n },\n pageDetailInner:{\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n width:\"100%\"\n },\n pageDetail : {\n display: \"flex\",\n justifyContent: \"space-between\",\n gap:\"16px\",\n },\n addSection:{\n boxShadow: \"none\",\n textTransform: 'none',\n fontWeight: 400,\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n }\n },\n });\n\n export default styles;\n","import { Button, Grid, makeStyles, Paper, TextField, Typography, useTheme } from '@material-ui/core';\nimport { AddCircleOutline, CancelOutlined } from '@material-ui/icons';\nimport Buttons from 'Components/Buttons/Buttons';\nimport { useState } from 'react';\nimport Editor from 'react-simple-wysiwyg';\nimport Layout from '../../Components/Layout';\nimport Styles from './Styles';\nimport { toast } from 'react-toastify';\nimport axios from 'axios';\nimport { useEffect } from 'react';\n\nconst useStyles = makeStyles((theme) => ({\n ...Styles(theme),\n removeSection: {\n color: \"#f44336\",\n borderColor: \"#f44336\",\n textTransform: 'none',\n backgroundColor: \"#fff\",\n marginTop: \"-2.25rem\",\n \"&:hover\": {\n backgroundColor: \"#f44336\",\n color: \"#fff\",\n },\n marginLeft: \"auto\",\n \"& svg\":{\n height: \"16px\",\n width: \"16px\",\n marginRight: \"4px\"\n },\n },\n questionWrapper: {\n marginBottom: 16,\n },\n editorWrapper: {\n marginTop: 16,\n overflow: 'hidden',\n '& .rsw-editor': {\n minHeight: 150,\n backgroundColor: theme.palette.background.paper,\n },\n '& .rsw-ce:focus':{\n outline: \"1px solid rgba(0, 0, 0, 0.23)\"\n }\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 24,\n },\n sectionCount: {\n color: theme.palette.text.secondary,\n fontSize: 14,\n },\n}));\n\nfunction FAQ({ history, match }) {\n const theme = useTheme();\n const classes = useStyles(theme);\n const [sections, setSections] = useState([{\n title: '',\n description: ''\n }]);\n\n\n const addSection = () => {\n setSections([...sections, {\n title: '',\n description: ''\n }]);\n };\n\n const removeSection = (index) => {\n setSections([...sections.slice(0, index), ...sections.slice(index + 1)]);\n };\n\n const handleTitleChange = (index, value) => {\n setSections([\n ...sections.slice(0, index),\n { ...sections[index], title: value },\n ...sections.slice(index + 1)\n ]);\n };\n\n const handleDescriptionChange = (index, value) => {\n setSections([\n ...sections.slice(0, index),\n { ...sections[index], description: value },\n ...sections.slice(index + 1)\n ]);\n };\n\n useEffect(() => {\n const fetchFaqData = async () => {\n try {\n const response = await axios.get(\n `/faqs/${match.params.id}`\n );\n console.log(\"Fetch Page\",response.data);\n const data = response.data.data;\n setSections([{ title: data.title, description: data.description }]);\n } catch (error) {\n console.error('Error fetching plan:', error);\n } finally {\n }\n };\n\n fetchFaqData();\n }, [match.params.id]);\n\n const saveChanges = async () => {\n try {\n if(match.params.id){\n await axios.put(`/faqs/${match.params.id}`, {\n title: sections[0].title,\n description: sections[0].description\n })\n toast.success('FAQs updated successfully');\n history.push('/cms');\n return;\n }\n const filteredSections = sections.filter(\n (section) => section.title.trim() || section.description.trim()\n );\n\n if (!filteredSections.length) {\n toast.error('Please add at least one complete section with a title or description.');\n return;\n }\n\n const data = filteredSections.map((section) => ({\n title: section.title.trim(),\n description: section.description.trim(),\n }));\n\n const responses = await Promise.all(data.map((item) => axios.post('/faqs', item)));\n\n if (responses.every(response => response.status === 200)) {\n toast.success('FAQs updated successfully');\n setSections([]);\n history.push('/cms');\n } else {\n toast.error('Some FAQs failed to update.');\n }\n } catch (error) {\n console.error(\"Error updating FAQs:\", error);\n toast.error('Failed to update FAQs. Please try again.');\n }\n };\n\n\n return (\n \n \n
\n
\n
\n
\n \n Frequently Asked Questions\n \n \n {sections.length} Question{sections.length !== 1 ? 's' : ''}\n \n
\n
\n }\n onClick={saveChanges}\n className={classes.addSection}\n >\n Save Changes\n \n
\n\n {sections.map((item, index) => (\n \n {sections.length > 1 && (\n removeSection(index)}\n >\n \n Remove Section\n \n )}\n\n
\n \n Question\n \n handleTitleChange(index, e.target.value)}\n placeholder=\"Enter your question here\"\n size=\"small\"\n fullWidth\n />\n
\n\n
\n \n Answer\n \n
\n handleDescriptionChange(index, e.target.value)}\n />\n
\n
\n
\n ))}\n\n \n \n Add New Question\n \n
\n
\n
\n );\n}\n\nexport default FAQ;\n","// CreatePlan.js\nimport React, { useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport {\n Container,\n Typography,\n TextField,\n Button,\n Paper,\n Box,\n Grid,\n IconButton,\n MenuItem,\n makeStyles,\n} from '@material-ui/core';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport Layout from '../../Components/Layout';\nimport styles from './Styles';\nimport axios from 'axios';\nimport Buttons from 'Components/Buttons/Buttons';\nimport { Add } from '@material-ui/icons';\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst CreatePlan = ({ history }) => {\n const classes = useStyles();\n\n const [formValues, setFormValues] = useState({\n name: '',\n description: '',\n subscription_details: [],\n });\n\n const durationOptions = [\n { value: 'monthly', label: 'Monthly' },\n { value: 'semi-annually', label: 'Semi-Annually' },\n { value: 'annually', label: 'Annually' },\n ];\n\n const handleAddSubscriptionDetail = () => {\n setFormValues((prevState) => ({\n ...prevState,\n subscription_details: [\n ...prevState.subscription_details,\n {\n duration: 'monthly',\n price: 0,\n discountPercentage: 0,\n },\n ],\n }));\n };\n\n const handleSubscriptionDetailChange = (index, field, value) => {\n setFormValues((prevState) => {\n const newDetails = [...prevState.subscription_details];\n newDetails[index] = {\n ...newDetails[index],\n [field]: value,\n };\n return {\n ...prevState,\n subscription_details: newDetails,\n };\n });\n };\n\n const handleRemoveSubscriptionDetail = (index) => {\n setFormValues((prevState) => ({\n ...prevState,\n subscription_details: prevState.subscription_details.filter(\n (_, idx) => idx !== index\n ),\n }));\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n try {\n await axios.post('/subscription-plans', formValues);\n history.push('/subscription-management');\n } catch (error) {\n console.error('Error creating plan:', error);\n // Handle error appropriately\n }\n };\n\n return (\n \n \n \n \n \n Create New Subscription Plan\n \n\n
\n
\n \n Plan Name\n \n \n setFormValues({\n ...formValues,\n name: e.target.value,\n })\n }\n required\n />\n
\n\n
\n \n Description\n \n \n setFormValues({\n ...formValues,\n description: e.target.value,\n })\n }\n multiline\n required\n />\n
\n\n \n \n Subscription Details\n \n {formValues.subscription_details.map((detail, index) => (\n \n handleRemoveSubscriptionDetail(index)}\n className={classes.deleteButton}\n >\n \n \n\n \n handleSubscriptionDetailChange(\n index,\n 'duration',\n e.target.value\n )\n }\n margin='normal'\n style={{marginTop: 30}}\n required\n >\n {durationOptions.map((option) => (\n \n {option.label}\n \n ))}\n \n\n \n handleSubscriptionDetailChange(\n index,\n 'price',\n Number(e.target.value)\n )\n }\n margin='normal'\n required\n />\n\n \n handleSubscriptionDetailChange(\n index,\n 'discountPercentage',\n Number(e.target.value)\n )\n }\n margin='normal'\n InputProps={{\n inputProps: { min: 0, max: 100 },\n }}\n />\n \n ))}\n \n \n Add Subscription Detail\n \n\n \n\n \n history.push('/subscription-management')}\n >\n Cancel\n \n \n Create Plan\n \n \n \n
\n \n
\n
\n );\n};\n\nexport default withRouter(CreatePlan);\n","import React, { useState, useEffect } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport {\n Container,\n Typography,\n TextField,\n Button,\n Paper,\n Box,\n Grid,\n IconButton,\n MenuItem,\n makeStyles,\n CircularProgress,\n} from '@material-ui/core';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport Layout from '../../Components/Layout';\nimport styles from './Styles';\nimport axios from 'axios';\nimport Buttons from 'Components/Buttons/Buttons';\nimport Editor from 'react-simple-wysiwyg';\nimport { Add } from '@material-ui/icons';\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst EditPlan = ({ history, match }) => {\n const classes = useStyles();\n const [loading, setLoading] = useState(true);\n const [formValues, setFormValues] = useState({\n name: '',\n description: '',\n subscription_details: [],\n });\n\n const durationOptions = [\n { value: 'monthly', label: 'Monthly' },\n { value: 'semi-annually', label: 'Semi-Annually' },\n { value: 'annually', label: 'Annually' },\n ];\n\n useEffect(() => {\n const fetchPlanData = async () => {\n try {\n setLoading(true);\n // Replace this with your actual API call\n const response = await axios.get(\n `/subscription-plans/${match.params.id}`\n );\n const data = response.data.data;\n\n setFormValues({\n name: data.name,\n description: data.description,\n subscription_details: data.SubscriptionPlans,\n });\n } catch (error) {\n console.error('Error fetching plan:', error);\n // Handle error appropriately\n } finally {\n setLoading(false);\n }\n };\n\n fetchPlanData();\n }, [match.params.id]);\n\n const handleAddSubscriptionDetail = () => {\n setFormValues((prevState) => ({\n ...prevState,\n subscription_details: [\n ...prevState.subscription_details,\n {\n duration: 'monthly',\n price: 0,\n discountPercentage: 0,\n },\n ],\n }));\n };\n\n const handleSubscriptionDetailChange = (index, field, value) => {\n setFormValues((prevState) => {\n const newDetails = [...prevState.subscription_details];\n newDetails[index] = {\n ...newDetails[index],\n [field]: value,\n };\n return {\n ...prevState,\n subscription_details: newDetails,\n };\n });\n };\n\n const handleRemoveSubscriptionDetail = (index) => {\n setFormValues((prevState) => ({\n ...prevState,\n subscription_details: prevState.subscription_details.filter(\n (_, idx) => idx !== index\n ),\n }));\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n try {\n await axios.put(`/subscription-plans/${match.params.id}`, formValues);\n history.push('/subscription-management');\n } catch (error) {\n console.error('Error updating plan:', error);\n // Handle error appropriately\n }\n };\n\n if (loading) {\n return (\n \n \n \n \n \n );\n }\n\n return (\n \n \n \n \n \n Edit Subscription Plan\n \n\n
\n
\n \n Plan Name\n \n \n setFormValues({\n ...formValues,\n name: e.target.value,\n })\n }\n required\n />\n
\n\n
\n \n Description\n \n \n setFormValues({\n ...formValues,\n description: e.target.value,\n })\n }\n required\n />\n
\n\n \n \n Subscription Details\n \n {formValues.subscription_details?.map((detail, index) => (\n \n handleRemoveSubscriptionDetail(index)}\n className={classes.deleteButton}\n >\n \n \n \n handleSubscriptionDetailChange(\n index,\n 'duration',\n e.target.value\n )\n }\n margin='normal'\n style={{marginTop: 30}}\n required\n >\n {durationOptions.map((option) => (\n \n {option.label}\n \n ))}\n \n\n \n handleSubscriptionDetailChange(\n index,\n 'price',\n Number(e.target.value)\n )\n }\n margin='normal'\n required\n />\n\n \n handleSubscriptionDetailChange(\n index,\n 'discountPercentage',\n Number(e.target.value)\n )\n }\n margin='normal'\n InputProps={{\n inputProps: { min: 0, max: 100 },\n }}\n />\n \n ))}\n \n \n Add Subscription Detail\n \n \n\n \n \n Update Plan\n \n history.push('/subscription-management')}\n >\n Cancel\n \n \n \n
\n \n
\n
\n );\n};\n\nexport default withRouter(EditPlan);\n","import {\n Box,\n Button,\n CircularProgress,\n Container,\n Grid,\n Typography,\n makeStyles,\n useTheme\n} from '@material-ui/core';\nimport axios from 'axios';\nimport moment from 'moment-timezone';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { sentenceCase } from 'utils/string';\nimport Layout from '../../Components/Layout';\nimport styles from './Styles';\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst SubscriptionDetail = (props) => {\n const theme = useTheme();\n const { user } = useSelector((state) => state.auth);\n const [currentSubscription, setCurrentSubscription] = useState();\n const [plans, setPlans] = useState([]);\n\n const getSubscriptionPlans = async () => {\n try {\n const subscriptionPlans = await axios.get('/subscription-plans');\n\n if (subscriptionPlans) {\n setPlans(subscriptionPlans.data.data);\n }\n } catch (error) {\n console.log('error', error);\n }\n };\n\n const classes = useStyles();\n const fetchCurrentSubscription = async () => {\n const currentSubscription = await axios.get('/subscription')\n setCurrentSubscription(currentSubscription.data.data)\n }\n\n useEffect(() => {\n fetchCurrentSubscription().catch(console.log)\n getSubscriptionPlans().catch(console.log)\n }, [])\n\n\n if(!currentSubscription || !plans.length) {\n return \n }\n\n const currentPlan = currentSubscription ? plans.find(plan => !!(plan.PlanTypePrices ?? []).some(a => a.id === currentSubscription?.plan_type_price_id)) : null\n const currentPlanPrice = currentPlan ? currentPlan.PlanTypePrices.find(a => a.id === currentSubscription?.plan_type_price_id) : null\n\n return (\n \n \n \n \n \n Subscription and Billing\n \n \n Manage and Update subscription and billing information\n \n \n \n \n Subscription Information\n \n\n \n \n {/* actual profile form component */}\n\n \n \n Subscription Start Date:{' '}\n {moment(currentSubscription.subscription_starts_at).format('DD MMMM, YYYY')}\n \n \n \n
\n\n                
\n \n Subscription Plan:{' '}\n {sentenceCase(\n currentPlan?.name\n ) ?? ''}\n \n \n \n \n Subscription Price: $\n {currentPlanPrice?.price ?? ''}\n /{currentPlanPrice?.duration}\n \n \n \n \n Discount:{' '}\n {currentPlanPrice?.discount ?? 0}%\n \n \n {currentSubscription.trial_ends_at && (\n <>\n \n \n Trial Ends Date:{' '}\n {moment(currentSubscription.trial_ends_at).format('DD MMMM, YYYY')}\n \n \n \n \n Trial left duration:{' '}\n {moment(user.trial_end_at).diff(moment(), 'days') + 1 >= 0\n ? moment(user.trial_end_at).diff(moment(), 'days') +\n 1 +\n ' days'\n : 'Trial is expired'}\n \n \n \n )}\n {/* Add upgrade/downgrade plan logic here */}\n \n props.history.push('/upgrade')}\n >\n Change Plan\n \n \n \n \n \n
\n \n\n \n
\n );\n};\n\nexport default SubscriptionDetail;\n","import {\n Box,\n Button,\n Container,\n Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle,\n Divider,\n Grid,\n Slide,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport axios from 'axios';\nimport PlanDisplay from 'Components/Subscription/PlanDisplay';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { toast } from \"react-toastify\";\nimport Layout from '../../Components/Layout';\nimport styles from './Styles';\nimport Buttons from 'Components/Buttons/Buttons';\n\nconst useStyles = makeStyles((theme) => styles(theme));\n\nconst Transition = React.forwardRef(function Transition(\n props,\n ref,\n) {\n return ;\n});\n\n\nconst UpgradePlan = (props) => {\n const [plans, setPlans] = useState([]);\n const [currentSubscription, setCurrentSubscription] = useState();\n const [selectedPlan, setSelectedPlan] = useState();\n const classes = useStyles();\n\n\n const handleClose = () => {\n setSelectedPlan(null);\n };\n\n const getSubscriptionPlans = async () => {\n try {\n const subscriptionPlans = await axios.get('/subscription-plans');\n\n if (subscriptionPlans) {\n setPlans(subscriptionPlans.data.data);\n }\n } catch (error) {\n console.log('error', error);\n }\n };\n\n const fetchCurrentSubscription = async () => {\n const currentSubscription = await axios.get('/subscription')\n setCurrentSubscription(currentSubscription.data.data)\n }\n\n useEffect(() => {\n fetchCurrentSubscription().catch(console.log)\n getSubscriptionPlans().catch(console.log)\n }, [])\n\n const handlePlanChoose = async (priceItem, { anotherCard }) => {\n try {\n handleClose()\n\n const response = await axios.post(`/subscription-upgrade`, {\n \"newPlanTypePriceId\": priceItem.id,\n \"sameCard\": !anotherCard\n });\n\n console.log(response.data);\n\n if (response.data.data.url) {\n window.open(response.data.data.url, '_blank')\n } else {\n toast.success(response.data.message);\n setTimeout(() => {\n window.location.reload();\n }, 5000);\n }\n } catch (error) {\n console.log('error', error);\n }\n }\n\n return (\n \n
\n \n
\n \n Subscription Details\n \n
\n\n \n\n \n {\n const selectedPlan = plans.find(plan => plan.PlanTypePrices.find(price => price.id === priceItem.id))\n setSelectedPlan({\n price: priceItem, plan: {\n id: selectedPlan.id,\n name: selectedPlan.name,\n description: selectedPlan.description,\n }\n })\n }}\n plans={plans}\n currentPlanId={currentSubscription?.plan_type_price_id}\n />\n \n\n
\n
\n \n {selectedPlan && (\n <>\n {\"Change Curren Plan?\"}\n \n \n Are you sure you want to change your current plan?\n
\n If you want to proceed with the selected plan, click on Proceed.\n
\n
\n Plan Name: {selectedPlan.plan.name}\n
\n Billing Cycle: {selectedPlan.price.duration}.\n
\n Price: Aud. {selectedPlan.price.price}\n
\n
\n
\n \n \n handlePlanChoose(selectedPlan.price, { anotherCard: true })}>Procced With Another Card\n handlePlanChoose(selectedPlan.price, { anotherCard: false })}>Proceed\n \n \n )}\n \n
\n );\n};\n\nexport default UpgradePlan;\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//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\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 reject(error);\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)\n .then((response) => {\n toast.success('Faq has been added');\n resolve(response);\n })\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)\n .then((response) => {\n toast.success('How-to-documnetation article has been added');\n resolve(response);\n })\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)\n .then((response) => {\n toast.success('Help video has been added');\n resolve(response);\n })\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)\n .then((response) => {\n toast.success('Faq list has been updated');\n resolve(response);\n })\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)\n .then((response) => {\n toast.success('How-to-documnetation article has been updated');\n resolve(response);\n })\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)\n .then((response) => {\n toast.success('Help video list has been updated');\n resolve(response);\n })\n .catch((error) => {\n toast.error(error.response.message);\n reject(error);\n });\n }\n });\n\n export const deleteArticle = (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.delete(`/faqs/${article.id}`)\n .then((response) => {\n toast.success('Faq list has been deleted');\n resolve(response);\n })\n .catch((error) => {\n toast.error(error.response.message);\n reject(error);\n });\n } else if (article.section === 'documentation') {\n Axios.delete(`/how-to-docs/${article.id}`)\n .then((response) => {\n toast.success('How-to-documnetation article has been deleted');\n resolve(response);\n })\n .catch((error) => {\n toast.error(error.response.message);\n reject(error);\n });\n } else if (article.section === 'videos') {\n Axios.delete(`/help-videos/${article.id}`)\n .then((response) => {\n toast.success('Help video list has been deleted');\n resolve(response);\n })\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 dispatch({\n type: 'GET_FAQ_LIST',\n payload: response.data.data,\n });\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 dispatch({\n type: 'GET_HOW_TO_DOC_LIST',\n payload: response.data.data,\n });\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 dispatch({\n type: 'GET_VIDEO_LIST',\n payload: response.data.data,\n });\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\n ? customDateRangeRed[0]\n : '';\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 dispatch({\n type: 'GET_SUPPORT_LIST',\n payload: response.data.data,\n });\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};\n","import React, { useEffect } from 'react';\n\nimport {\n Container,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Grid,\n IconButton,\n InputLabel,\n makeStyles,\n TextField,\n withStyles,\n} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport MailOutlineIcon from '@material-ui/icons/MailOutline';\nimport ReplyIcon from '@material-ui/icons/Reply';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport Styles from '../../Pages/Help/Styles';\nimport {\n creatContactSupport,\n creatRespondSupport,\n getContactSupportList\n} from '../../store/actions/HelpPageAction';\nimport * as constant from '../../utils/constant';\nimport { CustomButton } from '../CustomButton/CustomButton';\nimport Spinner from '../Spinner';\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\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 {\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 Moment from 'moment-timezone';\nimport { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport fbIcon from '../../../assets/images/facebook.png';\nimport { CustomButton } from '../../../Components/CustomButton/CustomButton';\nimport Spinner from '../../../Components/Spinner';\n\nimport {\n getMoreUserLoginActivity,\n getUserLoginActivity,\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 border: '1px solid #e0e0e0',\n boxShadow: 'none',\n borderRadius: 8,\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 border: '1px solid #e0e0e0',\n boxShadow: 'none',\n borderRadius: 8,\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 border: '1px solid #e0e0e0',\n boxShadow: 'none',\n borderRadius: 8,\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 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(\n d.timezone ? d.timezone : 'Australia/Sydney'\n )\n .format('YYYY-MM-DD hh:mm A')}\n \n \n {d.timezone}\n \n
\n
\n
\n ))\n :
\n No data found\n
}\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 Moment from \"moment-timezone\";\nimport { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport fbIcon from \"../../../assets/images/facebook.png\";\nimport instaBg from \"../../../assets/images/instabg.png\";\nimport { CustomButton } from \"../../../Components/CustomButton/CustomButton\";\nimport Spinner from \"../../../Components/Spinner\";\n\nimport {\n getMoreUserReportDownloadActivity,\n getUserReportDownloadActivity,\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 border: '1px solid #e0e0e0',\n boxShadow: 'none',\n borderRadius: 8,\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 border: '1px solid #e0e0e0',\n boxShadow: 'none',\n borderRadius: 8,\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 border: '1px solid #e0e0e0',\n boxShadow: 'none',\n borderRadius: 8,\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 :
\n No data found\n
}\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 '../../Components/UserLoginActivityTable/UserLoginActivityTable';\nimport ReportDownloadActivityTable from '../../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 { subdomainList } = 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 \n setSelectedSubdomain([subdomain.id])\n }\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 )}\n\n {selectedTable === TABLE_LIST.REPORT_ACTIVITY && (\n \n )}\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 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","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","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 { 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 function GrowthRateCard({ 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 '../../utils/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\n let selectedData;\n\n selectedData = addedProfileList.filter((addedList) =>\n comparisonSelectedDataId.includes(addedList.id)\n );\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 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 setTimeout(() => {\n setPieData(mapData3);\n }, 3000);\n }\n }, [interactionDistributions, selectedProfilesListToComapre, itemEls]);\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 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\n useEffect(async () => {\n if (pieData && pieData.length !== 0) {\n try {\n const filterPieData = pieData.filter((data) => data);\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 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","export default \"data:image/png;base64,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\"","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\n const extractedOutput =\n output.length > 0\n ? output[output.length - 1].props.children\n : output.props.children;\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\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 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","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 '../../utils/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 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 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';\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 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 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\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 }, [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","import {\n Container,\n Grid,\n Typography,\n withStyles,\n TextField,\n InputAdornment,\n} from '@material-ui/core';\nimport React from 'react';\nimport * as constant from '../../utils/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 = ({\n searchQuery,\n handleKeyPress,\n 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 \n event.key === 'Enter' &&\n event.target.value !== '' &&\n handleKeyPress\n ? handleKeyPress(event)\n : null\n }\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 '../../utils/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 deleteArticle,\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';\nimport { deleteConfirmation } from 'utils/confirm';\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 // getting article details from child component\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 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(\n updateArticle({\n ...article,\n id: editInfo.id,\n })\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 } catch (error) {\n if (error) {\n setFormLoader(false);\n }\n }\n }\n }\n };\n\n const fetchArticlesFromApi = () => {\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\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 fetchArticlesFromApi()\n }\n }, [article.section]);\n\n const accordionChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const handleDelete = () => {\n dispatch(deleteArticle({ ...article , ...editInfo }))\n setEditInfo({})\n setArticle({ section: article.section })\n\n fetchArticlesFromApi()\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 }, [editInfo]);\n\n const handleCancel = () => {\n // reseting form\n setArticle({\n section: '',\n title: '',\n body: '',\n });\n setEditInfo({});\n };\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\n return (\n \n \n {user && user.role !== constant.SUPER_ADMIN_NAME ? (\n \n history.push('/help/faq')}\n handleSearch={handleSearch}\n />\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 )\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' ? (\n videoListLoader ? (\n \n ) : videoList ? (\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 ) : (\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 deleteConfirmation('Are you sure?', 'You are about to delete this article.').then(isConfirm => {\n if(isConfirm) {\n handleDelete()\n }\n })}\n style={{\n backgroundColor: '#F44336',\n borderColor: '#F44336',\n color: '#fff',\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","\nexport function deleteConfirmation(title, description,) {\n const Swal = window.swal\n return Swal.fire({\n title: title,\n text: description,\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: \"No\",\n denyButtonText: `Yes`\n })\n .then((result) => result.isDenied);\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, 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 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 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 policy outlines how we collect, use, and protect your information when you use our website and services.\n \n
    \n
  1. Information We Collect
  2. \n We collect the following types of information when you use RavenXAI:\n
      \n
    • Personal Information
    • \n When you create an account, we collect personal details such as your name, email address, and password.\n
    • Social Media Data
    • \n By connecting your Facebook and Instagram pages, we collect basic information from these platforms, including:\n
        \n
      • Page details (page name, page ID, followers, etc.)
      • \n
      • Post and engagement metrics (likes, comments, shares, etc.)
      • \n
      • Competitor page information if you add them for monitoring purposes
      • \n
      \n
    • Usage Data
    • \n We collect information about how you interact with our platform, including:\n
        \n
      • Pages viewed
      • \n
      • Engagement with content (analytics, etc.)
      • \n
      • Device information (IP address, browser type, operating system)
      • \n
      \n
    \n
  3. How We Use Your Information
  4. \n The data we collect is used to:\n
      \n
    • Provide access to our platform and its features
    • \n
    • Generate and display social media analytics and competitor data
    • \n
    • Improve our website's functionality and user experience
    • \n
    • Respond to customer service inquiries
    • \n
    • Send occasional updates and notifications relevant to your account
    • \n
    \n We will never sell your personal information to third parties.\n
  5. Data Sharing
  6. \n

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

    \n
  7. Data Security
  8. \n

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

    \n
  9. Cookies and Tracking Technologies
  10. \n

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

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

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

    \n
  15. Children's Privacy
  16. \n

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

    \n
  17. Changes to This Privacy Policy
  18. \n

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

    \n
  19. Contact Us
  20. \n If you have any questions or concerns about this privacy policy, please contact us at:\n
    \n RavenXAI
    \n Email: info@ravenxai.com
    \n Address: Sydney, Australia\n
\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 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 '../../utils/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 \n )),\n Check: forwardRef((props, ref) => (\n \n )),\n Clear: forwardRef((props, ref) => (\n \n )),\n Delete: forwardRef((props, ref) => (\n \n )),\n DetailPanel: forwardRef((props, ref) => (\n \n )),\n Edit: forwardRef((props, ref) => (\n \n )),\n Export: forwardRef((props, ref) => (\n \n )),\n Filter: forwardRef((props, ref) => (\n \n )),\n FirstPage: forwardRef((props, ref) => (\n \n )),\n LastPage: forwardRef((props, ref) => (\n \n )),\n NextPage: forwardRef((props, ref) => (\n \n )),\n PreviousPage: forwardRef((props, ref) => (\n \n )),\n ResetSearch: forwardRef((props, ref) => (\n \n )),\n Search: forwardRef((props, ref) => (\n \n )),\n SortArrow: forwardRef((props, ref) => (\n \n )),\n ThirdStateCheck: forwardRef((props, ref) => (\n \n )),\n ViewColumn: forwardRef((props, ref) => (\n \n )),\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\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 //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 $('div').animate(\n {\n scrollLeft: left,\n },\n 200\n );\n });\n\n $('.scrollLeft').click(function (event) {\n event.preventDefault();\n if (left > 0) {\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}) => {\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 '../../utils/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\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 '../../utils/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\n //sorted features\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 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 ) : 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 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 {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) =>\n 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
\n {sortedData &&\n sortedData.map((d) => (\n \n {allLabels.map((s) => {\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 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 {\n title: 'Relative Change in Total Fans',\n mobileTitle: 'Change in Fans',\n key: 'relative_fan_change',\n },\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 {\n title: 'Sum of Interactions',\n mobileTitle: 'Interactions',\n key: 'interactions_count',\n },\n {\n title: 'Average Interaction per 1k Fans',\n mobileTitle: 'Avg Interactions',\n key: 'interaction_per_1k_fans',\n },\n {\n title: 'Average Interaction per post',\n mobileTitle: 'Avg Interactions / Post',\n key: 'avg_interaction_per_post',\n },\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 {\n title: 'Relative Change in Total Fans',\n mobileTitle: 'Change in Fans',\n key: 'relative_fan_change',\n },\n {\n title: 'Comment Count',\n mobileTitle: 'Comments',\n key: 'comments_count',\n },\n { title: 'Post Counts', mobileTitle: 'Posts', key: 'posts_count' },\n {\n title: 'Sum of Interactions',\n mobileTitle: 'Interactions',\n key: 'interactions_count',\n },\n {\n title: 'Average Interaction per 1k Fans',\n mobileTitle: 'Avg Interactions',\n key: 'interaction_per_1k_fans',\n },\n {\n title: 'Average Interaction per post',\n mobileTitle: 'Avg Interactions / Post',\n key: 'avg_interaction_per_post',\n },\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] =\n React.useState(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 dispatch(getAddedProfileList());\n }, [activeSocialMediaType, customDateRangeRed]);\n\n React.useEffect(() => {\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\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","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 { 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 {\n Typography,\n useTheme,\n useMediaQuery,\n makeStyles,\n} 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\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 const [displayColorPicker, setDisplayColorpicker] = useState(false);\n const [color, setColor] = useState('');\n const [acceptColor, setAcceptColor] = useState('');\n\n const { addedProfileList } = useSelector(\n (state) => state.socialMediaProfileListReducer\n );\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 useEffect(() => {\n if (selectProfile) {\n const filteredData = addedProfileList.find(\n (data) => data.id === selectProfile\n );\n setColor(filteredData ? filteredData.color : '');\n }\n }, [selectProfile]);\n\n useEffect(() => {\n if (acceptColor) {\n getColors(acceptColor);\n }\n }, [acceptColor]);\n\n useEffect(() => {\n const element = colorRef;\n }, []);\n\n const classes = useStyles({ xs });\n return (\n \n {selectProfile && (\n \n \n \n (Pick Brand Color)\n \n \n )}\n\n {displayColorPicker && (\n \n setDisplayColorpicker(false)}\n onAccept={handleAccept}\n />\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 '../../utils/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 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 axios from \"axios\";\nimport { useEffect, useState } from \"react\"\nimport { CheckCircleOutline } from \"@material-ui/icons\";\nimport { Alert } from \"@material-ui/lab\";\n\nexport const PAYMENT_STATUS_STATE = {\n LOADING: 'loading',\n PAID: 'paid',\n NOT_PAID: 'not paid',\n EXPIRED: 'expired',\n}\n\nexport default function VerifyPayment() {\n const [paymentStatus, setPaymentStatus] = useState(PAYMENT_STATUS_STATE.LOADING);\n\n const updatePaymentStatusIfPaid = async () => {\n try {\n const sessionId = new URLSearchParams(window.location.search).get('session_id');\n const response = await axios.post(`/payment/session`, { token: sessionId });\n setPaymentStatus(response.data.data.message === 'Payment success' ? PAYMENT_STATUS_STATE.PAID : PAYMENT_STATUS_STATE.NOT_PAID);\n\n } catch (error) {\n setPaymentStatus(PAYMENT_STATUS_STATE.EXPIRED);\n }\n }\n\n useEffect(() => {\n setInterval(() => {\n updatePaymentStatusIfPaid()\n }, 10000)\n }, [])\n\n if (paymentStatus === PAYMENT_STATUS_STATE.LOADING) {\n return (\n Fetching your payment success status\n )\n }\n\n if (paymentStatus === PAYMENT_STATUS_STATE.PAID) {\n return (\n
\n } severity=\"success\">\n Payment successful\n \n

Payment was successful. You can now safely close this tab.

\n
\n );\n }\n\n if (paymentStatus === PAYMENT_STATUS_STATE.EXPIRED) {\n return (\n Could not find your detail.\n )\n }\n\n return (\n Payment Failed.\n )\n}\n","import VerifyPayment from \"./VerifyPayment\";\n\nexport default function VerifyPaymentPage() {\n const sessionId = new URLSearchParams(window.location.search).get('session_id');\n\n if(sessionId) {\n return (\n
\n

Payment Verification

\n \n
\n )\n }\n\n return (\n
\n

No identification found

\n
\n )\n}","import { useEffect } from \"react\";\n\nexport default function PaymentCancelledPage() {\n useEffect(() => {\n setTimeout(() => {\n window.location.href = '/';\n }, 3000);\n })\n\n return (\n
\n

Looks like you cancelled to pay. Redirecting to payment plan selection

\n
\n )\n}","import { createTheme, CssBaseline, ThemeProvider } from '@material-ui/core';\nimport { SnackbarProvider } from 'notistack';\nimport { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Route, Switch } from 'react-router-dom';\nimport { toast, ToastContainer } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport AdminDashboardPage from './Admin/Pages/AdminDashboardPage';\nimport AdminRoutes from './Components/PrivateRoute/AdminRoutes';\nimport PrivateRoutes from './Components/PrivateRoute/PrivateRoute';\nimport Toast from './Components/Toast';\nimport ChangePasswordFromMail from './Pages/ChangePasswordFromMail/ChangePasswordFromMail';\nimport ContentNewsFeedPage from './Pages/ContentNewsfeed/ContentNewsFeed';\nimport CustomerAdminSetting from './Pages/CustomerAdminSetting/CustomerAdminSetting';\nimport DashboardPage from './Pages/DashboardPage/DashboardPage';\nimport LoginPage from './Pages/Login/Login';\nimport ProfilePage from './Pages/Profile/Profile';\nimport CardDetailPage from './Pages/Register/CardDetail';\nimport RegisterPage from './Pages/Register/Register';\nimport SocialListeningPage from './Pages/SocialListeningPage/SocialListeningPage';\nimport UserManagementPage from './Pages/UserManagement/UserManagement';\nimport SubscriptionSetting from './Pages/SubscriptionManagementSetting/SubscriptionSetting';\nimport AccountManagement from 'Pages/AccountManagement/AccountManagement';\nimport ContentManagement from 'Pages/ContentManagement/ContentManagement';\nimport NewPage from 'Pages/NewPage/NewPage';\nimport Analytics from 'Admin/Pages/Analytics/Analytics.jsx';\nimport FAQ from 'Pages/FAQ/FAQ';\nimport CreatePlan from './Pages/SubscriptionManagementSetting/CreatePlan';\nimport EditPlan from './Pages/SubscriptionManagementSetting/EditPlan';\nimport SubscriptionDetail from './Pages/SubscriptionManagementSetting/SubscriptionDetail';\nimport { ChangePassword, getSignInUser } from './store/actions/AuthAction';\nimport { LoadLogoAndBanner } from './store/actions/SettingActions';\n\n/* Setting up or registring axios config */\nimport { getSubDomain } from 'Functions';\nimport UpgradePlan from 'Pages/SubscriptionManagementSetting/Upgrade';\nimport { ContactSupport } from './Admin/Pages/ContactSupport/ContactSupport';\nimport UserActivity from './Admin/Pages/UserActivity/UserActivity';\nimport './axiosConfig';\nimport ComparisonPage from './Pages/ComparisionPage/ComparisonPage';\nimport Help from './Pages/Help/Help';\nimport HelpPageDoucment from './Pages/Help/HelpPageDoucment';\nimport HelpPageFaq from './Pages/Help/HelpPageFaq';\nimport HelpPageVideo from './Pages/Help/HelpPageVideo';\nimport PrivacyPolicy from './Pages/PrivacyPolicy/PrivacyPolicy';\nimport ProfileListingPage from './Pages/ProfileListingPage/ProfileListingPage';\nimport ProfileOverview from './Pages/ProfileListingPage/ProfileOverview';\nimport PaymentVerifyPage from \"./Pages/PaymentPage/VerificationPage\"\nimport PaymentCancelPage from \"./Pages/PaymentPage/CancellationPage\"\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\n useEffect(() => {\n const subDomain = getSubDomain();\n if (subDomain) dispatch(LoadLogoAndBanner(subDomain));\n\n if (serverError === true) {\n toast.error('check your internet connection');\n } else {\n console.log('app connected');\n }\n }, [dispatch, serverError]);\n\n useEffect(() => {\n if (user) {\n dispatch(getSignInUser(user.id));\n }\n }, []);\n\n const shouldLoad = !getSubDomain() || logoBannerDataLoaded\n if(!shouldLoad) return \"\"\n\n return (\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \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 dispatch({\n type: 'LOAD_LOGO_AND_BANNER',\n });\n axios\n .get(`/get-subdomain/${subdomain}`)\n .then((response) => {\n dispatch({\n type: 'UPDATE_LOGO_AND_BANNER',\n payload: response.data.data,\n });\n })\n .catch((error) => {\n dispatch({\n type: 'UPDATE_LOGO_AND_BANNER',\n payload: { id: 'false' },\n });\n });\n};\n\nexport const socialMediaType = (data) => (dispatch) => {\n dispatch({\n type: 'ACTIVE_SOCIAL_MEDIA_TYPE',\n payload: data,\n });\n};\n","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:\n localStorage.getItem('userInfo') &&\n localStorage.getItem('userInfo') != 'undefined'\n ? true\n : false,\n\n token:\n localStorage.getItem('userInfo') &&\n localStorage.getItem('userInfo') != 'undefined'\n ? JSON.parse(localStorage.getItem('userInfo')).access_token\n : null,\n\n user:\n localStorage.getItem('userInfo') &&\n 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 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/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 hasPaid: false,\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 hasPaid: !!action.payload.has_paid,\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 return {\n ...state,\n open: true,\n message: action.payload.message,\n variant: action.payload.variant,\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\nconst userActivityReducer = (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\nexport default userActivityReducer;\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 { createBrowserHistory } from \"history\";\nimport 'react-dates/lib/css/_datepicker.css';\nimport ReactDOM from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport { Router } from \"react-router-dom\";\nimport App from \"./App\";\nimport \"./index.css\";\nimport store from \"./store\";\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n"],"sourceRoot":""}