{"version":3,"sources":["utils/getInitials.js","components/DatePicker/DatePicker.js","components/DataTable/DataTable.js","theme/palette.js","theme/typography.js","theme/overrides/MuiChip.js","theme/overrides/MuiIconButton.js","theme/overrides/MuiInputBase.js","theme/overrides/MuiLinearProgress.js","theme/overrides/MuiListItemIcon.js","theme/overrides/MuiTableHead.js","theme/overrides/index.js","theme/overrides/MuiButton.js","theme/overrides/MuiCardActions.js","theme/overrides/MuiCardContent.js","theme/overrides/MuiCardHeader.js","theme/overrides/MuiOutlinedInput.js","theme/overrides/MuiPaper.js","theme/overrides/MuiTableCell.js","theme/overrides/MuiTableRow.js","theme/overrides/MuiToggleButton.js","theme/overrides/MuiTypography.js","theme/index.js","reducers/sessionReducer.js","reducers/notifierReducer.js","views/Management/requests/UsersRequests.js","views/Management/actions/UsersActions.js","views/Management/reducers/UsersReducer.js","views/Management/requests/OperatorsRequests.js","views/Management/actions/OperatorsActions.js","views/Management/reducers/OperatorsReducer.js","views/Management/requests/SettingsRequests.js","views/Management/actions/SettingsActions.js","views/Management/reducers/SettingsReducer.js","views/ReportKpis/requests/ReportsRequests.js","views/ReportKpis/actions/ReportsActions.js","views/ReportKpis/reducers/ReportsReducer.js","views/Dashboard/requests/DashboardInspectRequests.js","views/Dashboard/actions/DashboardInspectActions.js","views/Dashboard/reducers/DashboardInspectReducer.js","views/Tracker/requests/ActivityViewRequests.js","views/Tracker/actions/ActivityViewActions.js","views/Tracker/reducers/ActivityViewReducer.js","views/Tracker/actions/ElementViewActions.js","views/Tracker/reducers/ElementViewReducer.js","views/Builder/requests/PlanningRequests.js","views/Builder/actions/PlanningActions.js","views/Builder/reducers/PlanningReducer.js","views/Scripting/requests/ScriptingRequests.js","views/Scripting/actions/ScriptingActions.js","views/Scripting/reducers/ScriptingReducer.js","reducers/index.js","layouts/Auth/components/Topbar/Topbar.js","layouts/Auth/Auth.js","layouts/Error/Error.js","components/NotificationHub/NotificationHub.js","layouts/Dashboard/components/NavBar/navigationConfig.js","layouts/Dashboard/components/NavBar/NavBar.js","layouts/Dashboard/components/TopBar/TopBar.js","layouts/Dashboard/Dashboard.js","layouts/Dashboard/components/ChatBar/ChatBar.js","views/DashboardAnalytics/components/EarningsSegmentation/components/Chart/Chart.js","views/DashboardAnalytics/components/EarningsSegmentation/EarningsSegmentation.js","views/DashboardAnalytics/components/FinancialStats/components/Chart/Chart.js","views/DashboardAnalytics/components/FinancialStats/FinancialStats.js","views/DashboardAnalytics/components/Header/Header.js","views/DashboardAnalytics/components/MostProfitableProducts/components/CircularProgress/CircularProgress.js","views/DashboardAnalytics/components/MostProfitableProducts/MostProfitableProducts.js","views/DashboardAnalytics/components/Overview/Overview.js","views/DashboardAnalytics/components/TopReferrals/TopReferrals.js","views/DashboardAnalytics/components/CustomerActivity/CustomerActivity.js","views/DashboardAnalytics/components/LatestOrders/LatestOrders.js","views/DashboardAnalytics/DashboardAnalytics.js","views/DashboardDefault/components/Header/Header.js","views/DashboardDefault/components/LatestProjects/LatestProjects.js","views/DashboardDefault/components/NewProjects/NewProjects.js","views/DashboardDefault/components/RoiPerCustomer/RoiPerCustomer.js","views/DashboardDefault/components/TeamTasks/components/TaskItem/TaskItem.js","views/DashboardDefault/components/TeamTasks/TeamTasks.js","views/DashboardDefault/components/TodaysMoney/TodaysMoney.js","views/DashboardDefault/components/SystemHealth/SystemHealth.js","views/DashboardDefault/components/RealTime/components/Chart/Chart.js","views/DashboardDefault/components/RealTime/RealTime.js","views/DashboardDefault/components/PerformanceOverTime/components/Chart/Chart.js","views/DashboardDefault/components/PerformanceOverTime/PerformanceOverTime.js","views/DashboardDefault/DashboardDefault.js","views/Overview/components/Header/Header.js","views/Overview/components/Statistics/Statistics.js","views/Overview/components/Notifications/Notifications.js","views/Overview/components/Projects/Projects.js","views/Overview/components/Todos/Todos.js","views/Overview/Overview.js","views/Home/Home.js","views/Presentation/components/FAQ/FAQ.js","views/Presentation/components/Header/Header.js","views/Presentation/components/PluginsSupport/PluginsSupport.js","views/Presentation/components/SourceFiles/SourceFiles.js","views/Presentation/components/UserFlows/UserFlows.js","views/Presentation/Presentation.js","views/Management/components/Users/components/Card/Card.js","views/Management/components/Users/components/UsersDataTable/UsersDataTable.js","components/ModalDialog/components/DialogTitle.js","components/ModalDialog/components/DialogContent.js","components/ModalDialog/ModalDialog.js","views/Management/components/Users/components/AddEditUserDialog/components/AddEditUserForm/AddEditUserForm.js","views/Management/components/Users/components/AddEditUserDialog/AddEditUserDialog.js","views/Management/components/Users/Users.js","views/Management/components/Operators/components/OperatorCard/OperatorCard.js","views/Management/components/Operators/components/OperatorsList/OperatorsList.js","views/Management/components/Operators/components/AddOperatorDialog/components/AddOperatorForm/AddOperatorForm.js","views/Management/components/Operators/components/AddOperatorDialog/AddOperatorDialog.js","views/Management/components/Operators/Operators.js","views/Management/components/OperatorDetails/components/Overview/components/Details/Details.js","views/Management/components/OperatorDetails/components/Overview/components/Picture/Picture.js","views/Management/components/OperatorDetails/components/Overview/Overview.js","views/Management/components/OperatorDetails/components/Projects/components/ProjectsDataTable/components/ActionsButton/ActionsButton.js","views/Management/components/OperatorDetails/components/Projects/components/ProjectsDataTable/ProjectsDataTable.js","views/Management/components/OperatorDetails/components/Projects/components/AddProjectDialog/components/AddProjectForm/AddProjectForm.js","views/Management/components/OperatorDetails/components/Projects/components/AddProjectDialog/AddProjectDialog.js","views/Management/components/OperatorDetails/components/Projects/Projects.js","views/Management/components/OperatorDetails/components/Users/components/UsersDataTable/UsersDataTable.js","views/Management/components/OperatorDetails/components/Users/Users.js","views/Management/components/OperatorDetails/OperatorDetails.js","views/Management/components/Settings/components/General/components/GeneralForm/GeneralForm.js","views/Management/components/Settings/components/General/General.js","views/Management/components/Settings/components/Notifications/Notifications.js","views/Management/components/Settings/components/Security/Security.js","views/Management/components/Settings/Settings.js","views/Management/components/Settings/components/Subscription/Subscription.js","views/ReportKpis/components/Reports/components/ReportLastDate/ReportLastDate.js","components/DatePicker/DateTimePicker.js","views/ReportKpis/components/Reports/components/Report3G/components/Report3G1h/Report3G1h.js","views/ReportKpis/components/Reports/components/Report3G/components/Report3G16h/Report3G16h.js","views/ReportKpis/components/Reports/components/Report3G/components/Report3G1w/Report3G1w.js","views/Downloads/components/DownloadList/components/DownloadListItem/DownloadListItem.js","views/Downloads/components/DownloadList/DownloadList.js","views/ReportKpis/components/Reports/components/Downloads.js","views/ReportKpis/components/Reports/components/Report3G/Report3G.js","views/ReportKpis/components/Reports/components/Report4G/components/Report4G1h/Report4G1h.js","views/ReportKpis/components/Reports/components/Report4G/components/Report4G16h/Report4G16h.js","views/ReportKpis/components/Reports/components/Report4G/components/Report4G1w/Report4G1w.js","views/ReportKpis/components/Reports/components/Report4G/Report4G.js","views/ReportKpis/components/Reports/components/Report5G/components/Report5G1h/Report5G1h.js","views/ReportKpis/components/Reports/components/Report5G/components/Report5G16h/Report5G16h.js","views/ReportKpis/components/Reports/components/Report5G/components/Report5G1w/Report5G1w.js","views/ReportKpis/components/Reports/components/Report5G/Report5G.js","views/ReportKpis/components/Reports/Reports.js","views/Uploads/components/UploadList/components/UploadListItem/UploadListItem.js","views/Uploads/components/UploadList/UploadList.js","views/ReportKpis/requests/UploadsRequests.js","views/ReportKpis/actions/UploadsActions.js","views/ReportKpis/components/Uploads/Uploads.js","views/Dashboard/components/Inspect/components/OptionsButton/OptionsButton.js","views/Dashboard/components/Inspect/DashboardInspect.js","views/Tracker/components/ActivityView/components/ActivityDataTable.js","views/Tracker/components/ActivityView/components/ActionsButton.js","views/Tracker/components/ActivityView/ActivityView.js","views/Tracker/components/ActivityDetails/components/ActivityDetailsDataTable.js","views/Tracker/components/ActivityDetails/ActivityDetails.js","views/Tracker/components/TaskDetails/components/Details/components/Comments.js","views/Tracker/components/TaskDetails/components/Details/components/DetailsForm.js","views/Tracker/components/TaskDetails/components/Details/Details.js","views/Tracker/components/TaskDetails/components/History/History.js","views/Tracker/components/TaskDetails/TaskDetails.js","views/Tracker/components/ElementView/components/ElementDataTable.js","views/Tracker/components/ElementView/ElementView.js","views/Tracker/requests/ElementViewRequests.js","views/Builder/requests/ImportRequests.js","views/Builder/components/Import/Import.js","views/Builder/actions/ImportActions.js","views/Builder/components/Planning/components/DataTable2G.js","views/Builder/components/Planning/components/DataTable3G.js","views/Builder/components/Planning/components/DataTable4G.js","views/Builder/components/Planning/components/DataTable5G.js","views/Builder/components/Planning/Planning.js","views/Builder/components/Scripting/components/DataTableScripting.js","views/Builder/components/Scripting/Scripting.js","views/Builder/actions/ScriptingActions.js","views/Builder/requests/ScriptingRequests.js","views/Builder/components/Builder.js","views/Scripting/components/RetuneScripting/RetuneScripting.js","views/Scripting/components/RetuneScripting/Dss2100Scripting.js","routes.js","components/Notifier/Notifier.js","mixins/chartjs.js","mixins/moment.js","mixins/validate.js","utils/mock.js","mock/accountMock.js","mock/calendarMock.js","mock/chatMock.js","mock/customerMock.js","mock/mailMock.js","mock/projectMock.js","mock/socialFeedMock.js","mock/userMock.js","mock/invoiceMock.js","mock/kanbanMock.js","mock/taskMock.js","mock/orderMock.js","mock/dashboardMock.js","App.js","store/configureStore.js","serviceWorker.js","index.js","components/SelectField/SelectField.js","components/AddPost/AddPost.js","components/Alert/Alert.js","components/CodeBlock/CodeBlock.js","components/CookiesNotification/CookiesNotification.js","components/FilesDropzone/FilesDropzone.js","components/GenericMoreButton/GenericMoreButton.js","components/GoogleAnalytics/GoogleAnalytics.js","components/Markdown/Markdown.js","components/Navigation/components/NavigationListItem/NavigationListItem.js","components/Navigation/Navigation.js","components/NotificationsPopover/components/NotificationList/NotificationList.js","components/NotificationsPopover/components/EmptyList/EmptyList.js","components/NotificationsPopover/NotificationsPopover.js","components/Page/Page.js","components/Paginate/Paginate.js","components/PostCard/components/CommentBubble/CommentBubble.js","components/PostCard/components/CommentForm/CommentForm.js","components/PostCard/components/Reactions/Reactions.js","components/PostCard/PostCard.js","components/PricingModal/PricingModal.js","components/ProjectCard/ProjectCard.js","components/ReviewStars/ReviewStars.js","components/RichEditor/components/EditorToolbar/EditorToolbar.js","components/RichEditor/utils/block.js","components/RichEditor/RichEditor.js","components/ScrollReset/ScrollReset.js","components/SearchBar/components/Filter/Filter.js","components/SearchBar/components/Search/Search.js","components/SearchBar/SearchBar.js","components/StackAvatars/StackAvatars.js","components/StatusBullet/StatusBullet.js","components/TableEditBar/TableEditBar.js","components/Loading/Loading.js","components/Header/Header.js","components/Progress/CircularProgressWithLabel.js","components/DatePicker/index.js","components/DatePicker/Calendar.js","components/FilePicker/FilePicker.js","components/PowerBIDashboard/PowerBIDashboard.js","components/FiltersDrawer/FiltersDrawer.js","actions/notifierActions.js","configuration/configuration.js","utils/AxiosRequest.js","components/Label/Label.js","components/TableauDashboard/TableauDashboard.js","components/Checkbox/Checkbox.js","utils/axios.js","utils/useRouter.js","utils/gradients.js","components/AuthGuard/AuthGuard.js","actions/sessionActions.js","utils/bytesToSize.js"],"names":["name","replace","split","slice","map","v","toUpperCase","join","DatePicker","props","value","onChange","rest","useState","open","setOpen","onOpen","onClose","renderInput","p","fullWidth","onClick","e","inputFormat","variant","inputVariant","emptyLabel","DataTable","id","title","data","columns","options","showDownload","showPrint","selectableRows","rowsPerPage","filterType","tableBodyMaxHeight","injectFirst","theme","outerTheme","tableBodyCellMaxWidth","actionColumnWidth","createTheme","adaptV4Theme","overrides","MUIDataTable","MUIDataTableHead","MUIDataTableHeadCell","MUIDataTableHeadRow","MUIDataTableBody","MUIDataTableBodyRow","MuiTableCell","body","maxWidth","width","MUIDataTablePagination","MUIDataTableViewCol","MUIDataTableSearch","MUIDataTableToolbar","MUIDataTableFilter","MUIDataTableFilterList","getMuiTheme","rowsPerPageOptions","download","print","responsive","onRowSelectionChange","currentRowsSelected","allRowsSelected","rowsSelected","onRowSelection","filter","dt","index","indexOf","white","black","primary","contrastText","dark","colors","blue","main","light","secondary","A400","error","red","text","blueGrey","link","icon","background","default","paper","divider","grey","h1","color","palette","fontWeight","fontSize","letterSpacing","lineHeight","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline","textTransform","styleOverrides","root","backgroundColor","deletable","input","opacity","borderRadius","overflow","colorPrimary","minWidth","MuiButton","contained","boxShadow","MuiCardActions","padding","MuiCardContent","MuiCardHeader","MuiChip","MuiIconButton","MuiInputBase","MuiLinearProgress","MuiListItemIcon","MuiOutlinedInput","notchedOutline","borderColor","MuiPaper","elevation1","MuiTableHead","typography","borderBottom","MuiTableRow","MuiToggleButton","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","MuiTypography","gutterBottom","marginBottom","components","token","localStorage","getItem","config","TOKEN_KEY","initialState","loggedIn","user","notifications","isLoading","loadingCount","downloads","downloadskey","uploads","uploadskey","decoded","jwt","currentDate","Date","getTime","exp","sessionReducer","state","action","type","actionTypes","role","defaultState","GetUsersRequest","AxiosRequest","method","url","API_URL","params","GetRolesRequest","GetOperatorProjectsRequest","operatorIds","GetUserRequest","userId","ResendConfirmationEmailRequest","DeactivateUserRequest","GET_USERS","GET_USERS_STATS","TOGGLE_ADD_EDIT_USER_DIALOG","GET_ROLES","GET_OPERATORS","GET_OPERATOR_PROJECTS","SET_FORM_STATE","GET_USER","GetUsers","dispatch","a","then","response","users","catch","enqueueSnackbar","message","GetUsersStats","usersStats","ToggleAddEditUserDialog","openAddEditUserDialog","openAddEditUserDialogId","onToggleAddEditUserDialog","SetFormState","formState","onSetFormState","roles","operators","operatorProjects","isValid","values","touched","errors","usersReducer","GetOperatorRequest","operatorId","UpdateImageRequest","operator","DeleteProjectRequest","projectId","UpdateOperatorRequest","TOGGLE_ADD_OPERATOR_DIALOG","NAVIGATE_DETAILS","GET_OPERATOR","TOGGLE_ADD_PROJECT_DIALOG","GetOperators","ToggleAddOperatorDialog","openAddEditOperatorDialog","openAddOperatorDialog","NavigateDetails","detailsOperatorId","onNavigateDetails","GetOperator","UpdateImage","ToggleAddProjectDialog","openAddEditProjectDialog","openAddProjectDialog","operatorsReducer","GetOperatorsRequest","UpdateSettingsRequest","ChangePasswordRequest","GenerateReportRequest","filters","GET_REPORTS_LAST_DATES","GenerateReport","DownloadFile","reportsLastDates","reportsReducer","DashboardInspectRequest","dashboardId","DASHBOARD_INSPECT","dashboard","GetActivityRequest","activityId","GetActivityElementsRequest","GetTaskRequest","elementTaskId","GetElementTaskRequest","ProcessElementCreationRequest","fileLocation","ProcessImportExportRequest","PostElementTaskCommentRequest","comment","SaveElementTaskDetailsRequest","details","ChangeColumnVisibilityRequest","changeColumn","GetVisibleColumnsRequest","datatableId","InitializeDatatableColumnsRequest","initializeColumns","GET_ACTIVITIES","GET_ACTIVITY","GET_ACTIVITY_ELEMENTS","GET_TASK","GET_ELEMENT_TASK","GET_VISIBLE_COLUMNS","InitializeDatatableColumns","GetVisibleColumns","activity","visibleColumns","length","tasks","item","push","columnId","activityTaskId","GetElementTask","elementTask","ProcessElementCreation","ProcessImportExport","activities","activityViewReducer","activityElements","task","GET_ELEMENT_TASK_COMPLETION","elementTaskCompletion","EditValueRequest","cellRowData","tech","CreateScriptsRequest","cells","operation","GET_SITES","SET_SELECTED","GET_SITE","EDIT_ROW_VALUE","UPDATE_SELECTED_ROWS","GetSite","selected","siteId","site","UpdateSelectedRows","selectedRows","onUpdateSelectedRows","dataTableMapping","sites","undefined","planningReducer","newSite","JSON","parse","stringify","siteData","cellData","find","key","newSelectedRows","GetRetuneScriptsRequest","siteList","GetDss2100ScriptsRequest","GetDss2100EricssonScriptsRequest","filePath","GET_RETUNE_SCRIPTS","GetDss2100EricssonScripts","retuneScripts","dssEricssonExcelInputFilePath","scriptingReducer","rootReducer","combineReducers","session","notifierReducer","ENQUEUE_SNACKBAR","notification","CLOSE_SNACKBAR","dismissAll","dismissed","REMOVE_SNACKBAR","settingsReducer","dashboardInspectReducer","elementViewReducer","useStyles","makeStyles","Topbar","className","classes","AppBar","clsx","Toolbar","to","alt","src","style","maxHeight","content","height","paddingTop","breakpoints","up","Auth","route","fallback","LinearProgress","renderRoutes","routes","Error","startSignalRConnection","connection","origin","start","err","NotificationHub","useRef","useDispatch","useSelector","NotificationRecieved","info","actions","Math","random","DownloadUpdate","UploadUpdate","useEffect","current","urlRoot","connectionHub","HubConnectionBuilder","withUrl","build","on","onclose","setTimeout","stop","pages","href","HomeIcon","DescriptionIcon","ShowChartIcon","children","ReceiptIcon","CalendarTodayIcon","DashboardIcon","SupervisorAccountIcon","target","DesktopMacIcon","SettingsIcon","overflowY","spacing","profile","display","flexDirection","alignItems","minHeight","avatar","marginTop","navigation","NavBar","openMobile","onMobileClose","router","useRouter","location","pathname","projects","projectsMenu","FolderIcon","management","navigationConfig","hangfire","hangfireindex","findIndex","splice","managementIndex","navbarContent","Avatar","component","RouterLink","getInitials","firstname","lastname","Typography","Divider","list","includes","_","intersection","userRole","userProjects","Hidden","lgUp","Drawer","anchor","lgDown","Paper","elevation","square","flexGrow","search","flexBasis","searchIcon","marginRight","searchInput","searchPopper","zIndex","appBar","searchPopperContent","trialButton","marginLeft","green","trialIcon","notificationsButton","notificationsBadge","orange","logoutButton","logoutIcon","TopBar","onOpenNavBarMobile","history","notificationsRef","pricingModalOpen","setPricingModalOpen","openNotifications","setOpenNotifications","shallowEqual","IconButton","ref","size","Badge","badgeContent","i","readed","badge","Button","anchorEl","drawer","listItemText","lastActivity","whiteSpace","fab","position","bottom","right","topBar","container","flex","navBar","Dashboard","openNavBarMobile","setOpenNavBarMobile","Chart","dataProp","useTheme","datasets","borderWidth","hoverBorderColor","labels","label","maintainAspectRatio","animation","cutoutPercentage","legend","layout","tooltips","enabled","mode","intersect","caretSize","yPadding","xPadding","titleFontColor","bodyFontColor","footerFontColor","callbacks","tooltipItem","items","paddingBottom","chartContainer","chart","statsContainer","statsItem","justifyContent","borderRight","EarningsSegmentation","earnings","setEarnings","mounted","axios","get","Card","CardHeader","CardContent","earning","align","thisYear","lastYear","cornerRadius","scales","xAxes","barThickness","maxBarThickness","barPercentage","categoryPercentage","gridLines","drawBorder","ticks","fontColor","yAxes","borderDash","borderDashOffset","zeroLineBorderDash","zeroLineBorderDashOffset","zeroLineColor","beginAtZero","min","maxTicksLimit","callback","yLabel","inner","FinancialStats","dates","calendarTodayIcon","Header","moment","subtract","startDate","setStartDate","endDate","setEndDate","selectEdge","setSelectEdge","calendarDate","setCalendarDate","handleCalendarOpen","edge","Boolean","Grid","lg","xs","ButtonGroup","format","maxDate","onAccept","date","isAfter","isBefore","defaultProps","circle1","stroke","fill","strokeWidth","circle2","strokeDasharray","CircularProgress","viewBox","d","image","flexShrink","subscriptions","fontWeightMedium","price","conversion","conversionStats","arrowForwardIcon","MostProfitableProducts","products","setProducts","Table","TableBody","product","TableRow","hover","TableCell","currency","progress","CardActions","textAlign","down","valueContainer","Overview","md","sm","fontWeightBold","TopReferrals","referrals","setReferrals","List","disablePadding","referral","ListItem","ListItemAvatar","initials","ListItemText","CustomerActivity","customers","setCustomers","customer","author","disableTypography","description","Link","underline","created_at","fromNow","progressContainer","labelColors","complete","pending","rejected","LatestOrders","orders","setOrders","suppressScrollY","TableHead","sortDirection","Tooltip","enterDelay","TableSortLabel","active","direction","order","totalCell","status","DashboardAnalytics","xl","startDateButton","endDateButton","tags","LatestProjects","setProjects","project","tag","flexWrap","backgroundImage","gradients","NewProjects","RoiPerCustomer","critical","indicator","borderStyle","viewButton","TaskItem","deadline","now","deadlineMoment","diff","ListItemIcon","primaryTypographyProps","noWrap","avatars","members","limit","TeamTasks","setTasks","TodaysMoney","margin","SystemHealth","stacked","indigo","itemDivider","borderBottomColor","RealTime","setData","setInterval","newData","shift","max","ceil","floor","pop","subheader","subheaderTypographyProps","titleTypographyProps","views","page","canvas","gradient","getContext","createLinearGradient","addColorStop","alpha","pointBorderColor","pointBorderWidth","pointRadius","pointBackgroundColor","buttons","PerformanceOverTime","thisWeek","thisMonth","DashboardDefault","summaryButton","barChartIcon","first_name","mdDown","titleWrapper","Statistics","statistics","setStatistics","payout","visitors","watching","Notifications","uuid","icons","invite","ListItemSecondaryAction","header","left","arrowIcon","Projects","getLabel","todo","done","isSame","addIcon","textDecoration","Todos","todos","setTodos","Radio","checked","event","t","handleChange","Home","statsInner","FAQ","faq","secondaryTypographyProps","mediaContainer","media","stats","enqueueSnackbarAction","closeSnackbarAction","closeSnackbar","PluginsSupport","SourceFiles","UserFlows","Presentation","nameCell","primaryButton","errorButton","UsersDataTable","_resendConfirmationEmail","ResendConfirmationEmail","_deactivateUser","DeactivateUser","_renderActions","tableMeta","rowData","viewColumns","customBodyRender","sortBy","val","Label","sort","empty","updateValue","expandableRows","DialogTitle","withStyles","closeButton","top","DialogContent","MuiDialogContent","ModalDialog","cancelLabel","confirmLabel","hasConfirm","onConfirmClicked","isDisabled","modal","autoScrollBodyContent","dialogProps","Dialog","disableEscapeKeyDown","DialogActions","disabled","schema","presence","allowEmpty","email","roleId","fields","submitButton","AddEditUserForm","isEdit","setFormState","hasOperatorIdsChanged","usePrevious","validate","hasError","field","TextField","helperText","SelectField","hintText","menuItems","isMultiSelect","projectIds","AddEditUserDialog","alignContent","applyButton","onApply","getData","useCallback","userData","CreateUser","Users","_addUser","module","view","online","client","registered","results","detailsButton","deleteButton","OperatorCard","deleteOperator","navigateDetails","gridList","AddOperatorForm","AddOperatorDialog","Operators","_addOperator","OperatorsList","saveButton","Details","UpdateOperator","textAlgin","removeButton","addButton","Picture","inputFile","click","updateOperator","accept","files","reader","FileReader","addEventListener","result","readAsDataURL","deliverables","ActionsButton","moreRef","openMenu","setOpenMenu","anchorOrigin","vertical","horizontal","menu","transformOrigin","MenuItem","memo","ProjectsDataTable","_deleteProject","DeleteProject","AddProjectForm","AddProjectDialog","projectList","tabs","alert","OperatorDetails","tab","setTab","Tabs","scrollButtons","Tab","userList","GeneralForm","getUserInfo","General","oldpassword","newpassword","confirmnewpassword","equality","Security","overview","productImage","notice","Settings","ReportLastDate","dateEricsson","finalDate","finalDateEricsson","_renderMessage","DateTimePicker","minutesStep","ampm","generate","Report3G1h","setDate","controllers","setControllers","setFilterType","username","startTime","utc","reportType","Report3G16h","setStartTime","endTime","setEndTime","marks","Report3G1w","add","hour","setHour","Slider","step","newValue","getAriaValueText","valueLabelDisplay","startOf","startHour","first","endHour","last","card","cursor","avatarBlue","avatarGreen","avatarOrange","avatarRed","DownloadListItem","file","finished","running","subPath","filename","addedDate","toString","group","DownloadList","todayItems","yesterdayItems","olderItems","Downloads","FetchDownloads","Report3G","lastDate3g","Report4G1h","vendor","setVendor","Report4G16h","Report4G1w","starthour","endhour","Report4G","lastDate4g","lastDate4gEricsson","Report5G1h","Report5G16h","Report5G1w","Report5G","lastDate5gHuawei","lastDate5gEricsson","Reports","UploadListItem","UploadList","ProcessFilesRequest","ProcessFile","Uploads","FetchUploads","multiple","acceptedTypes","upload","UploadFile","Upload","OptionsButton","exportPdf","fullScreen","DashboardInspect","match","handle","useFullScreenHandle","_getDashboard","_fullScreen","enter","ShowExportPDFDialog","TableauDashboard","reportId","serverId","accessToken","ActivityDataTable","openActivityDetails","fullExport","fullImport","elementCreationTemplate","importCreationTemplate","CloudDownload","PlaylistAddCheck","AddCircleOutline","ActivityView","importType","setImportType","_getActivities","UploadElementCreation","UploadImportExport","ActivityDetailsDataTable","activityTasks","openTaskDetails","changeColumnVisibility","taskName","contains","element","el","onViewColumnsChange","changedColumn","ActivityDetails","_getData","GetActivityElements","activityName","object","activityElementTasks","statusName","taskId","ChangeColumnVisibility","Comments","comments","commentValue","setCommentValue","disableUnderline","trim","placeholder","PostElementTaskComment","DetailsForm","_handleChange","_handleDateChange","picker","_hasError","scopeOfWork","owner","requestDate","receiveDate","sendDate","executerName","executerContact","technology","incident","notes","statusId","uf","regional","lessonsLearned","multiline","rows","rowMax","isEqual","History","selectedIndex","setSelectedIndex","selectedRow","_onSelectRow","orientation","alignSelf","oldValue","userName","TaskDetails","ElementDataTable","rowsExpanded","setRowsExpanded","renderExpandableRow","rowMeta","colSpan","onRowsExpand","currentRowsExpanded","allRowsExpanded","expanded","ElementView","completion","ImportFileRequest","popover","pointerEvents","acceptedFiles","fileformat","Import","setAnchorEl","handlePopoverClose","onMouseOver","currentTarget","onMouseLeave","Popover","disableRestoreFocus","row","scope","DataTable2G","editValue","updateSelectedRows","findWhere","newRow","bcch","bsic","tcHs","_editValue","sector","carrier","pagination","selectableRowsHeader","selectToolbarPlacement","DataTable3G","psc","rac","ura","DataTable4G","tac","pci","pss","sss","rsi","DataTable5G","Planning","_setSelected","SetSelected","EditValue","_updateSelectedRows","updatedSelectedRows","Autocomplete","getOptionLabel","option","Object","keys","forEach","CreateScripts","builderCells2g","builderCells3g","builderCells4g","builderCells5g","secondaryButton","DataTableScripting","window","registerDate","reverse","Scripting","scripts","_getScripts","Builder","RetuneScripting","setSites","Dss2100Scripting","sitesEricsson","setSitesEricsson","path","exact","AuthGuard","DashboardLayout","AuthLayout","lazy","ErrorLayout","DashboardAnalyticsView","DashboardDefaultView","OverviewView","PresentationView","displayed","Notifier","store","useSnackbar","React","reason","myKey","onExited","removeSnackbar","helpers","extend","elements","Rectangle","prototype","draw","signX","signY","borderSkipped","radius","ctx","this","_chart","vm","_view","base","x","y","barSize","abs","halfStroke","borderLeft","borderTop","beginPath","fillStyle","strokeStyle","lineWidth","corners","startCorner","cornerAt","corner","moveTo","nextCornerId","xTl","xTr","yTl","yTr","xBl","xBr","yBl","yBr","lineTo","quadraticCurveTo","updateLocale","relativeTime","future","past","s","ss","m","mm","h","hh","dd","M","MM","yy","validators","regex","RegExp","pattern","test","instance","AxiosMockAdapter","delayResponse","mock","onGet","reply","canHire","country","firstName","isPublic","lastName","phone","timezone","updated_at","subscription","proposalsLeft","templatesLeft","invitesLeft","adsLeft","hasAnalytics","hasEmailAlerts","settings","draft","events","desc","end","allDay","conversations","otherUser","messages","sender","authUser","contentType","unread","groups","connections","spent","rating","summary","zipCode","address1","address2","iban","autoCC","verified","invoices","vat","balance","emails","paymentMethod","logs","IP","seen","favorited","subject","receiver","start_date","end_date","bio","brief","mimeType","subject_type","action_type","action_desc","subscribers","cover","common_connections","posts","liked","likes","reviews","reviewer","pricePerHour","hours","common","invoice","due_date","issue_date","company","nzbn","address","subtotal","taxes","total","lists","payment","promoCode","city","cuantity","billing","cyan","createBrowserHistory","basename","process","preloadedState","middlewares","thunkMiddleware","middlewareEnhancer","composeWithDevTools","applyMiddleware","enhancers","composedEnhancers","compose","createStore","configureStore","interceptor","App","StyledEngineProvider","ThemeProvider","maxSnack","autoHideDuration","LocalizationProvider","dateAdapter","DateAdapter","hostname","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister","chips","chip","formControlStyle","customRenderValue","setLabelWidth","InputLabelRef","offsetWidth","htmlFor","inputProps","renderValue","fileInput","AddPost","fileInputRef","setValue","handleAttach","Input","shape","success","lightBlue","warning","paddingLeft","Alert","forwardRef","Collapse","in","displayName","trimCode","codeLines","indexOfFirstChar","output","line","substr","CodeBlock","async","source","language","Component","Prism","outline","CookiesNotification","Cookies","agreeButton","set","dropZone","border","dragActive","FilesDropzone","maxSize","setFiles","handleDrop","f","concat","useDropzone","onDrop","getRootProps","getInputProps","isDragActive","suppressScrollX","bytesToSize","GenericMoreButton","Menu","REACT_APP_GA_MEASUREMENT_ID","Markdown","highlightAll","CustomRouterLink","itemLeaf","buttonLeaf","fontWeightRegular","expandIcon","NavigationListItem","depth","Icon","openProp","disableGutters","o","activeClassName","NavigationList","reduce","matchPath","reduceChildRoutes","Navigation","listItem","NotificationList","NotificationMarkAsRead","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundSize","EmptyList","NotificationsPopover","GA_MEASUREMENT_ID","Page","gtag","page_path","page_name","Helmet","listStyle","userSelect","activeLink","break","breakLink","next","nextLink","pageLink","previous","previousLink","Paginate","pageCount","pageRangeDisplayed","onPageChange","activeLinkClassName","breakClassName","breakLabel","breakLinkClassName","containerClassName","disabledClassName","marginPagesDisplayed","nextClassName","nextLabel","nextLinkClassName","pageClassName","pageLinkClassName","previousClassName","previousLabel","previousLinkClassName","subContainerClassName","bubble","time","CommentBubble","CommentForm","likeButton","likedButton","shareButton","shareIcon","Reactions","post","setLiked","setLikes","l","accessTimeIcon","mediaArea","backgroundPosition","PostCard","CardActionArea","CardMedia","reactions","transition","transitions","create","easing","sharp","duration","leavingScreen","transform","recommended","contact","startButton","PricingModal","subtitle","learnMoreButton","ProjectCard","colo","starIcon","starFilledIcon","amber","starBorderIcon","ReviewStars","starCount","starNodes","starNode","useStyles1","useStyles2","activeButton","BLOCK_TYPES","blockType","tooltip","FormatQuoteIcon","FormatListBulletedIcon","FormatListNumberedIcon","CodeIcon","FormatAlignLeftIcon","FormatAlignCenterIcon","FormatAlignRightIcon","FormatAlignJustifyIcon","INLINE_STYLES","inlineStyle","FormatBoldIcon","FormatItalicIcon","FormatUnderlined","ButtonBase","BlockTypeButtons","editorState","onToggle","selection","getSelection","getCurrentContent","getBlockForKey","getStartKey","getType","blockData","preventDefault","handleClick","InlineStyleButtons","currentStyle","getCurrentInlineStyle","has","EditorToolbar","newBlockRenderMap","Map","unstyled","paragraph","blockRenderMap","DefaultDraftBlockRenderMap","merge","editorContainer","fontFamily","textAlignLeft","textAlignCenter","textAlignRight","textAlignJustify","RichEditor","editorRef","EditorState","createEmpty","setEditorState","handleEditorChange","es","newContentState","Modifier","setBlockData","newEditorState","RichUtils","toggleBlockType","toggleInlineStyle","focus","blockStyleFn","contentBlock","string","charAt","handleKeyCommand","command","newState","keyBindingFn","keyCode","getDefaultKeyBinding","onTab","spellCheck","ScrollReset","scrollTo","buttonIcon","contentSection","contentSectionHeader","contentSectionContent","formGroup","fieldGroup","minAmount","maxAmount","radioGroup","Filter","onFilter","initialValues","paymentStatus","amount","projectStatus","customerName","customerType","customerEmail","customerPhone","customerAge","expandProject","setExpandProject","expandCustomer","setExpandCustomer","setValues","handleFieldChange","onSubmit","ep","select","SelectProps","native","newValues","Chip","deleteIcon","onDelete","handleTagDelete","RadioGroup","FormControlLabel","control","ec","ToggleButtonGroup","exclusive","ToggleButton","searchButton","Search","onSearch","filterButton","filterIcon","SearchBar","openFilter","setOpenFilter","more","StackAvatars","avatarNodes","small","medium","large","StatusBullet","rootClassName","TableEditBar","onMarkPaid","onMarkUnpaid","PaperProps","backdrop","Loading","Backdrop","CircularProgressWithLabel","Box","round","DatePickerIndex","iconButton","selectedDate","handleDateChange","useSate","selectedStateDate","setSelectedDate","CalendarPicker","FilePicker","InputBase","PowerBIDashboard","embedConfig","embedUrl","tokenType","models","TokenType","Aad","panes","visible","BackgroundType","Default","cssClassName","getEmbeddedComponent","embeddedReport","report","interceptors","request","use","configuration","headers","Authorization","hasLoading","SetLoading","Promise","reject","statusCode","RedirectToError","errorObject","isString","rounded","finalStyle","viz","showExportPDFDialog","dispose","containerDiv","hideToolbar","onFirstVizSizeKnown","innerHeight","setAttribute","tableau","Viz","_initViz","MaterialCheckbox","onCheck","labelPlacement","labelStyle","muiName","Checkbox","useContext","__RouterContext","buildGradient","propTypes","PropTypes","node","array","isRequired","SESSION_LOGIN","SESSION_LOGOUT","SET_NOTIFICATIONS","USER_INFO","SET_LOADING","REDIRECT_TO_ERROR","SET_DOWNLOADS","SET_UPLOADS","onLogin","onRedirectToError","login","password","setItem","logout","removeItem","recover","CompleteRegistration","rpassword","ResetPassword","FetchNotifications","formData","FormData","append","ShowFile","blob","decodeURIComponent","newBlob","Blob","msSaveOrOpenBlob","URL","createObjectURL","createElement","appendChild","removeChild","revokeObjectURL","responseType","bytes","decimals","k","dm","sizes","log","parseFloat","pow","toFixed"],"mappings":"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","file":"static/js/main.817db774.chunk.js","sourcesContent":["export default (name = '') => name\r\n\t.replace(/\\s+/, ' ')\r\n\t.split(' ')\r\n\t.slice(0, 2)\r\n\t.map((v) => v && v[0].toUpperCase())\r\n\t.join('');\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { TextField } from '@mui/material';\r\nimport { DatePicker as MuiDatePicker } from '@mui/lab';\r\n\r\nconst DatePicker = (props) => {\r\n\tconst { value,\r\n\t\tonChange,\r\n\t\t...rest } = props;\r\n\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\treturn (\r\n\t\t setOpen(true)}\r\n\t\t\tonClose={() => setOpen(false)}\r\n\t\t\trenderInput={(p) => (\r\n\t\t\t\t setOpen(true)}\r\n\t\t\t\t\t{...rest}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\tinputFormat=\"yyyy-MM-DD\"\r\n\t\t\tvalue={value || null}\r\n\t\t\tonChange={onChange}\r\n\t\t\tvariant=\"inline\"\r\n\t\t\tinputVariant=\"outlined\"\r\n\t\t\temptyLabel=\"\"\r\n\t\t\t{...rest}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nDatePicker.propTypes = {\r\n\tvalue: PropTypes.any.isRequired,\r\n\tonChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default DatePicker;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createTheme, ThemeProvider, StyledEngineProvider, adaptV4Theme } from '@mui/material/styles';\r\n\r\nconst DataTable = (props) => {\r\n\tconst {\r\n\t\tid,\r\n\t\ttitle = '',\r\n\t\tdata = [],\r\n\t\tcolumns = [],\r\n\t\toptions,\r\n\t\t// pagination = true,\r\n\t\tshowDownload = false, // show download icon button\r\n\t\tshowPrint = false, // show print icon button\r\n\t\tselectableRows = 'none', // multiple, single, none\r\n\t\trowsPerPage = 20, // number of rows displayed by page\r\n\t\tfilterType = 'multiselect', // filter type can be multiselect, texfield, etc.,\r\n\t\ttableBodyMaxHeight = '40em',\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst getMuiTheme = (outerTheme) => {\r\n\t\tconst {\r\n\t\t\ttableBodyCellMaxWidth,\r\n\t\t\tactionColumnWidth\r\n\t\t} = props;\r\n\r\n\t\treturn createTheme(adaptV4Theme({\r\n\t\t\t...outerTheme,\r\n\t\t\toverrides: {\r\n\t\t\t\tMUIDataTable: {},\r\n\t\t\t\tMUIDataTableHead: {},\r\n\t\t\t\tMUIDataTableHeadCell: {},\r\n\t\t\t\tMUIDataTableHeadRow: {},\r\n\t\t\t\tMUIDataTableBody: {},\r\n\t\t\t\tMUIDataTableBodyRow: {},\r\n\t\t\t\tMuiTableCell: {\r\n\t\t\t\t\tbody: {\r\n\t\t\t\t\t\tmaxWidth: tableBodyCellMaxWidth,\r\n\t\t\t\t\t\t'&:last-child': {\r\n\t\t\t\t\t\t\twidth: actionColumnWidth\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tMUIDataTablePagination: {},\r\n\t\t\t\tMUIDataTableViewCol: {},\r\n\t\t\t\tMUIDataTableSearch: {},\r\n\t\t\t\tMUIDataTableToolbar: {},\r\n\t\t\t\tMUIDataTableFilter: {},\r\n\t\t\t\tMUIDataTableFilterList: {}\r\n\t\t\t}\r\n\t\t}));\r\n\t};\r\n\r\n\tconst _onRowSelection = (currentRowsSelected, allRowsSelected, rowsSelected) => {\r\n\t\tconst { onRowSelection } = props;\r\n\t\tconst selectedRows = data.filter((dt, index) => rowsSelected.indexOf(index) !== -1);\r\n\t\tonRowSelection(selectedRows);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t ({ ...getMuiTheme(outerTheme) })}>\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDataTable.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\ttitle: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\tcolumns: PropTypes.array.isRequired,\r\n\toptions: PropTypes.object,\r\n\tpagination: PropTypes.bool,\r\n\tshowDownload: PropTypes.bool,\r\n\tshowPrint: PropTypes.bool,\r\n\tselectableRows: PropTypes.string,\r\n\trowsPerPage: PropTypes.number,\r\n\tfilterType: PropTypes.string,\r\n\ttableBodyCellMaxWidth: PropTypes.string || PropTypes.number,\r\n\tactionColumnWidth: PropTypes.string || PropTypes.number,\r\n\tonRowSelection: PropTypes.func,\r\n\ttableBodyMaxHeight: PropTypes.string\r\n};\r\n\r\nexport default DataTable;\r\n","import { colors } from '@mui/material';\r\n\r\nconst white = '#FFFFFF';\r\nconst black = '#000000';\r\n\r\nexport default {\r\n\tblack,\r\n\twhite,\r\n\tprimary: {\r\n\t\tcontrastText: white,\r\n\t\tdark: colors.blue[900],\r\n\t\tmain: colors.blue[800],\r\n\t\tlight: colors.blue[100],\r\n\t},\r\n\tsecondary: {\r\n\t\tcontrastText: white,\r\n\t\tdark: colors.blue[900],\r\n\t\tmain: colors.blue.A400,\r\n\t\tlight: colors.blue.A400,\r\n\t},\r\n\terror: {\r\n\t\tcontrastText: white,\r\n\t\tdark: colors.red[900],\r\n\t\tmain: colors.red[600],\r\n\t\tlight: colors.red[400],\r\n\t},\r\n\ttext: {\r\n\t\tprimary: colors.blueGrey[900],\r\n\t\tsecondary: colors.blueGrey[600],\r\n\t\tlink: colors.blue[600],\r\n\t},\r\n\tlink: colors.blue[800],\r\n\ticon: colors.blueGrey[600],\r\n\tbackground: {\r\n\t\tdefault: '#F4F6F8',\r\n\t\tpaper: white,\r\n\t},\r\n\tdivider: colors.grey[200],\r\n};\r\n","import palette from './palette';\r\n\r\nexport default {\r\n\th1: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '35px',\r\n\t\tletterSpacing: '-0.24px',\r\n\t\tlineHeight: '40px',\r\n\t},\r\n\th2: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '29px',\r\n\t\tletterSpacing: '-0.24px',\r\n\t\tlineHeight: '32px',\r\n\t},\r\n\th3: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '24px',\r\n\t\tletterSpacing: '-0.06px',\r\n\t\tlineHeight: '28px',\r\n\t},\r\n\th4: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '20px',\r\n\t\tletterSpacing: '-0.06px',\r\n\t\tlineHeight: '24px',\r\n\t},\r\n\th5: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '16px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '20px',\r\n\t},\r\n\th6: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '14px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '20px',\r\n\t},\r\n\tsubtitle1: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontSize: '16px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '25px',\r\n\t},\r\n\tsubtitle2: {\r\n\t\tcolor: palette.text.secondary,\r\n\t\tfontWeight: 400,\r\n\t\tfontSize: '14px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '21px',\r\n\t},\r\n\tbody1: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontSize: '14px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '21px',\r\n\t},\r\n\tbody2: {\r\n\t\tcolor: palette.text.secondary,\r\n\t\tfontSize: '12px',\r\n\t\tletterSpacing: '-0.04px',\r\n\t\tlineHeight: '18px',\r\n\t},\r\n\tbutton: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontSize: '14px',\r\n\t},\r\n\tcaption: {\r\n\t\tcolor: palette.text.secondary,\r\n\t\tfontSize: '11px',\r\n\t\tletterSpacing: '0.33px',\r\n\t\tlineHeight: '13px',\r\n\t},\r\n\toverline: {\r\n\t\tcolor: palette.text.secondary,\r\n\t\tfontSize: '11px',\r\n\t\tfontWeight: 500,\r\n\t\tletterSpacing: '0.33px',\r\n\t\tlineHeight: '13px',\r\n\t\ttextTransform: 'uppercase',\r\n\t},\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t\tcolor: colors.blueGrey[900],\r\n\t\t},\r\n\t\tdeletable: {\r\n\t\t\t'&:focus': {\r\n\t\t\t\tbackgroundColor: colors.blueGrey[100],\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\n\r\nexport default {\r\n\troot: {\r\n\t\tcolor: palette.icon,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.03)',\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {},\r\n\t\tinput: {\r\n\t\t\t'&::placeholder': {\r\n\t\t\t\topacity: 1,\r\n\t\t\t\tcolor: palette.text.secondary,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tborderRadius: 3,\r\n\t\t\toverflow: 'hidden',\r\n\t\t},\r\n\t\tcolorPrimary: {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tcolor: palette.icon,\r\n\t\t\tminWidth: 32,\r\n\t\t},\r\n\t},\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tbackgroundColor: colors.grey[50],\r\n\t\t},\r\n\t},\r\n};\r\n","import MuiButton from './MuiButton';\r\nimport MuiCardActions from './MuiCardActions';\r\nimport MuiCardContent from './MuiCardContent';\r\nimport MuiCardHeader from './MuiCardHeader';\r\nimport MuiChip from './MuiChip';\r\nimport MuiIconButton from './MuiIconButton';\r\nimport MuiInputBase from './MuiInputBase';\r\nimport MuiLinearProgress from './MuiLinearProgress';\r\nimport MuiListItemIcon from './MuiListItemIcon';\r\nimport MuiOutlinedInput from './MuiOutlinedInput';\r\nimport MuiPaper from './MuiPaper';\r\nimport MuiTableHead from './MuiTableHead';\r\nimport MuiTableCell from './MuiTableCell';\r\nimport MuiTableRow from './MuiTableRow';\r\nimport MuiToggleButton from './MuiToggleButton';\r\nimport MuiTypography from './MuiTypography';\r\n\r\nexport default {\r\n\tMuiButton,\r\n\tMuiCardActions,\r\n\tMuiCardContent,\r\n\tMuiCardHeader,\r\n\tMuiChip,\r\n\tMuiIconButton,\r\n\tMuiInputBase,\r\n\tMuiLinearProgress,\r\n\tMuiListItemIcon,\r\n\tMuiOutlinedInput,\r\n\tMuiPaper,\r\n\tMuiTableHead,\r\n\tMuiTableCell,\r\n\tMuiTableRow,\r\n\tMuiToggleButton,\r\n\tMuiTypography,\r\n};\r\n","export default {\r\n\tcontained: {\r\n\t\tboxShadow:\r\n\t\t\t'0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.20)',\r\n\t\tbackgroundColor: '#FFFFFF',\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tpadding: '16px 24px',\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tpadding: '24px'\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tpadding: '16px 24px',\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {},\r\n\t\tnotchedOutline: {\r\n\t\t\tborderColor: 'rgba(0,0,0,0.15)',\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {},\r\n\t\televation1: {\r\n\t\t\tboxShadow:\r\n\t\t\t\t'0 0 0 1px rgba(63,63,68,0.05), 0 1px 3px 0 rgba(63,63,68,0.15)',\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\nimport typography from '../typography';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\t...typography.body1,\r\n\t\t\tborderBottom: `1px solid ${palette.divider}`,\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\t'&$selected': {\r\n\t\t\t\tbackgroundColor: palette.background.default,\r\n\t\t\t},\r\n\t\t\t'&$hover': {\r\n\t\t\t\t'&:hover': {\r\n\t\t\t\t\tbackgroundColor: palette.background.default,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nimport palette from '../palette';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tcolor: palette.icon,\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: colors.grey[100],\r\n\t\t\t},\r\n\t\t\t'&$selected': {\r\n\t\t\t\tbackgroundColor: colors.grey[50],\r\n\t\t\t\tcolor: palette.primary.main,\r\n\t\t\t\t'&:hover': {\r\n\t\t\t\t\tbackgroundColor: colors.grey[100],\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t'&:first-child': {\r\n\t\t\t\tborderTopLeftRadius: 4,\r\n\t\t\t\tborderBottomLeftRadius: 4,\r\n\t\t\t},\r\n\t\t\t'&:last-child': {\r\n\t\t\t\tborderTopRightRadius: 4,\r\n\t\t\t\tborderBottomRightRadius: 4,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\tgutterBottom: {\r\n\t\t\tmarginBottom: '8px',\r\n\t\t},\r\n\t},\r\n};\r\n","import { createTheme } from '@mui/material';\r\n\r\nimport palette from './palette';\r\nimport typography from './typography';\r\nimport overrides from './overrides';\r\n\r\nconst theme = createTheme({\r\n\tpalette,\r\n\ttypography,\r\n\tcomponents: overrides,\r\n});\r\n\r\nexport default theme;\r\n","import jwt from 'jwt-decode';\r\nimport * as actionTypes from 'actions';\r\nimport config from 'configuration/configuration.js';\r\n\r\nconst token = localStorage.getItem(config.TOKEN_KEY);\r\nlet initialState = {\r\n\tloggedIn: false,\r\n\tuser: {\r\n\t},\r\n\tnotifications: [],\r\n\tisLoading: false,\r\n\tloadingCount: 0,\r\n\tdownloads: [],\r\n\tdownloadskey: 'all',\r\n\tuploads: [],\r\n\tuploadskey: 'all',\r\n};\r\n\r\nif (token) {\r\n\tconst decoded = jwt(token);\r\n\tconst currentDate = new Date().getTime() / 1000;\r\n\tif (decoded.exp > currentDate) {\r\n\t\tinitialState = { ...initialState, loggedIn: true, user: { ...decoded } };\r\n\t}\r\n}\r\n\r\nconst sessionReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase actionTypes.REDIRECT_TO_ERROR: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tlink: action.link\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SESSION_LOGIN: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tloggedIn: true\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.USER_INFO: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tuser: { ...state.user, ...action.user }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SESSION_LOGOUT: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tloggedIn: false,\r\n\t\t\t\t\t\t\tuser: {\r\n\t\t\t\t\t\t\t\trole: 'Client',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SET_NOTIFICATIONS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnotifications: action.notifications || [],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SET_DOWNLOADS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdownloads: action.downloads || [],\r\n\t\t\t\t\t\t\tdownloadskey: action.downloadskey || 'all'\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SET_UPLOADS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tuploads: action.uploads || [],\r\n\t\t\t\t\t\t\tuploadskey: action.uploadskey || 'all'\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SET_LOADING: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\r\n\t\t\t\t\t\t\tloadingCount: action.isLoading ? state.loadingCount++ : state.loadingCount--,\r\n\t\t\t\t\t\t\tisLoading: state.loadingCount > 0,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default sessionReducer;\r\n","import { ENQUEUE_SNACKBAR, CLOSE_SNACKBAR, REMOVE_SNACKBAR } from 'actions';\r\n\r\nconst defaultState = {\r\n\tnotifications: [],\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase ENQUEUE_SNACKBAR:\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnotifications: [\r\n\t\t\t\t\t\t\t\t...state.notifications,\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tkey: action.key,\r\n\t\t\t\t\t\t\t\t\t...action.notification,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\tcase CLOSE_SNACKBAR:\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnotifications: state.notifications.map(notification => (\r\n\t\t\t\t\t\t\t\t(action.dismissAll || notification.key === action.key)\r\n\t\t\t\t\t\t\t\t\t? { ...notification, dismissed: true }\r\n\t\t\t\t\t\t\t\t\t: { ...notification }\r\n\t\t\t\t\t\t\t)),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\tcase REMOVE_SNACKBAR:\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnotifications: state.notifications.filter(\r\n\t\t\t\t\t\t\t\tnotification => notification.key !== action.key,\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn state;\r\n\t}\r\n};\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetUsersRequest = (role) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetUsers`,\r\n\tparams: { role }\r\n});\r\n\r\nexport const GetUsersStatsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetUsersStats`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GetRolesRequest = (role) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetRoles`,\r\n\tparams: { role }\r\n});\r\n\r\nexport const GetOperatorsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetOperators`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GetOperatorProjectsRequest = (operatorIds) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetOperatorProjects`,\r\n\tparams: { operatorIds }\r\n});\r\n\r\nexport const CreateUserRequest = (user) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/CreateUser`,\r\n\tdata: user\r\n});\r\n\r\nexport const EditUserRequest = (user) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/EditUser`,\r\n\tdata: user\r\n});\r\n\r\nexport const GetUserRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetUserById`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const ResendConfirmationEmailRequest = (userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/ResendConfirmationEmail`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const DeactivateUserRequest = (userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/DeactivateUser`,\r\n\tparams: { userId }\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tGetUsersRequest,\r\n\tGetUsersStatsRequest,\r\n\tGetRolesRequest,\r\n\tGetOperatorsRequest,\r\n\tGetOperatorProjectsRequest,\r\n\tCreateUserRequest,\r\n\tGetUserRequest,\r\n\tEditUserRequest,\r\n\tResendConfirmationEmailRequest,\r\n\tDeactivateUserRequest,\r\n} from '../requests/UsersRequests.js';\r\n\r\nexport const GET_USERS = 'GET_USERS';\r\nexport const GET_USERS_STATS = 'GET_USERS_STATS';\r\nexport const TOGGLE_ADD_EDIT_USER_DIALOG = 'TOGGLE_ADD_EDIT_USER_DIALOG';\r\nexport const GET_ROLES = 'GET_ROLES';\r\nexport const GET_OPERATORS = 'GET_OPERATORS';\r\nexport const GET_OPERATOR_PROJECTS = 'GET_OPERATOR_PROJECTS';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_USER = 'GET_USER';\r\n\r\nconst onGetUsers = (value) => ({\r\n\ttype: GET_USERS,\r\n\tusers: value\r\n});\r\n\r\nconst onGetUsersStats = (value) => ({\r\n\ttype: GET_USERS_STATS,\r\n\tusersStats: value\r\n});\r\n\r\nconst onToggleAddEditUserDialog = (openAddEditUserDialog, openAddEditUserDialogId) => ({\r\n\ttype: TOGGLE_ADD_EDIT_USER_DIALOG,\r\n\topenAddEditUserDialog,\r\n\topenAddEditUserDialogId\r\n});\r\n\r\nconst onGetRoles = (value) => ({\r\n\ttype: GET_ROLES,\r\n\troles: value\r\n});\r\n\r\nconst onGetOperators = (value) => ({\r\n\ttype: GET_OPERATORS,\r\n\toperators: value\r\n});\r\n\r\nconst onGetOperatorProjects = (value) => ({\r\n\ttype: GET_OPERATOR_PROJECTS,\r\n\toperatorProjects: value\r\n});\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onGetUser = (value) => ({\r\n\ttype: GET_USER,\r\n\tuser: value\r\n});\r\n\r\nexport const GetUsers = (role) => async (dispatch) => {\r\n\tawait GetUsersRequest(role).then(response => {\r\n\t\tdispatch(onGetUsers(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetUsersStats = () => async (dispatch) => {\r\n\tawait GetUsersStatsRequest().then(response => {\r\n\t\tdispatch(onGetUsersStats(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ToggleAddEditUserDialog = (openAddEditUserDialog, openAddEditUserDialogId) => (dispatch) => {\r\n\tdispatch(onToggleAddEditUserDialog(openAddEditUserDialog, openAddEditUserDialogId));\r\n};\r\n\r\nexport const GetRoles = (role) => async (dispatch) => {\r\n\tawait GetRolesRequest(role).then(response => {\r\n\t\tdispatch(onGetRoles(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetOperators = () => async (dispatch) => {\r\n\tawait GetOperatorsRequest().then(response => {\r\n\t\tdispatch(onGetOperators(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetOperatorProjects = (operatorIds) => async (dispatch) => {\r\n\tawait GetOperatorProjectsRequest(operatorIds).then(response => {\r\n\t\tdispatch(onGetOperatorProjects(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const CreateUser = (userData, role) => async (dispatch) => {\r\n\tawait CreateUserRequest(userData).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'New user created!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t\tdispatch(GetUsers(role));\r\n\t\tdispatch(GetUsersStats());\r\n\t\tdispatch(ToggleAddEditUserDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const EditUser = (userData, role) => async (dispatch) => {\r\n\tawait EditUserRequest(userData).then(response => {\r\n\t\tdispatch(GetUsers(role));\r\n\t\tdispatch(GetUsersStats());\r\n\t\tdispatch(ToggleAddEditUserDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetUser = (userId) => async (dispatch) => {\r\n\tawait GetUserRequest(userId).then(response => {\r\n\t\tdispatch(onGetUser(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ResendConfirmationEmail = (userId) => async (dispatch) => {\r\n\tawait ResendConfirmationEmailRequest(userId).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Confirmation email sent!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeactivateUser = (userId, role) => async (dispatch) => {\r\n\tawait DeactivateUserRequest(userId).then(response => {\r\n\t\tdispatch(GetUsers(role));\r\n\t\tdispatch(GetUsersStats());\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_USERS,\r\n\tGET_USERS_STATS,\r\n\tTOGGLE_ADD_EDIT_USER_DIALOG,\r\n\tGET_ROLES,\r\n\tGET_OPERATORS,\r\n\tGET_OPERATOR_PROJECTS,\r\n\tSET_FORM_STATE,\r\n\tGET_USER\r\n} from '../actions/UsersActions.js';\r\n\r\nconst initialState = {\r\n\tusers: [],\r\n\tusersStats: {},\r\n\topenAddEditUserDialog: false,\r\n\topenAddEditUserDialogId: null,\r\n\troles: [],\r\n\toperators: [],\r\n\toperatorProjects: [],\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t}\r\n};\r\n\r\nconst usersReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_USERS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tusers: action.users\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_USERS_STATS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tusersStats: action.usersStats\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_ADD_EDIT_USER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenAddEditUserDialog: action.openAddEditUserDialog,\r\n\t\t\t\t\t\t\topenAddEditUserDialogId: action.openAddEditUserDialogId,\r\n\t\t\t\t\t\t\tformState: initialState.formState,\r\n\t\t\t\t\t\t\troles: [],\r\n\t\t\t\t\t\t\toperators: [],\r\n\t\t\t\t\t\t\toperatorProjects: [],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ROLES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\troles: action.roles\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_OPERATORS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperators: action.operators\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_OPERATOR_PROJECTS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperatorProjects: action.operatorProjects\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_USER: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.user }\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default usersReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetOperatorsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Operators/GetOperators`,\r\n\tparams: {}\r\n});\r\n\r\nexport const CreateOperatorRequest = (operator) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Operators/CreateOperator`,\r\n\tdata: operator\r\n});\r\n\r\nexport const DeleteOperatorRequest = (operator) => AxiosRequest({\r\n\tmethod: 'DELETE',\r\n\turl: `${config.API_URL}Operators/DeleteOperator`,\r\n\tdata: operator\r\n});\r\n\r\nexport const GetOperatorRequest = (operatorId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Operators/GetOperator`,\r\n\tparams: { operatorId }\r\n});\r\n\r\nexport const UpdateImageRequest = (operator) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Operators/UpdateImage`,\r\n\tdata: operator\r\n});\r\n\r\nexport const DeleteProjectRequest = (projectId) => AxiosRequest({\r\n\tmethod: 'DELETE',\r\n\turl: `${config.API_URL}Operators/DeleteProject`,\r\n\tparams: { projectId }\r\n});\r\n\r\nexport const CreateProjectRequest = (project) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Operators/CreateProject`,\r\n\tdata: project\r\n});\r\n\r\nexport const UpdateOperatorRequest = (operator) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Operators/UpdateOperator`,\r\n\tdata: operator\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tGetOperatorsRequest,\r\n\tCreateOperatorRequest,\r\n\tDeleteOperatorRequest,\r\n\tGetOperatorRequest,\r\n\tUpdateImageRequest,\r\n\tDeleteProjectRequest,\r\n\tCreateProjectRequest,\r\n\tUpdateOperatorRequest\r\n} from '../requests/OperatorsRequests.js';\r\n\r\nexport const GET_OPERATORS = 'GET_OPERATORS';\r\nexport const TOGGLE_ADD_OPERATOR_DIALOG = 'TOGGLE_ADD_OPERATOR_DIALOG';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const NAVIGATE_DETAILS = 'NAVIGATE_DETAILS';\r\nexport const GET_OPERATOR = 'GET_OPERATOR';\r\nexport const TOGGLE_ADD_PROJECT_DIALOG = 'TOGGLE_ADD_PROJECT_DIALOG';\r\n\r\nconst onGetOperators = (value) => ({\r\n\ttype: GET_OPERATORS,\r\n\toperators: value\r\n});\r\n\r\nconst onToggleAddOperatorDialog = (openAddOperatorDialog) => ({\r\n\ttype: TOGGLE_ADD_OPERATOR_DIALOG,\r\n\topenAddOperatorDialog,\r\n});\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onNavigateDetails = (value) => ({\r\n\ttype: NAVIGATE_DETAILS,\r\n\tdetailsOperatorId: value\r\n});\r\n\r\nconst onGetOperator = (value) => ({\r\n\ttype: GET_OPERATOR,\r\n\toperator: value\r\n});\r\n\r\nconst onToggleAddProjectDialog = (openAddProjectDialog) => ({\r\n\ttype: TOGGLE_ADD_PROJECT_DIALOG,\r\n\topenAddProjectDialog,\r\n});\r\n\r\nexport const GetOperators = () => async (dispatch) => {\r\n\tawait GetOperatorsRequest().then(response => {\r\n\t\tdispatch(onGetOperators(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ToggleAddOperatorDialog = (openAddEditOperatorDialog) => (dispatch) => {\r\n\tdispatch(onToggleAddOperatorDialog(openAddEditOperatorDialog));\r\n};\r\n\r\nexport const CreateOperator = (data) => async (dispatch) => {\r\n\tawait CreateOperatorRequest(data).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'New operator created!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t\tdispatch(GetOperators());\r\n\t\tdispatch(ToggleAddOperatorDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeleteOperator = (data) => async (dispatch) => {\r\n\tawait DeleteOperatorRequest(data).then(response => {\r\n\t\tdispatch(GetOperators());\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const NavigateDetails = (value) => (dispatch) => {\r\n\tdispatch(onNavigateDetails(value));\r\n};\r\n\r\nexport const GetOperator = (operatorId) => async (dispatch) => {\r\n\tawait GetOperatorRequest(operatorId).then(response => {\r\n\t\tdispatch(onGetOperator(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UpdateImage = (operator) => async (dispatch) => {\r\n\tawait UpdateImageRequest(operator).then(response => {\r\n\t\tdispatch(GetOperator(operator.id));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeleteProject = (projectId, operatorId) => async (dispatch) => {\r\n\tawait DeleteProjectRequest(projectId).then(response => {\r\n\t\tdispatch(GetOperator(operatorId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ToggleAddProjectDialog = (openAddEditProjectDialog) => (dispatch) => {\r\n\tdispatch(onToggleAddProjectDialog(openAddEditProjectDialog));\r\n};\r\n\r\nexport const CreateProject = (data) => async (dispatch) => {\r\n\tawait CreateProjectRequest(data).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'New project created!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t\tdispatch(GetOperator(data.operatorId));\r\n\t\tdispatch(ToggleAddProjectDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UpdateOperator = (operator) => async (dispatch) => {\r\n\tawait UpdateOperatorRequest(operator).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Operator updated!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tTOGGLE_ADD_OPERATOR_DIALOG,\r\n\tGET_OPERATORS,\r\n\tSET_FORM_STATE,\r\n\tNAVIGATE_DETAILS,\r\n\tGET_OPERATOR,\r\n\tTOGGLE_ADD_PROJECT_DIALOG\r\n} from '../actions/OperatorsActions.js';\r\n\r\nconst initialState = {\r\n\toperators: [],\r\n\topenAddOperatorDialog: false,\r\n\tdetailsOperatorId: null,\r\n\toperator: {},\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n\topenAddProjectDialog: false,\r\n};\r\n\r\nconst operatorsReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_OPERATORS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperators: action.operators\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_ADD_OPERATOR_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenAddOperatorDialog: action.openAddOperatorDialog,\r\n\t\t\t\t\t\t\tformState: initialState.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase NAVIGATE_DETAILS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdetailsOperatorId: action.detailsOperatorId\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_OPERATOR: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperator: action.operator,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.operator }\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_ADD_PROJECT_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenAddProjectDialog: action.openAddProjectDialog,\r\n\t\t\t\t\t\t\tformState: initialState.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default operatorsReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetOperatorsRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Account/GetUserOperators`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const UpdateSettingsRequest = (data) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Account/UpdateSettings`,\r\n\tdata\r\n});\r\n\r\nexport const ChangePasswordRequest = (data) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Account/ChangePassword`,\r\n\tdata\r\n});\r\n","import { enqueueSnackbar, getUserInfo } from 'actions';\r\nimport config from 'configuration/configuration.js';\r\n\r\nimport {\r\n\tGetOperatorsRequest,\r\n\tUpdateSettingsRequest,\r\n\tChangePasswordRequest\r\n} from '../requests/SettingsRequests.js';\r\n\r\nexport const GET_OPERATORS = 'GET_OPERATORS';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onGetOperators = (value) => ({\r\n\ttype: GET_OPERATORS,\r\n\toperators: value\r\n});\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const GetOperators = (userId) => async (dispatch) => {\r\n\tawait GetOperatorsRequest(userId).then(response => {\r\n\t\tdispatch(onGetOperators(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const UpdateSettings = (data) => async (dispatch) => {\r\n\tawait UpdateSettingsRequest(data).then(response => {\r\n\t\tdispatch(getUserInfo(localStorage.getItem(config.TOKEN_KEY)));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ChangePassword = (data) => async (dispatch) => {\r\n\tawait ChangePasswordRequest(data).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Password changed!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_OPERATORS,\r\n\tSET_FORM_STATE\r\n} from '../actions/SettingsActions.js';\r\n\r\nconst initialState = {\r\n\toperators: [],\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t}\r\n};\r\n\r\nconst usersReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_OPERATORS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperators: action.operators\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default usersReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetReportsLastDatesRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}ReportKpis/GetReportsLastDates`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GenerateReportRequest = (filters) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}ReportKpis/GenerateReport`,\r\n\tdata: filters\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tGenerateReportRequest,\r\n\tGetReportsLastDatesRequest\r\n} from '../requests/ReportsRequests.js';\r\n\r\nexport const GET_REPORTS_LAST_DATES = 'GET_REPORTS_LAST_DATES';\r\n\r\nconst onGetReportsLastDates = (value) => ({\r\n\ttype: GET_REPORTS_LAST_DATES,\r\n\treportsLastDates: value\r\n});\r\n\r\nexport const GetReportsLastDates = () => async (dispatch) => {\r\n\tawait GetReportsLastDatesRequest().then(response => {\r\n\t\tdispatch(onGetReportsLastDates(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GenerateReport = (filters) => async (dispatch) => {\r\n\tawait GenerateReportRequest(filters).then(response => {\r\n\t\tif (response.data === '') {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'Your request is being processed. Your file will be available on Downloads soon.', options: { variant: 'info' } }));\r\n\t\t} else {\r\n\t\t\tdispatch(DownloadFile(response.data));\r\n\t\t}\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_REPORTS_LAST_DATES\r\n} from '../actions/ReportsActions.js';\r\n\r\nconst initialState = {\r\n\treportsLastDates: {}\r\n};\r\n\r\nconst reportsReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_REPORTS_LAST_DATES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\treportsLastDates: action.reportsLastDates\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportsReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const DashboardInspectRequest = (dashboardId, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Dashboard/Inspect`,\r\n\tparams: { dashboardId, userId }\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tDashboardInspectRequest,\r\n} from '../requests/DashboardInspectRequests.js';\r\n\r\nexport const DASHBOARD_INSPECT = 'DASHBOARD_INSPECT';\r\n\r\nconst onDashboardInspect = (value) => ({\r\n\ttype: DASHBOARD_INSPECT,\r\n\tdashboard: value\r\n});\r\n\r\nexport const DashboardInspect = (dashboardId, userId) => async dispatch => {\r\n\tawait DashboardInspectRequest(dashboardId, userId).then(response => {\r\n\t\tdispatch(onDashboardInspect(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tDASHBOARD_INSPECT\r\n} from '../actions/DashboardInspectActions.js';\r\n\r\nconst initialState = {\r\n\tdashboard: {\r\n\t}\r\n};\r\n\r\nconst reportsReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase DASHBOARD_INSPECT: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdashboard: action.dashboard\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportsReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetActivitiesRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/GetActivities`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GetActivityRequest = (activityId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/GetActivity`,\r\n\tparams: { activityId }\r\n});\r\n\r\nexport const GetActivityElementsRequest = (activityId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/GetActivityElements`,\r\n\tparams: { activityId }\r\n});\r\n\r\nexport const GetTaskRequest = (elementTaskId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/GetTask`,\r\n\tparams: { elementTaskId }\r\n});\r\n\r\nexport const GetElementTaskRequest = (elementTaskId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/GetElementTask`,\r\n\tparams: { elementTaskId }\r\n});\r\n\r\nexport const FullExportRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/ExportData`,\r\n\tparams: {}\r\n});\r\n\r\nexport const ProcessElementCreationRequest = (userId, fileLocation) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/ProcessElementCreation`,\r\n\tparams: { userId, fileLocation }\r\n});\r\n\r\nexport const ProcessImportExportRequest = (userId, fileLocation) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/ProcessImportExport`,\r\n\tparams: { userId, fileLocation }\r\n});\r\n\r\nexport const PostElementTaskCommentRequest = (elementTaskId, userId, comment) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Tracker/PostElementTaskComment`,\r\n\tdata: { elementTaskId, userId, comment }\r\n});\r\n\r\nexport const SaveElementTaskDetailsRequest = (details) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Tracker/SaveElementTaskDetails`,\r\n\tdata: details\r\n});\r\n\r\nexport const ChangeColumnVisibilityRequest = (changeColumn) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Datatable/ChangeColumnVisibility`,\r\n\tdata: changeColumn\r\n});\r\n\r\nexport const GetVisibleColumnsRequest = (userId, datatableId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Datatable/GetVisibleColumns`,\r\n\tparams: { userId, datatableId }\r\n});\r\n\r\nexport const InitializeDatatableColumnsRequest = (initializeColumns) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Datatable/InitializeDatatableColumns`,\r\n\tdata: initializeColumns\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\nimport { DownloadFile, UploadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tGetActivitiesRequest,\r\n\tGetActivityRequest,\r\n\tGetActivityElementsRequest,\r\n\tGetTaskRequest,\r\n\tGetElementTaskRequest,\r\n\tFullExportRequest,\r\n\tProcessElementCreationRequest,\r\n\tProcessImportExportRequest,\r\n\tPostElementTaskCommentRequest,\r\n\tSaveElementTaskDetailsRequest,\r\n\tChangeColumnVisibilityRequest,\r\n\tGetVisibleColumnsRequest,\r\n\tInitializeDatatableColumnsRequest\r\n} from '../requests/ActivityViewRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_ACTIVITIES = 'GET_ACTIVITIES';\r\nexport const GET_ACTIVITY = 'GET_ACTIVITY';\r\nexport const GET_ACTIVITY_ELEMENTS = 'GET_ACTIVITY_ELEMENTS';\r\nexport const GET_TASK = 'GET_TASK';\r\nexport const GET_ELEMENT_TASK = 'GET_ELEMENT_TASK';\r\nexport const GET_VISIBLE_COLUMNS = 'GET_VISIBLE_COLUMNS';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onGetActivities = (value) => ({\r\n\ttype: GET_ACTIVITIES,\r\n\tactivities: value\r\n});\r\n\r\nconst onGetActivity = (value) => ({\r\n\ttype: GET_ACTIVITY,\r\n\tactivity: value\r\n});\r\n\r\nconst onGetActivityElements = (value) => ({\r\n\ttype: GET_ACTIVITY_ELEMENTS,\r\n\tactivityElements: value\r\n});\r\n\r\nconst onGetTask = (value) => ({\r\n\ttype: GET_TASK,\r\n\ttask: value\r\n});\r\n\r\nconst onGetElementTask = (value) => ({\r\n\ttype: GET_ELEMENT_TASK,\r\n\telementTask: value\r\n});\r\n\r\nconst onGetVisibleColumns = (value) => ({\r\n\ttype: GET_VISIBLE_COLUMNS,\r\n\tvisibleColumns: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const GetActivities = () => async (dispatch) => {\r\n\tawait GetActivitiesRequest().then(response => {\r\n\t\tdispatch(onGetActivities(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const InitializeDatatableColumns = (initializeColumns) => async (dispatch) => {\r\n\tawait InitializeDatatableColumnsRequest(initializeColumns).then(response => {\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetVisibleColumns = (userId, datatableId, activity) => async (dispatch) => {\r\n\tawait GetVisibleColumnsRequest(userId, datatableId).then(response => {\r\n\t\tconst visibleColumns = response.data;\r\n\t\tdispatch(onGetVisibleColumns(response.data));\r\n\t\tif (visibleColumns.length <= 0 && userId) {\r\n\t\t\tconst columns = activity.tasks.slice(0, 10);\r\n\t\t\tconst initializeColumns = [];\r\n\t\t\tcolumns.map((item) => {\r\n\t\t\t\tinitializeColumns.push({ userId, datatableId, columnId: `${item.activityTaskId}`, action: 'add' });\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n\t\t\tdispatch(InitializeDatatableColumns(initializeColumns));\r\n\t\t}\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetActivity = (userId, activityId) => async (dispatch) => {\r\n\tawait GetActivityRequest(activityId).then(response => {\r\n\t\tdispatch(onGetActivity(response.data));\r\n\t\tdispatch(GetVisibleColumns(userId, `ActivityDataTable_${activityId}`, response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetActivityElements = (activityId) => async (dispatch) => {\r\n\tawait GetActivityElementsRequest(activityId).then(response => {\r\n\t\tdispatch(onGetActivityElements(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetTask = (elementTaskId) => async (dispatch) => {\r\n\tawait GetTaskRequest(elementTaskId).then(response => {\r\n\t\tdispatch(onGetTask(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetElementTask = (elementTaskId) => async (dispatch) => {\r\n\tawait GetElementTaskRequest(elementTaskId).then(response => {\r\n\t\tdispatch(onGetElementTask(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const FullExport = () => async (dispatch) => {\r\n\tawait FullExportRequest().then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetElementCreationTemplate = (fileLocation) => async (dispatch) => {\r\n\tdispatch(DownloadFile(fileLocation));\r\n};\r\n\r\nexport const ProcessElementCreation = (userId, fileLocation) => async (dispatch) => {\r\n\tawait ProcessElementCreationRequest(userId, fileLocation).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Files uploaded with success!', options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UploadElementCreation = (userId, file) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessElementCreation(userId, response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ProcessImportExport = (userId, fileLocation) => async (dispatch) => {\r\n\tawait ProcessImportExportRequest(userId, fileLocation).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Files uploaded with success!', options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UploadImportExport = (userId, file) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessImportExport(userId, response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const PostElementTaskComment = (elementTaskId, userId, comment) => async (dispatch) => {\r\n\tawait PostElementTaskCommentRequest(elementTaskId, userId, comment).then(response => {\r\n\t\tdispatch(GetElementTask(elementTaskId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SaveElementTaskDetails = (details) => async (dispatch) => {\r\n\tawait SaveElementTaskDetailsRequest(details).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Details saved sucessfuly', options: { variant: 'success' } }));\r\n\t\tdispatch(GetElementTask(details.elementTaskId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ChangeColumnVisibility = (changeColumn) => async (dispatch) => {\r\n\tawait ChangeColumnVisibilityRequest(changeColumn).then(response => {\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tGET_ACTIVITIES,\r\n\tGET_ACTIVITY,\r\n\tGET_ACTIVITY_ELEMENTS,\r\n\tGET_TASK,\r\n\tGET_ELEMENT_TASK,\r\n\tGET_VISIBLE_COLUMNS\r\n} from '../actions/ActivityViewActions.js';\r\n\r\nconst initialState = {\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n\tactivities: [],\r\n};\r\n\r\nconst activityViewReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ACTIVITIES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tactivities: action.activities\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ACTIVITY: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tactivity: action.activity\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ACTIVITY_ELEMENTS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tactivityElements: action.activityElements\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_TASK: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\ttask: action.task\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ELEMENT_TASK: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.elementTask.details }\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\telementTask: action.elementTask\r\n\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_VISIBLE_COLUMNS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tvisibleColumns: action.visibleColumns\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default activityViewReducer;\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tGetActivitiesRequest,\r\n\tGetElementTaskCompletionRequest,\r\n} from '../requests/ElementViewRequests.js';\r\n\r\nexport const GET_ACTIVITIES = 'GET_ACTIVITIES';\r\nexport const GET_ELEMENT_TASK_COMPLETION = 'GET_ELEMENT_TASK_COMPLETION';\r\n\r\nconst onGetActivities = (value) => ({\r\n\ttype: GET_ACTIVITIES,\r\n\tactivities: value\r\n});\r\n\r\nconst onGetElementTaskCompletion = (value) => ({\r\n\ttype: GET_ELEMENT_TASK_COMPLETION,\r\n\telementTaskCompletion: value\r\n});\r\n\r\nexport const GetActivities = () => async (dispatch) => {\r\n\tawait GetActivitiesRequest().then(response => {\r\n\t\tdispatch(onGetActivities(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetElementTaskCompletion = () => async (dispatch) => {\r\n\tawait GetElementTaskCompletionRequest().then(response => {\r\n\t\tdispatch(onGetElementTaskCompletion(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_ACTIVITIES,\r\n\tGET_ELEMENT_TASK_COMPLETION,\r\n} from '../actions/ElementViewActions.js';\r\n\r\nconst initialState = {\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n\tactivities: [],\r\n};\r\n\r\nconst activityViewReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_ACTIVITIES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tactivities: action.activities\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ELEMENT_TASK_COMPLETION: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\telementTaskCompletion: action.elementTaskCompletion\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default activityViewReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetSitesRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Builder/GetBuilderSites`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GetSiteDetailsRequest = (siteId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Builder/GetBuilderSiteDetails`,\r\n\tparams: { siteId }\r\n});\r\n\r\nexport const EditValueRequest = (cellRowData, tech) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Builder/SaveBuilderCellDetails`,\r\n\tdata: { cellRowData, tech }\r\n});\r\n\r\nexport const RunAlgoPlanRequest = (siteId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Planning/Algorithm`,\r\n\tparams: { siteId }\r\n});\r\n\r\nexport const CreateScriptsRequest = (cells, operation, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Builder/BuildAndProcessJson`,\r\n\tdata: { cells, operation, userId }\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tGetSitesRequest,\r\n\tGetSiteDetailsRequest,\r\n\tEditValueRequest,\r\n\tRunAlgoPlanRequest,\r\n\tCreateScriptsRequest\r\n} from '../requests/PlanningRequests.js';\r\n\r\nexport const GET_SITES = 'GET_SITES';\r\nexport const SET_SELECTED = 'SET_SELECTED';\r\nexport const GET_SITE = 'GET_SITE';\r\nexport const EDIT_ROW_VALUE = 'EDIT_ROW_VALUE';\r\nexport const UPDATE_SELECTED_ROWS = 'UPDATE_SELECTED_ROWS';\r\n\r\nconst onGetSites = (value) => ({\r\n\ttype: GET_SITES,\r\n\tsites: value\r\n});\r\n\r\nconst onSetSelected = (value) => ({\r\n\ttype: SET_SELECTED,\r\n\tselected: value\r\n});\r\n\r\nconst onGetSite = (value) => ({\r\n\ttype: GET_SITE,\r\n\tsite: value\r\n});\r\n\r\nconst onUpdateSelectedRows = (selectedRows, tech) => ({\r\n\ttype: UPDATE_SELECTED_ROWS,\r\n\tselectedRows,\r\n\ttech\r\n});\r\n\r\nexport const GetSites = () => async (dispatch) => {\r\n\tawait GetSitesRequest().then(response => {\r\n\t\tdispatch(onGetSites(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetSelected = (selected) => async (dispatch) => {\r\n\tdispatch(onSetSelected(selected));\r\n};\r\n\r\nexport const GetSite = (selected) => async (dispatch) => {\r\n\tawait GetSiteDetailsRequest(selected).then(response => {\r\n\t\tdispatch(onGetSite(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const EditValue = (data, tech) => async (dispatch) => {\r\n\tawait EditValueRequest(data, tech).then(response => {\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RunAlgoPlan = (site) => async (dispatch) => {\r\n\tawait RunAlgoPlanRequest(site).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Planning finished.', options: { variant: 'success' } }));\r\n\t\tdispatch(GetSite(site));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const CreateScripts = (selectedRows, operation, userId) => async (dispatch) => {\r\n\tconst cells = [];\r\n\tObject.keys(selectedRows).forEach(tech => {\r\n\t\tselectedRows[tech].forEach(row => {\r\n\t\t\tcells.push(row.name);\r\n\t\t});\r\n\t});\r\n\tawait CreateScriptsRequest(cells, operation, userId).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Running scripts.', options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UpdateSelectedRows = (selectedRows, tech) => dispatch => {\r\n\tdispatch(onUpdateSelectedRows(selectedRows, tech));\r\n};\r\n","import {\r\n\tGET_SITES,\r\n\tSET_SELECTED,\r\n\tGET_SITE,\r\n\tEDIT_ROW_VALUE,\r\n\tUPDATE_SELECTED_ROWS\r\n} from '../actions/PlanningActions.js';\r\n\r\nconst dataTableMapping = {\r\n\t'2g': 'builderCells2g',\r\n\t'3g': 'builderCells3g',\r\n\t'4g': 'builderCells4g',\r\n\t'5g': 'builderCells5g'\r\n};\r\n\r\nconst initialState = {\r\n\tsites: [],\r\n\tselected: null,\r\n\tsite: undefined,\r\n\tselectedRows: { '2g': [], '3g': [], '4g': [], '5g': [] }\r\n};\r\n\r\nconst planningReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_SITES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tsites: action.sites\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_SELECTED: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tselected: action.selected\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_SITE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tsite: action.site\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase EDIT_ROW_VALUE: {\r\n\t\t\t\t\t\tconst { site } = state;\r\n\t\t\t\t\t\tconst newSite = JSON.parse(JSON.stringify(site));\r\n\t\t\t\t\t\tconst siteData = newSite[dataTableMapping[action.tech]];\r\n\t\t\t\t\t\tconst cellData = siteData.find(data => data.id === action.id);\r\n\t\t\t\t\t\tcellData[action.key] = action.value;\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tsite: newSite\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase UPDATE_SELECTED_ROWS: {\r\n\t\t\t\t\t\tconst { selectedRows } = state;\r\n\t\t\t\t\t\tconst newSelectedRows = JSON.parse(JSON.stringify(selectedRows));\r\n\t\t\t\t\t\tnewSelectedRows[action.tech] = action.selectedRows;\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tselectedRows: newSelectedRows\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default planningReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetRetuneScriptsRequest = (siteList) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GetRetuneScripts`,\r\n\tparams: { siteList }\r\n});\r\n\r\nexport const GetDss2100ScriptsRequest = (siteList) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GetDss2100Scripts`,\r\n\tparams: { siteList }\r\n});\r\n\r\nexport const GetDss2100EricssonScriptsRequest = (filePath, siteList) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GetDss2100EricssonScripts`,\r\n\tparams: { filePath, siteList }\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\nimport { DownloadFile, UploadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tGetRetuneScriptsRequest,\r\n\tGetDss2100ScriptsRequest,\r\n\tGetDss2100EricssonScriptsRequest\r\n} from '../requests/ScriptingRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_RETUNE_SCRIPTS = 'GET_RETUNE_SCRIPTS';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const GetRetuneScripts = (siteList) => async (dispatch) => {\r\n\tawait GetRetuneScriptsRequest(siteList).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetDss2100Scripts = (siteList) => async (dispatch) => {\r\n\tawait GetDss2100ScriptsRequest(siteList).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetDss2100EricssonScripts = (filePath, siteList) => async (dispatch) => {\r\n\tawait GetDss2100EricssonScriptsRequest(filePath, siteList).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SendDss2100EricssonFileAndSites = (file, siteList) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(GetDss2100EricssonScripts(response.data, siteList));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tGET_RETUNE_SCRIPTS\r\n} from '../actions/ScriptingActions.js';\r\n\r\nconst initialState = {\r\n\tretuneScripts: [],\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {\r\n\t\t\tdssEricssonExcelInputFilePath: '',\r\n\t\t},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t}\r\n};\r\n\r\nconst scriptingReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_RETUNE_SCRIPTS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tretuneScripts: action.retuneScripts\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default scriptingReducer;\r\n","import { combineReducers } from 'redux';\r\n\r\nimport sessionReducer from './sessionReducer';\r\nimport notifierReducer from './notifierReducer';\r\nimport usersReducer from '../views/Management/reducers/UsersReducer';\r\nimport operatorsReducer from '../views/Management/reducers/OperatorsReducer';\r\nimport settingsReducer from '../views/Management/reducers/SettingsReducer';\r\nimport reportsReducer from '../views/ReportKpis/reducers/ReportsReducer';\r\nimport dashboardInspectReducer from '../views/Dashboard/reducers/DashboardInspectReducer';\r\nimport activityViewReducer from '../views/Tracker/reducers/ActivityViewReducer.js';\r\nimport elementViewReducer from '../views/Tracker/reducers/ElementViewReducer.js';\r\nimport planningReducer from '../views/Builder/reducers/PlanningReducer.js';\r\nimport scriptingReducer from '../views/Scripting/reducers/ScriptingReducer';\r\n\r\nconst rootReducer = combineReducers({\r\n\tsession: sessionReducer,\r\n\tusersReducer,\r\n\tnotifierReducer,\r\n\toperatorsReducer,\r\n\tsettingsReducer,\r\n\treportsReducer,\r\n\tdashboardInspectReducer,\r\n\tactivityViewReducer,\r\n\telementViewReducer,\r\n\tplanningReducer,\r\n\tscriptingReducer\r\n});\r\n\r\nexport default rootReducer;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { AppBar, Toolbar } from '@mui/material';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tboxShadow: 'none',\r\n\t},\r\n}));\r\n\r\nconst Topbar = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"Logo\"\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTopbar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Topbar;\r\n","import React, { Fragment, Suspense } from 'react';\r\nimport { renderRoutes } from 'react-router-config';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nimport { Topbar } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tcontent: {\r\n\t\theight: '100%',\r\n\t\tpaddingTop: 56,\r\n\t\t[theme.breakpoints.up('sm')]: {\r\n\t\t\tpaddingTop: 64,\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Auth = (props) => {\r\n\tconst { route } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t}>\r\n\t\t\t\t\t{renderRoutes(route.routes)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nAuth.propTypes = {\r\n\troute: PropTypes.object,\r\n};\r\n\r\nexport default Auth;\r\n","import React, { Suspense } from 'react';\r\nimport { renderRoutes } from 'react-router-config';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t},\r\n}));\r\n\r\nconst Error = (props) => {\r\n\tconst { route } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t}>\r\n\t\t\t\t{renderRoutes(route.routes)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nError.propTypes = {\r\n\troute: PropTypes.object,\r\n};\r\n\r\nexport default Error;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n\tHubConnectionBuilder,\r\n} from '@aspnet/signalr'; // version 1.0.4\r\n\r\n// action for user authentication and receiving the access_token\r\nimport * as actions from '../../actions';\r\nimport config from '../../configuration/configuration.js';\r\n\r\nconst startSignalRConnection = (connection, origin) => {\r\n\tif (origin !== undefined) {\r\n\t\tconnection.start()\r\n\t\t\t.then(() => {\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t});\r\n\t}\r\n};\r\n\r\nconst NotificationHub = () => {\r\n\tconst connection = useRef(null);\r\n\tconst dispatch = useDispatch();\r\n\tconst enqueueSnackbar = (...args) => dispatch(actions.enqueueSnackbar(...args));\r\n\tconst session = useSelector(state => state.session);\r\n\r\n\tconst NotificationRecieved = (info) => {\r\n\t\tenqueueSnackbar({\r\n\t\t\tmessage: info.title,\r\n\t\t\toptions: {\r\n\t\t\t\tkey: new Date().getTime() + Math.random(),\r\n\t\t\t\tvariant: info.variant,\r\n\t\t\t},\r\n\t\t});\r\n\t\tdispatch(actions.FetchNotifications());\r\n\t};\r\n\r\n\tconst DownloadUpdate = (info) => {\r\n\t\tdispatch(actions.FetchDownloads(session.user.id, session.downloadskey));\r\n\t};\r\n\r\n\tconst UploadUpdate = (info) => {\r\n\t\tdispatch(actions.FetchUploads(session.user.id, session.downloadskey));\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\t// register signalR after the user logged in\r\n\t\tif (connection.current === null && localStorage.getItem(config.TOKEN_KEY)) {\r\n\t\t\tconst urlRoot = config.API_URL;\r\n\t\t\tconst connectionHub = `${urlRoot}notificationhub?token=${localStorage.getItem(config.TOKEN_KEY)}`;\r\n\r\n\t\t\t// create the connection instance\r\n\t\t\tconnection.current = new HubConnectionBuilder()\r\n\t\t\t\t.withUrl(connectionHub)\r\n\t\t\t\t.build();\r\n\r\n\t\t\t// event handlers, you can use these to dispatch actions to update your Redux store\r\n\t\t\tconnection.current.on('NewNotification', NotificationRecieved);\r\n\r\n\t\t\t// event for download update\r\n\t\t\tconnection.current.on('DownloadUpdate', DownloadUpdate);\r\n\r\n\t\t\t// event for upload update\r\n\t\t\tconnection.current.on('UploadUpdate', UploadUpdate);\r\n\r\n\t\t\t// re-establish the connection if connection dropped\r\n\t\t\tconnection.current.onclose((error) => setTimeout(startSignalRConnection(connection.current, error), 5000));\r\n\r\n\t\t\tdispatch(actions.FetchNotifications());\r\n\t\t\tstartSignalRConnection(connection.current, 'setup');\r\n\t\t}\r\n\r\n\t\treturn (() => {\r\n\t\t\tif (connection.current) {\r\n\t\t\t\tconnection.current.stop();\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\tnull\r\n\t);\r\n};\r\n\r\nexport default NotificationHub;\r\n","import SupervisorAccountIcon from '@mui/icons-material/SupervisorAccount';\r\nimport ShowChartIcon from '@mui/icons-material/ShowChart';\r\nimport ReceiptIcon from '@mui/icons-material/Receipt';\r\nimport CalendarTodayIcon from '@mui/icons-material/CalendarToday';\r\nimport DashboardIcon from '@mui/icons-material/DashboardOutlined';\r\nimport HomeIcon from '@mui/icons-material/HomeOutlined';\r\nimport SettingsIcon from '@mui/icons-material/SettingsOutlined';\r\nimport DesktopMacIcon from '@mui/icons-material/DesktopMac';\r\nimport DescriptionIcon from '@mui/icons-material/Description';\r\n\r\nimport config from '../../../../configuration/configuration.js';\r\n\r\nexport default [\r\n\t{\r\n\t\ttitle: '',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Home',\r\n\t\t\t\thref: '/home',\r\n\t\t\t\ticon: HomeIcon,\r\n\t\t\t\t// roles: ['Administrator', ...]\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\ttitle: 'Pages',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Builder',\r\n\t\t\t\thref: '/builder',\r\n\t\t\t\ticon: DescriptionIcon,\r\n\t\t\t\troles: ['Administrator']\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Kpis',\r\n\t\t\t\thref: '/kpis',\r\n\t\t\t\ticon: ShowChartIcon,\r\n\t\t\t\t// roles: ['Administrator', ...]\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Uploads',\r\n\t\t\t\t\t\thref: '/kpis/uploads',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\thref: '/kpis/reports',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Scripting',\r\n\t\t\t\thref: '/scripting',\r\n\t\t\t\ticon: ReceiptIcon,\r\n\t\t\t\t// roles: ['Administrator', ...]\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Retune Scripting',\r\n\t\t\t\t\t\thref: '/scripting/retuneScripting',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'DSS 2100',\r\n\t\t\t\t\t\thref: '/scripting/dss2100Scripting',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Tracker',\r\n\t\t\t\thref: '/tracker',\r\n\t\t\t\ticon: CalendarTodayIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Activity Status',\r\n\t\t\t\t\t\thref: '/tracker/activity',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Element Status',\r\n\t\t\t\t\t\thref: '/tracker/element',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Dashboards',\r\n\t\t\t\thref: '/dashboards',\r\n\t\t\t\ticon: DashboardIcon,\r\n\t\t\t\t// roles: ['Administrator', ...]\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Global Validation',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/1',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Data Integrity',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/2',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\ttitle: 'Management',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Manage',\r\n\t\t\t\thref: '/management',\r\n\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\ticon: SupervisorAccountIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Operators',\r\n\t\t\t\t\t\thref: '/management/operators',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Users',\r\n\t\t\t\t\t\thref: '/management/users',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Hangfire',\r\n\t\t\t\thref: `${config.API_URL}hangfire?access_token={token}`,\r\n\t\t\t\ttarget: '_blank',\r\n\t\t\t\troles: ['Administrator'],\r\n\t\t\t\ticon: DesktopMacIcon\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Settings',\r\n\t\t\t\thref: '/management/settings',\r\n\t\t\t\ticon: SettingsIcon\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t/* {\r\n\t\ttitle: 'Demo',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Overview',\r\n\t\t\t\thref: '/overview',\r\n\t\t\t\ticon: HomeIcon,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Dashboards',\r\n\t\t\t\thref: '/dashboards',\r\n\t\t\t\ticon: DashboardIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Default',\r\n\t\t\t\t\t\thref: '/dashboards/default',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Analytics',\r\n\t\t\t\t\t\thref: '/dashboards/analytics',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Management',\r\n\t\t\t\thref: '/management',\r\n\t\t\t\ticon: BarChartIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Customers',\r\n\t\t\t\t\t\thref: '/management/customers',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Customer Details',\r\n\t\t\t\t\t\thref: '/management/customers/1/summary',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Projects',\r\n\t\t\t\t\t\thref: '/management/projects',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Orders',\r\n\t\t\t\t\t\thref: '/management/orders',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Order Details',\r\n\t\t\t\t\t\thref: '/management/orders/1',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Social Feed',\r\n\t\t\t\thref: '/social-feed',\r\n\t\t\t\ticon: PeopleIcon,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Profile',\r\n\t\t\t\thref: '/profile',\r\n\t\t\t\ticon: PersonIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Timeline',\r\n\t\t\t\t\t\thref: '/profile/1/timeline',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Connections',\r\n\t\t\t\t\t\thref: '/profile/1/connections',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Projects',\r\n\t\t\t\t\t\thref: '/profile/1/projects',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Reviews',\r\n\t\t\t\t\t\thref: '/profile/1/reviews',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Project',\r\n\t\t\t\thref: '/projects',\r\n\t\t\t\ticon: FolderIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Browse',\r\n\t\t\t\t\t\thref: '/projects',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Create',\r\n\t\t\t\t\t\thref: '/projects/create',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Overview',\r\n\t\t\t\t\t\thref: '/projects/1/overview',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Files',\r\n\t\t\t\t\t\thref: '/projects/1/files',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Activity',\r\n\t\t\t\t\t\thref: '/projects/1/activity',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Subscribers',\r\n\t\t\t\t\t\thref: '/projects/1/subscribers',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Invoice',\r\n\t\t\t\thref: '/invoices/1',\r\n\t\t\t\ticon: ReceiptIcon,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Kanban Board',\r\n\t\t\t\thref: '/kanban-board',\r\n\t\t\t\ticon: ListAltIcon,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Mail',\r\n\t\t\t\thref: '/mail',\r\n\t\t\t\ticon: MailIcon,\r\n\t\t\t\tlabel: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Chat',\r\n\t\t\t\thref: '/chat',\r\n\t\t\t\ticon: ChatIcon,\r\n\t\t\t\tlabel: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Calendar',\r\n\t\t\t\thref: '/calendar',\r\n\t\t\t\ticon: CalendarTodayIcon,\r\n\t\t\t\tlabel: () => ,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Settings',\r\n\t\t\t\thref: '/settings',\r\n\t\t\t\ticon: SettingsIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'General',\r\n\t\t\t\t\t\thref: '/settings/general',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Subscription',\r\n\t\t\t\t\t\thref: '/settings/subscription',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Notifications',\r\n\t\t\t\t\t\thref: '/settings/notifications',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Security',\r\n\t\t\t\t\t\thref: '/settings/security',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Authentication',\r\n\t\t\t\thref: '/auth',\r\n\t\t\t\ticon: LockOpenIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Login',\r\n\t\t\t\t\t\thref: '/auth/login',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Register',\r\n\t\t\t\t\t\thref: '/auth/register',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Errors',\r\n\t\t\t\thref: '/errors',\r\n\t\t\t\ticon: ErrorIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Error 401',\r\n\t\t\t\t\t\thref: '/errors/error-401',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Error 404',\r\n\t\t\t\t\t\thref: '/errors/error-404',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Error 500',\r\n\t\t\t\t\t\thref: '/errors/error-500',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\r\n\t{\r\n\t\ttitle: 'Support',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Presentation',\r\n\t\t\t\thref: '/presentation',\r\n\t\t\t\ticon: PresentToAllIcon,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Getting started',\r\n\t\t\t\thref: '/getting-started',\r\n\t\t\t\ticon: CodeIcon,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Changelog',\r\n\t\t\t\thref: '/changelog',\r\n\t\t\t\ticon: ViewModuleIcon,\r\n\t\t\t\tlabel: () => ,\r\n\t\t\t},\r\n\t\t],\r\n\t}, */\r\n];\r\n","import React, { Fragment, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Drawer, Divider, Paper, Avatar, Typography, Hidden } from '@mui/material';\r\n\r\nimport FolderIcon from '@mui/icons-material/FolderOutlined';\r\n\r\nimport useRouter from 'utils/useRouter';\r\nimport getInitials from 'utils/getInitials';\r\nimport { Navigation } from 'components';\r\nimport config from 'configuration/configuration.js';\r\nimport navigationConfig from './navigationConfig';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t\toverflowY: 'auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n\tprofile: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t\talignItems: 'center',\r\n\t\tminHeight: 'fit-content',\r\n\t},\r\n\tavatar: {\r\n\t\twidth: 60,\r\n\t\theight: 60,\r\n\t},\r\n\tname: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t},\r\n\tnavigation: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst NavBar = (props) => {\r\n\tconst { openMobile, onMobileClose, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (openMobile) {\r\n\t\t\t// eslint-disable-next-line no-unused-expressions\r\n\t\t\tonMobileClose && onMobileClose();\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [router.location.pathname]);\r\n\r\n\tif (user.projects) {\r\n\t\tconst projectsMenu = {\r\n\t\t\ttitle: 'Pages',\r\n\t\t\tpages: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttitle: 'Projects',\r\n\t\t\t\t\thref: '/projects',\r\n\t\t\t\t\ticon: FolderIcon,\r\n\t\t\t\t\tchildren: user.projects.map(item => ({\r\n\t\t\t\t\t\ttitle: item,\r\n\t\t\t\t\t\thref: '/',\r\n\t\t\t\t\t})),\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t};\r\n\r\n\t\t// replace hangfire token\r\n\t\tconst management = navigationConfig.find(item => item.title === 'Management');\r\n\t\tconst hangfire = management.pages.find(item => item.title === 'Hangfire');\r\n\t\thangfire.href = hangfire.href.replace('{token}', localStorage.getItem(config.TOKEN_KEY));\r\n\r\n\t\tconst hangfireindex = management.pages.findIndex(item => item.title === 'Hangfire');\r\n\t\tmanagement.pages.splice(hangfireindex, 1, hangfire);\r\n\r\n\t\tconst managementIndex = navigationConfig.findIndex(item => item.title === 'Management');\r\n\t\tnavigationConfig.splice(managementIndex, 1, management);\r\n\r\n\t\t// projects menu\r\n\t\tconst index = navigationConfig.findIndex(item => item.title === 'Pages');\r\n\t\tif (index !== 1) {\r\n\t\t\tnavigationConfig.splice(1, 0, projectsMenu);\r\n\t\t}\r\n\t}\r\n\r\n\tconst navbarContent = (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{getInitials(user.firstname)}\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{getInitials(user.lastname)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{user.firstname}\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{user.lastname}\r\n\t\t\t\t\r\n\t\t\t\t{user.operator}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{navbarContent}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{navbarContent}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nNavBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonMobileClose: PropTypes.func,\r\n\topenMobile: PropTypes.bool,\r\n};\r\n\r\nexport default NavBar;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useRef, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch, shallowEqual } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAppBar,\r\n\tBadge,\r\n\tButton,\r\n\tIconButton,\r\n\tToolbar,\r\n\tHidden,\r\n\tInput,\r\n\tcolors,\r\n\tPopper,\r\n\tPaper,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tClickAwayListener,\r\n} from '@mui/material';\r\nimport LockIcon from '@mui/icons-material/LockOutlined';\r\nimport NotificationsIcon from '@mui/icons-material/NotificationsOutlined';\r\nimport InputIcon from '@mui/icons-material/Input';\r\nimport MenuIcon from '@mui/icons-material/Menu';\r\nimport SearchIcon from '@mui/icons-material/Search';\r\n\r\nimport useRouter from 'utils/useRouter';\r\nimport { PricingModal, NotificationsPopover } from 'components';\r\nimport * as actions from 'actions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tboxShadow: 'none',\r\n\t},\r\n\tflexGrow: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tsearch: {\r\n\t\tbackgroundColor: 'rgba(255,255,255, 0.1)',\r\n\t\tborderRadius: 4,\r\n\t\tflexBasis: 300,\r\n\t\theight: 36,\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tsearchIcon: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t\tcolor: 'inherit',\r\n\t},\r\n\tsearchInput: {\r\n\t\tflexGrow: 1,\r\n\t\tcolor: 'inherit',\r\n\t\t'& input::placeholder': {\r\n\t\t\topacity: 1,\r\n\t\t\tcolor: 'inherit',\r\n\t\t},\r\n\t},\r\n\tsearchPopper: {\r\n\t\tzIndex: theme.zIndex.appBar + 100,\r\n\t},\r\n\tsearchPopperContent: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\ttrialButton: {\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n\ttrialIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tnotificationsButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tnotificationsBadge: {\r\n\t\tbackgroundColor: colors.orange[600],\r\n\t},\r\n\tlogoutButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tlogoutIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TopBar = (props) => {\r\n\tconst { onOpenNavBarMobile, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst { history } = useRouter();\r\n\tconst searchRef = useRef(null);\r\n\tconst dispatch = useDispatch();\r\n\tconst notificationsRef = useRef(null);\r\n\tconst [pricingModalOpen, setPricingModalOpen] = useState(false);\r\n\tconst [openSearchPopover, setOpenSearchPopover] = useState(false);\r\n\tconst [searchValue, setSearchValue] = useState('');\r\n\tconst [openNotifications, setOpenNotifications] = useState(false);\r\n\r\n\tconst notifications = useSelector((state) => state.session.notifications, shallowEqual);\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleLogout = () => {\r\n\t\tdispatch(actions.logout());\r\n\t\thistory.push('/auth/login');\r\n\t};\r\n\r\n\tconst handlePricingOpen = () => {\r\n\t\tsetPricingModalOpen(true);\r\n\t};\r\n\r\n\tconst handlePricingClose = () => {\r\n\t\tsetPricingModalOpen(false);\r\n\t};\r\n\r\n\tconst handleNotificationsOpen = () => {\r\n\t\tsetOpenNotifications(true);\r\n\t};\r\n\r\n\tconst handleNotificationsClose = () => {\r\n\t\tsetOpenNotifications(false);\r\n\t};\r\n\r\n\tconst handleSearchChange = (event) => {\r\n\t\tsetSearchValue(event.target.value);\r\n\r\n\t\tif (event.target.value) {\r\n\t\t\tif (!openSearchPopover) {\r\n\t\t\t\tsetOpenSearchPopover(true);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetOpenSearchPopover(false);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleSearchPopverClose = () => {\r\n\t\tsetOpenSearchPopover(false);\r\n\t};\r\n\r\n\tconst popularSearches = [\r\n\t\t'Devias React Dashboard',\r\n\t\t'Devias',\r\n\t\t'Admin Pannel',\r\n\t\t'Project',\r\n\t\t'Pages',\r\n\t];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"Logo\"\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{/* \r\n\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{popularSearches.map((search) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
*/}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t !i.readed).length}\r\n\t\t\t\t\t\t\tclasses={{ badge: classes.notificationsBadge }}\r\n\t\t\t\t\t\t\tvariant=\"dot\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tSign out\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTopBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonOpenNavBarMobile: PropTypes.func,\r\n};\r\n\r\nexport default TopBar;\r\n","import React, { Suspense, useState } from 'react';\r\nimport { renderRoutes } from 'react-router-config';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nimport NotificationHub from 'components/NotificationHub/NotificationHub.js';\r\nimport { NavBar, TopBar, /* ChatBar */ } from './components';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t\twidth: '100%',\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t\toverflow: 'hidden',\r\n\t},\r\n\ttopBar: {\r\n\t\tzIndex: 2,\r\n\t\tposition: 'relative',\r\n\t},\r\n\tcontainer: {\r\n\t\tdisplay: 'flex',\r\n\t\tflex: '1 1 auto',\r\n\t\toverflow: 'hidden',\r\n\t},\r\n\tnavBar: {\r\n\t\tzIndex: 3,\r\n\t\twidth: 256,\r\n\t\tminWidth: 256,\r\n\t\tflex: '0 0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\toverflowY: 'auto',\r\n\t\tflex: '1 1 auto',\r\n\t},\r\n}));\r\n\r\nconst Dashboard = (props) => {\r\n\tconst { route } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst [openNavBarMobile, setOpenNavBarMobile] = useState(false);\r\n\r\n\tconst handleNavBarMobileOpen = () => {\r\n\t\tsetOpenNavBarMobile(true);\r\n\t};\r\n\r\n\tconst handleNavBarMobileClose = () => {\r\n\t\tsetOpenNavBarMobile(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t}>\r\n\t\t\t\t\t\t{renderRoutes(route.routes)}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{/* */}\r\n\t\t\t\r\n\t\t
\r\n\r\n\t);\r\n};\r\n\r\nDashboard.propTypes = {\r\n\troute: PropTypes.object,\r\n};\r\n\r\nexport default Dashboard;\r\n","import React, { Fragment, useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tDrawer,\r\n\tList,\r\n\tListItem,\r\n\tListItemAvatar,\r\n\tListItemText,\r\n\tListSubheader,\r\n\tTypography,\r\n\tFab,\r\n\tBadge,\r\n} from '@mui/material';\r\nimport PeopleIcon from '@mui/icons-material/PeopleOutline';\r\n\r\nimport axios from 'utils/axios';\r\nimport { StatusBullet } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tdrawer: {\r\n\t\twidth: 280,\r\n\t},\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\tlist: {\r\n\t\tpadding: theme.spacing(1, 3),\r\n\t},\r\n\tlistItemText: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tlastActivity: {\r\n\t\twhiteSpace: 'nowrap',\r\n\t},\r\n\tfab: {\r\n\t\tposition: 'fixed',\r\n\t\tbottom: 32,\r\n\t\tright: 32,\r\n\t\tzIndex: theme.zIndex.drawer - 100,\r\n\t},\r\n}));\r\n\r\nconst ChatBar = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [open, setOpen] = useState(false);\r\n\tconst [data, setData] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchData = () => {\r\n\t\t\taxios.get('/api/chat/activity').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetData(response.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchData();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleOpen = () => {\r\n\t\tsetOpen(true);\r\n\t};\r\n\r\n\tconst handleClose = () => {\r\n\t\tsetOpen(false);\r\n\t};\r\n\r\n\tif (!data) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst onlineConnections = data.connections.filter(\r\n\t\t(connection) => connection.active\r\n\t).length;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{data.groups.map((group) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{group.name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{data.connections\r\n\t\t\t\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t\t\t\t(connection) => group.id === connection.group\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t.map((connection) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{connection.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{connection.active ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{moment(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tconnection.lastActivity\r\n\t\t\t\t\t\t\t\t\t\t\t\t).fromNow()}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nChatBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default ChatBar;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { Doughnut } from 'react-chartjs-2';\r\nimport { makeStyles, useTheme } from '@mui/styles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tposition: 'relative',\r\n\t},\r\n}));\r\n\r\nconst Chart = (props) => {\r\n\tconst { data: dataProp, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst theme = useTheme();\r\n\r\n\tconst data = {\r\n\t\tdatasets: [\r\n\t\t\t{\r\n\t\t\t\tdata: [],\r\n\t\t\t\tbackgroundColor: [],\r\n\t\t\t\tborderWidth: 8,\r\n\t\t\t\tborderColor: theme.palette.white,\r\n\t\t\t\thoverBorderColor: theme.palette.white,\r\n\t\t\t},\r\n\t\t],\r\n\t\tlabels: [],\r\n\t};\r\n\r\n\t// eslint-disable-next-line no-restricted-syntax\r\n\tfor (const item of dataProp) {\r\n\t\tdata.datasets[0].data.push(item.value);\r\n\t\tdata.datasets[0].backgroundColor.push(item.color);\r\n\t\tdata.labels.push(item.label);\r\n\t}\r\n\r\n\tconst options = {\r\n\t\tresponsive: true,\r\n\t\tmaintainAspectRatio: false,\r\n\t\tanimation: false,\r\n\t\tcutoutPercentage: 80,\r\n\t\tlegend: {\r\n\t\t\tdisplay: false,\r\n\t\t},\r\n\t\tlayout: {\r\n\t\t\tpadding: 0,\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tenabled: true,\r\n\t\t\tmode: 'index',\r\n\t\t\tintersect: false,\r\n\t\t\tcaretSize: 10,\r\n\t\t\tyPadding: 20,\r\n\t\t\txPadding: 20,\r\n\t\t\tborderWidth: 1,\r\n\t\t\tborderColor: theme.palette.divider,\r\n\t\t\tbackgroundColor: theme.palette.white,\r\n\t\t\ttitleFontColor: theme.palette.text.primary,\r\n\t\t\tbodyFontColor: theme.palette.text.secondary,\r\n\t\t\tfooterFontColor: theme.palette.text.secondary,\r\n\t\t\tcallbacks: {\r\n\t\t\t\tlabel(tooltipItem, items) {\r\n\t\t\t\t\tconst label = items.labels[tooltipItem.index];\r\n\t\t\t\t\tconst value = items.datasets[0].data[tooltipItem.index];\r\n\r\n\t\t\t\t\treturn `${label}: ${value}%`;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nChart.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Chart;\r\n","import React, { useState, useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tDivider,\r\n\tTypography,\r\n} from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\nimport { GenericMoreButton } from 'components';\r\nimport { Chart } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t\t'&:last-child': {\r\n\t\t\tpaddingBottom: 0,\r\n\t\t},\r\n\t},\r\n\tchartContainer: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tchart: {\r\n\t\theight: 281,\r\n\t},\r\n\tstatsContainer: {\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tstatsItem: {\r\n\t\tflexGrow: 1,\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t\tjustifyContent: 'center',\r\n\t\tpadding: theme.spacing(3, 2),\r\n\t\t'&:not(:last-of-type)': {\r\n\t\t\tborderRight: `1px solid ${theme.palette.divider}`,\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst EarningsSegmentation = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [earnings, setEarnings] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchEarnings = () => {\r\n\t\t\taxios.get('/api/dashboard/earnings').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetEarnings(response.data.earnings);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchEarnings();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Earnings Segmentation\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{earnings.map((earning) => (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{earning.label}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{earning.value}\r\n\t\t\t\t\t\t\t\t%\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nEarningsSegmentation.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default EarningsSegmentation;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport { makeStyles, useTheme } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tposition: 'relative',\r\n\t},\r\n}));\r\n\r\nconst Chart = (props) => {\r\n\tconst { data: dataProp, labels, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst theme = useTheme();\r\n\r\n\tconst data = {\r\n\t\tdatasets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This year',\r\n\t\t\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\t\t\tdata: dataProp.thisYear,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last year',\r\n\t\t\t\tbackgroundColor: colors.grey[200],\r\n\t\t\t\tdata: dataProp.lastYear,\r\n\t\t\t},\r\n\t\t],\r\n\t\tlabels,\r\n\t};\r\n\r\n\tconst options = {\r\n\t\tresponsive: true,\r\n\t\tmaintainAspectRatio: false,\r\n\t\tanimation: false,\r\n\t\tcornerRadius: 20,\r\n\t\tlegend: {\r\n\t\t\tdisplay: false,\r\n\t\t},\r\n\t\tlayout: {\r\n\t\t\tpadding: 0,\r\n\t\t},\r\n\t\tscales: {\r\n\t\t\txAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tbarThickness: 12,\r\n\t\t\t\t\tmaxBarThickness: 10,\r\n\t\t\t\t\tbarPercentage: 0.5,\r\n\t\t\t\t\tcategoryPercentage: 0.5,\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tpadding: 20,\r\n\t\t\t\t\t\tfontColor: theme.palette.text.secondary,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tborderDash: [2],\r\n\t\t\t\t\t\tborderDashOffset: [2],\r\n\t\t\t\t\t\tcolor: theme.palette.divider,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t\tzeroLineBorderDash: [2],\r\n\t\t\t\t\t\tzeroLineBorderDashOffset: [2],\r\n\t\t\t\t\t\tzeroLineColor: theme.palette.divider,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tpadding: 20,\r\n\t\t\t\t\t\tfontColor: theme.palette.text.secondary,\r\n\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\tmaxTicksLimit: 5,\r\n\t\t\t\t\t\tcallback: (value) => (value > 0 ? `${value}K` : value),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tenabled: true,\r\n\t\t\tmode: 'index',\r\n\t\t\tintersect: false,\r\n\t\t\tcaretSize: 10,\r\n\t\t\tyPadding: 20,\r\n\t\t\txPadding: 20,\r\n\t\t\tborderWidth: 1,\r\n\t\t\tborderColor: theme.palette.divider,\r\n\t\t\tbackgroundColor: theme.palette.white,\r\n\t\t\ttitleFontColor: theme.palette.text.primary,\r\n\t\t\tbodyFontColor: theme.palette.text.secondary,\r\n\t\t\tfooterFontColor: theme.palette.text.secondary,\r\n\t\t\tcallbacks: {\r\n\t\t\t\ttitle: () => {},\r\n\t\t\t\tlabel: (tooltipItem) => {\r\n\t\t\t\t\tlet label = `This year: ${tooltipItem.yLabel}`;\r\n\r\n\t\t\t\t\tif (tooltipItem.yLabel > 0) {\r\n\t\t\t\t\t\tlabel += 'K';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn label;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nChart.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.object.isRequired,\r\n\tlabels: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Chart;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardHeader, CardContent, Divider } from '@mui/material';\r\n\r\nimport { GenericMoreButton } from 'components';\r\nimport { Chart } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tchart: {\r\n\t\tpadding: theme.spacing(4, 2, 0, 2),\r\n\t\theight: 400,\r\n\t},\r\n}));\r\n\r\nconst FinancialStats = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tthisYear: [18, 16, 5, 8, 3, 14, 14, 16, 17, 19, 18, 20],\r\n\t\tlastYear: [12, 11, 4, 6, 2, 9, 9, 10, 11, 12, 13, 13],\r\n\t};\r\n\r\n\tconst labels = [\r\n\t\t'Jan',\r\n\t\t'Feb',\r\n\t\t'Mar',\r\n\t\t'Apr',\r\n\t\t'May',\r\n\t\t'Jun',\r\n\t\t'Jul',\r\n\t\t'Aug',\r\n\t\t'Sep',\r\n\t\t'Oct',\r\n\t\t'Nov',\r\n\t\t'Dec',\r\n\t];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Financial Stats\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nFinancialStats.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default FinancialStats;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid, Button, ButtonGroup } from '@mui/material';\r\nimport { DatePicker } from '@mui/lab';\r\nimport CalendarTodayIcon from '@mui/icons-material/CalendarTodayOutlined';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdates: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tcalendarTodayIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [startDate, setStartDate] = useState(moment().subtract(7, 'days'));\r\n\tconst [endDate, setEndDate] = useState(moment());\r\n\tconst [selectEdge, setSelectEdge] = useState(null);\r\n\tconst [calendarDate, setCalendarDate] = useState(moment());\r\n\r\n\tconst handleCalendarOpen = (edge) => {\r\n\t\tsetSelectEdge(edge);\r\n\t};\r\n\r\n\tconst handleCalendarChange = (date) => {\r\n\t\tsetCalendarDate(date);\r\n\t};\r\n\r\n\tconst handleCalendarClose = () => {\r\n\t\tsetCalendarDate(moment());\r\n\t\tsetSelectEdge(null);\r\n\t};\r\n\r\n\tconst handleCalendarAccept = (date) => {\r\n\t\tsetCalendarDate(moment());\r\n\r\n\t\tif (selectEdge === 'start') {\r\n\t\t\tsetStartDate(date);\r\n\r\n\t\t\tif (moment(date).isAfter(endDate)) {\r\n\t\t\t\tsetEndDate(date);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetEndDate(date);\r\n\r\n\t\t\tif (moment(date).isBefore(startDate)) {\r\n\t\t\t\tsetStartDate(date);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsetSelectEdge(null);\r\n\t};\r\n\r\n\tconst open = Boolean(selectEdge);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tAnalytics\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tFinance Overview\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nHeader.defaultProps = {};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 56,\r\n\t\theight: 56,\r\n\t},\r\n\tcircle1: {\r\n\t\tstroke: 'rgba(0,0,0,0.05)',\r\n\t\tfill: 'none',\r\n\t\tstrokeWidth: 4,\r\n\t},\r\n\tcircle2: {\r\n\t\tstroke: theme.palette.primary.main,\r\n\t\tfill: 'none',\r\n\t\tstrokeWidth: 4,\r\n\t\tanimation: '$progress 1s ease-out forwards',\r\n\t},\r\n\t'@keyframes progress': {\r\n\t\t'0%': {\r\n\t\t\tstrokeDasharray: '0 100',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst CircularProgress = (props) => {\r\n\tconst { value, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCircularProgress.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tvalue: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default CircularProgress;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardActions,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tDivider,\r\n\tTable,\r\n\tTableRow,\r\n\tTableCell,\r\n\tTypography,\r\n\tButton,\r\n\tcolors,\r\n\tTableBody,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport { GenericMoreButton } from 'components';\r\nimport CircularProgress from './components/CircularProgress';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t\t'&:last-child': {\r\n\t\t\tpaddingBottom: 0,\r\n\t\t},\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\timage: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t\tflexShrink: 0,\r\n\t\theight: 56,\r\n\t\twidth: 56,\r\n\t},\r\n\tsubscriptions: {\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n\tprice: {\r\n\t\twhiteSpace: 'nowrap',\r\n\t},\r\n\tvalue: {\r\n\t\tcolor: colors.green[600],\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n\tconversion: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tconversionStats: {\r\n\t\twhiteSpace: 'nowrap',\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst MostProfitableProducts = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [products, setProducts] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchProducts = () => {\r\n\t\t\taxios.get('/api/dashboard/profitable-products').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetProducts(response.data.products);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchProducts();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Most Profitable Products\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{products.map((product) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.subscriptions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tActive\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPrice\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{product.currency}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{product.price}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\tmonthly\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.progress}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t%\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tConversion Rate\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nMostProfitableProducts.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default MostProfitableProducts;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Grid, colors } from '@mui/material';\r\n\r\nimport { Label } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\titem: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\ttextAlign: 'center',\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\t'&:not(:last-of-type)': {\r\n\t\t\t\tborderRight: `1px solid ${theme.palette.divider}`,\r\n\t\t\t},\r\n\t\t},\r\n\t\t[theme.breakpoints.down('md')]: {\r\n\t\t\t'&:not(:last-of-type)': {\r\n\t\t\t\tborderBottom: `1px solid ${theme.palette.divider}`,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\tvalueContainer: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Overview = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tincome: '854,355.00',\r\n\t\texpanses: '373,250.50',\r\n\t\tprofit: '123,532.00',\r\n\t\tsubscriptions: '26,000',\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tTotal Income\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t{data.income}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+25%\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tTotal Expanses\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t{data.expanses}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+12%\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNet Profit\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{data.profit}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t-20%\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tActive Subscriptions\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{data.subscriptions}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nOverview.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Overview;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tList,\r\n\tListItem,\r\n\tListItemAvatar,\r\n\tListItemText,\r\n\tTypography,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport { GenericMoreButton } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t},\r\n\tcontent: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: 0,\r\n\t},\r\n\tavatar: {\r\n\t\tfontSize: 14,\r\n\t\tfontWeight: theme.typography.fontWeightBold,\r\n\t\tcolor: theme.palette.white,\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TopReferrals = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [referrals, setReferrals] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchReferrals = () => {\r\n\t\t\taxios.get('/api/dashboard/top-referrals').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetReferrals(response.data.referrals);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchReferrals();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t} title=\"Top Referrals\" />\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{referrals.map((referral, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{referral.initials}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{referral.value}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTopReferrals.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default TopReferrals;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tDivider,\r\n\tList,\r\n\tListItem,\r\n\tListItemAvatar,\r\n\tListItemText,\r\n\tAvatar,\r\n\tTypography,\r\n\tLink,\r\n} from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\nimport getInitials from 'utils/getInitials';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tstatsContainer: {\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tstatsItem: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tflexGrow: 1,\r\n\t\t'&:first-of-type': {\r\n\t\t\tborderRight: `1px solid ${theme.palette.divider}`,\r\n\t\t},\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tdate: {\r\n\t\twhiteSpace: 'nowrap',\r\n\t},\r\n}));\r\n\r\nconst CustomerActivity = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [customers, setCustomers] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchCustomers = () => {\r\n\t\t\taxios.get('/api/dashboard/customer-activity').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetCustomers(response.data.customers);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchCustomers();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tRegistered\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t15,245\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tOnline\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t357\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{customers.map((customer, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{getInitials(customer.author.name)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{customer.author.name}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{customer.description}\r\n\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t|\r\n\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t{customer.type === 'payment' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tSee invoice\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{moment(customer.created_at).fromNow()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCustomerActivity.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default CustomerActivity;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tTable,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableHead,\r\n\tTableRow,\r\n\tTableSortLabel,\r\n\tTooltip,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport { Label, GenericMoreButton } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tprogressContainer: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst labelColors = {\r\n\tcomplete: colors.green[600],\r\n\tpending: colors.orange[600],\r\n\trejected: colors.red[600],\r\n};\r\n\r\nconst LatestOrders = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [orders, setOrders] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchOrders = () => {\r\n\t\t\taxios.get('/api/dashboard/latest-orders').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetOrders(response.data.orders);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchOrders();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t} title=\"Latest Orders\" />\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{orders && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tDate\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tCustomer\r\n\t\t\t\t\t\t\t\t\t\tItems\r\n\t\t\t\t\t\t\t\t\t\tTotal\r\n\t\t\t\t\t\t\t\t\t\tStatus\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{orders.map((order) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{order.ref}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{order.customer.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{order.items}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{order.currency}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{order.value}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{order.status}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tView\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nLatestOrders.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default LatestOrders;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport { Page } from 'components';\r\nimport {\r\n\tHeader,\r\n\tOverview,\r\n\tFinancialStats,\r\n\tEarningsSegmentation,\r\n\tTopReferrals,\r\n\tMostProfitableProducts,\r\n\tCustomerActivity,\r\n\tLatestOrders,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\t'& > *': {\r\n\t\t\theight: '100%',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst DashboardAnalytics = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DashboardAnalytics;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdates: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tstartDateButton: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tendDateButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tcalendarTodayIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tname: 'Shen Zhi',\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\tHome\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tGood Morning,\r\n\t\t\t\t{' '}\r\n\t\t\t\t{data.name}\r\n\t\t\t\r\n\t\t\tHere's what's happening\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nHeader.defaultProps = {};\r\n\r\nexport default Header;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tButton,\r\n\tTable,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableHead,\r\n\tTableRow,\r\n\tTableSortLabel,\r\n\tTooltip,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport getInitials from 'utils/getInitials';\r\nimport { Label, GenericMoreButton } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 900,\r\n\t},\r\n\tauthor: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\ttags: {\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst LatestProjects = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [projects, setProjects] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchProjects = () => {\r\n\t\t\taxios.get('/api/dashboard/latest-projects').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetProjects(response.data.projects);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchProjects();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Latest projects\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tName\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tOwner\r\n\t\t\t\t\t\t\t\t\tAmount\r\n\t\t\t\t\t\t\t\t\tTags\r\n\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{projects.map((project) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{project.title}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{getInitials(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproject.author.name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{project.author.name}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{project.currency}\r\n\t\t\t\t\t\t\t\t\t\t\t{project.price}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{project.tags.map((tag) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{tag.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tView\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nLatestProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default LatestProjects;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar, colors } from '@mui/material';\r\nimport FolderOpenIcon from '@mui/icons-material/FolderOpenOutlined';\r\n\r\nimport { Label } from 'components';\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst NewProjects = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tvalue: '12',\r\n\t\tdifference: '-10%',\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tNew projects\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{data.value}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.difference}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nNewProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default NewProjects;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar } from '@mui/material';\r\nimport AttachMoneyIcon from '@mui/icons-material/AttachMoney';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t\tcolor: theme.palette.primary.main,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst RoiPerCustomer = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tvalue: '25.50',\r\n\t\tcurrency: '$',\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tRoi per customer\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.currency}\r\n\t\t\t\t\t\t{data.value}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nRoiPerCustomer.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default RoiPerCustomer;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tIconButton,\r\n\tTooltip,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\r\n\r\nimport { StackAvatars } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcritical: {\r\n\t\t'& $indicator': {\r\n\t\t\tborderColor: colors.red[600],\r\n\t\t},\r\n\t},\r\n\tindicator: {\r\n\t\theight: 12,\r\n\t\twidth: 12,\r\n\t\tborderWidth: 4,\r\n\t\tborderStyle: 'solid',\r\n\t\tborderColor: colors.grey[100],\r\n\t\tborderRadius: '50%',\r\n\t},\r\n\tviewButton: {\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst TaskItem = (props) => {\r\n\tconst { task, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tlet deadline = 'N/A';\r\n\tlet critical = false;\r\n\r\n\tif (task.deadline) {\r\n\t\tconst now = moment();\r\n\t\tconst deadlineMoment = moment(task.deadline);\r\n\r\n\t\tif (\r\n\t\t\tdeadlineMoment.isAfter(now)\r\n\t\t\t&& deadlineMoment.diff(now, 'day') < 3\r\n\t\t) {\r\n\t\t\tdeadline = `${deadlineMoment.diff(now, 'day')} days remaining`;\r\n\t\t\tcritical = true;\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTaskItem.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\ttask: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default TaskItem;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardActions,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tList,\r\n\tButton,\r\n\tDivider,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport { GenericMoreButton } from 'components';\r\nimport { TaskItem } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 400,\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TeamTasks = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst [tasks, setTasks] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchTasks = () => {\r\n\t\t\taxios.get('/api/tasks').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetTasks(response.data.tasks);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchTasks();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t} title=\"Team Tasks\" />\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tasks.map((task, i) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nTeamTasks.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default TeamTasks;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar, colors } from '@mui/material';\r\nimport AttachMoneyIcon from '@mui/icons-material/AttachMoney';\r\n\r\nimport { Label } from 'components';\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundImage: gradients.green,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst TodaysMoney = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tvalue: '24,000',\r\n\t\tcurrency: '$',\r\n\t\tdifference: '+4.5%',\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tTodays money\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.currency}\r\n\t\t\t\t\t\t{data.value}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.difference}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nTodaysMoney.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default TodaysMoney;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar, LinearProgress } from '@mui/material';\r\nimport DoneIcon from '@mui/icons-material/Done';\r\n\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tcontent: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tprogress: {\r\n\t\tmargin: theme.spacing(0, 1),\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundImage: gradients.orange,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst SystemHealth = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tvalue: 97,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tSystem Health\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.value}\r\n\t\t\t\t\t\t%\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nSystemHealth.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default SystemHealth;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport { makeStyles, useTheme } from '@mui/styles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tposition: 'relative',\r\n\t},\r\n}));\r\n\r\nconst Chart = (props) => {\r\n\tconst { data: dataProp, labels, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst theme = useTheme();\r\n\r\n\tconst data = {\r\n\t\tdatasets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Views',\r\n\t\t\t\tbackgroundColor: 'rgba(255,255,255,0.4)',\r\n\t\t\t\tdata: dataProp,\r\n\t\t\t},\r\n\t\t],\r\n\t\tlabels,\r\n\t};\r\n\r\n\tconst options = {\r\n\t\tresponsive: true,\r\n\t\tmaintainAspectRatio: false,\r\n\t\tanimation: false,\r\n\t\tcornerRadius: 20,\r\n\t\tlegend: {\r\n\t\t\tdisplay: false,\r\n\t\t},\r\n\t\tlayout: {\r\n\t\t\tpadding: 0,\r\n\t\t},\r\n\t\tscales: {\r\n\t\t\txAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tstacked: false,\r\n\t\t\t\t\tbarThickness: 12,\r\n\t\t\t\t\tmaxBarThickness: 10,\r\n\t\t\t\t\tbarPercentage: 0.9,\r\n\t\t\t\t\tcategoryPercentage: 1,\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tstacked: true,\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tenabled: true,\r\n\t\t\tmode: 'index',\r\n\t\t\tintersect: false,\r\n\t\t\tcaretSize: 10,\r\n\t\t\tyPadding: 20,\r\n\t\t\txPadding: 20,\r\n\t\t\tborderWidth: 1,\r\n\t\t\tborderColor: theme.palette.divider,\r\n\t\t\tbackgroundColor: theme.palette.white,\r\n\t\t\ttitleFontColor: theme.palette.text.primary,\r\n\t\t\tbodyFontColor: theme.palette.text.secondary,\r\n\t\t\tfooterFontColor: theme.palette.text.secondary,\r\n\t\t\tcallbacks: {\r\n\t\t\t\tlegend: () => {},\r\n\t\t\t\ttitle: () => {},\r\n\t\t\t\tlabel: (tooltipItem) => {\r\n\t\t\t\t\tconst label = `Views: ${tooltipItem.yLabel}`;\r\n\r\n\t\t\t\t\treturn label;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nChart.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\tlabels: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Chart;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tButton,\r\n\tTypography,\r\n\tList,\r\n\tListItem,\r\n\tListItemText,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport gradients from 'utils/gradients';\r\nimport { Chart } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundImage: gradients.indigo,\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t},\r\n\tcontent: {\r\n\t\tpaddingTop: 0,\r\n\t},\r\n\titemDivider: {\r\n\t\tborderBottomColor: 'rgba(255,255,255,0.2)',\r\n\t},\r\n\tactions: {\r\n\t\tpaddingTop: 0,\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nfunction getRandomInt(min, max) {\r\n\t// eslint-disable-next-line no-param-reassign\r\n\tmin = Math.ceil(min);\r\n\t// eslint-disable-next-line no-param-reassign\r\n\tmax = Math.floor(max);\r\n\r\n\treturn Math.floor(Math.random() * (max - min + 1)) + min;\r\n}\r\n\r\nconst RealTime = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [data, setData] = useState([\r\n\t\t163,\r\n\t\t166,\r\n\t\t161,\r\n\t\t159,\r\n\t\t99,\r\n\t\t163,\r\n\t\t173,\r\n\t\t166,\r\n\t\t167,\r\n\t\t183,\r\n\t\t176,\r\n\t\t172,\r\n\t]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tsetInterval(() => {\r\n\t\t\tif (mounted) {\r\n\t\t\t\tsetData((items) => {\r\n\t\t\t\t\tconst newData = [...items];\r\n\r\n\t\t\t\t\tnewData.shift();\r\n\t\t\t\t\tnewData.push(0);\r\n\r\n\t\t\t\t\treturn newData;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetData((items) => {\r\n\t\t\t\t\t\tconst newData = [...items];\r\n\t\t\t\t\t\tconst random = getRandomInt(100, 200);\r\n\r\n\t\t\t\t\t\tnewData.pop();\r\n\t\t\t\t\t\tnewData.push(random);\r\n\r\n\t\t\t\t\t\treturn newData;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, 500);\r\n\t\t}, 2000);\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst labels = data.map((value, i) => i);\r\n\r\n\tconst pages = [\r\n\t\t{\r\n\t\t\tpathname: '/projects',\r\n\t\t\tviews: '24',\r\n\t\t},\r\n\t\t{\r\n\t\t\tpathname: '/chat',\r\n\t\t\tviews: '21',\r\n\t\t},\r\n\t\t{\r\n\t\t\tpathname: '/cart',\r\n\t\t\tviews: '15',\r\n\t\t},\r\n\t\t{\r\n\t\t\tpathname: '/cart/checkout',\r\n\t\t\tviews: '8',\r\n\t\t},\r\n\t];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t{data[data.length - 1] === 0\r\n\t\t\t\t\t\t\t? data[data.length - 2]\r\n\t\t\t\t\t\t\t: data[data.length - 1]}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tsubheader=\"Page views per second\"\r\n\t\t\t\tsubheaderTypographyProps={{ color: 'inherit' }}\r\n\t\t\t\ttitle=\"Active users\"\r\n\t\t\t\ttitleTypographyProps={{ color: 'inherit' }}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{pages.map((page) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{page.views}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nRealTime.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default RealTime;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { Line } from 'react-chartjs-2';\r\nimport { makeStyles, useTheme } from '@mui/styles';\r\nimport { alpha } from '@mui/material/styles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tposition: 'relative',\r\n\t},\r\n}));\r\n\r\nconst Chart = (props) => {\r\n\tconst { className, data: dataProp, labels, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst theme = useTheme();\r\n\r\n\tconst data = (canvas) => {\r\n\t\tconst ctx = canvas.getContext('2d');\r\n\t\tconst gradient = ctx.createLinearGradient(0, 0, 0, 400);\r\n\r\n\t\tgradient.addColorStop(0, alpha(theme.palette.secondary.main, 0.2));\r\n\t\tgradient.addColorStop(0.9, 'rgba(255,255,255,0)');\r\n\t\tgradient.addColorStop(1, 'rgba(255,255,255,0)');\r\n\r\n\t\treturn {\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: dataProp,\r\n\t\t\t\t\tbackgroundColor: gradient,\r\n\t\t\t\t\tborderColor: theme.palette.secondary.main,\r\n\t\t\t\t\tpointBorderColor: '#FFFFFF',\r\n\t\t\t\t\tpointBorderWidth: 3,\r\n\t\t\t\t\tpointRadius: 6,\r\n\t\t\t\t\tpointBackgroundColor: theme.palette.secondary.main,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tlabels,\r\n\t\t};\r\n\t};\r\n\r\n\tconst options = {\r\n\t\tresponsive: true,\r\n\t\tmaintainAspectRatio: false,\r\n\t\tanimation: false,\r\n\t\tlegend: {\r\n\t\t\tdisplay: false,\r\n\t\t},\r\n\t\tlayout: {\r\n\t\t\tpadding: 0,\r\n\t\t},\r\n\t\tscales: {\r\n\t\t\txAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tpadding: 20,\r\n\t\t\t\t\t\tfontColor: theme.palette.text.secondary,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tborderDash: [2],\r\n\t\t\t\t\t\tborderDashOffset: [2],\r\n\t\t\t\t\t\tcolor: theme.palette.divider,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t\tzeroLineBorderDash: [2],\r\n\t\t\t\t\t\tzeroLineBorderDashOffset: [2],\r\n\t\t\t\t\t\tzeroLineColor: theme.palette.divider,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tpadding: 20,\r\n\t\t\t\t\t\tfontColor: theme.palette.text.secondary,\r\n\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\tmaxTicksLimit: 7,\r\n\t\t\t\t\t\tcallback: (value) => (value > 0 ? `${value}K` : value),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tenabled: true,\r\n\t\t\tmode: 'index',\r\n\t\t\tintersect: false,\r\n\t\t\tcaretSize: 10,\r\n\t\t\tyPadding: 20,\r\n\t\t\txPadding: 20,\r\n\t\t\tborderWidth: 1,\r\n\t\t\tborderColor: theme.palette.divider,\r\n\t\t\tbackgroundColor: theme.palette.white,\r\n\t\t\ttitleFontColor: theme.palette.text.primary,\r\n\t\t\tbodyFontColor: theme.palette.text.secondary,\r\n\t\t\tfooterFontColor: theme.palette.text.secondary,\r\n\t\t\tcallbacks: {\r\n\t\t\t\ttitle: () => {},\r\n\t\t\t\tlabel: (tooltipItem) => {\r\n\t\t\t\t\tlet label = `Income: ${tooltipItem.yLabel}`;\r\n\r\n\t\t\t\t\tif (tooltipItem.yLabel > 0) {\r\n\t\t\t\t\t\tlabel += 'K';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn label;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nChart.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\tlabels: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Chart;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardHeader, CardContent, Divider } from '@mui/material';\r\n\r\nimport { GenericMoreButton } from 'components';\r\nimport { Chart } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {},\r\n\tbuttons: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t\t'& > *': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tinner: {\r\n\t\theight: 375,\r\n\t\tminWidth: 500,\r\n\t},\r\n\tchart: {\r\n\t\theight: '100%',\r\n\t},\r\n}));\r\n\r\nconst PerformanceOverTime = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tthisWeek: {\r\n\t\t\tdata: [],\r\n\t\t\tlabels: [],\r\n\t\t},\r\n\t\tthisMonth: {\r\n\t\t\tdata: [],\r\n\t\t\tlabels: [],\r\n\t\t},\r\n\t\tthisYear: {\r\n\t\t\tdata: [10, 5, 11, 20, 13, 28, 18, 4, 13, 12, 13, 5],\r\n\t\t\tlabels: [\r\n\t\t\t\t'Jan',\r\n\t\t\t\t'Feb',\r\n\t\t\t\t'Mar',\r\n\t\t\t\t'Apr',\r\n\t\t\t\t'May',\r\n\t\t\t\t'Jun',\r\n\t\t\t\t'Jul',\r\n\t\t\t\t'Aug',\r\n\t\t\t\t'Sep',\r\n\t\t\t\t'Oct',\r\n\t\t\t\t'Nov',\r\n\t\t\t\t'Dec',\r\n\t\t\t],\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Performance Over Time\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPerformanceOverTime.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default PerformanceOverTime;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport { Page } from 'components';\r\nimport {\r\n\tHeader,\r\n\tLatestProjects,\r\n\tNewProjects,\r\n\tRealTime,\r\n\tRoiPerCustomer,\r\n\tTeamTasks,\r\n\tTodaysMoney,\r\n\tSystemHealth,\r\n\tPerformanceOverTime,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst DashboardDefault = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DashboardDefault;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid, Button, Hidden } from '@mui/material';\r\nimport BarChartIcon from '@mui/icons-material/BarChart';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsummaryButton: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\tbarChartIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\timage: {\r\n\t\twidth: '100%',\r\n\t\tmaxHeight: 400,\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst session = useSelector((state) => state.session);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHome\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tGood Morning,\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t{session.user.first_name}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHere’s what’s happening with your projects today\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tView summary\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Header;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Grid, colors } from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\nimport { Label } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\titem: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\ttextAlign: 'center',\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\t'&:not(:last-of-type)': {\r\n\t\t\t\tborderRight: `1px solid ${theme.palette.divider}`,\r\n\t\t\t},\r\n\t\t},\r\n\t\t[theme.breakpoints.down('md')]: {\r\n\t\t\t'&:not(:last-of-type)': {\r\n\t\t\t\tborderBottom: `1px solid ${theme.palette.divider}`,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\ttitleWrapper: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\toverline: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Statistics = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [statistics, setStatistics] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchStatistics = () => {\r\n\t\t\taxios.get('/api/account/statistics').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetStatistics(response.data.statistics);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchStatistics();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tif (!statistics) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t$\r\n\t\t\t\t\t\t{statistics.payout}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNext payout\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t$\r\n\t\t\t\t\t\t{statistics.projects}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tTotal products\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{statistics.visitors}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tToday's Visitors\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{statistics.watching}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tLive\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWatching now\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nStatistics.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Statistics;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tIconButton,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemSecondaryAction,\r\n\tListItemText,\r\n\tTypography,\r\n\tTooltip,\r\n} from '@mui/material';\r\nimport SendIcon from '@mui/icons-material/Send';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForwardOutlined';\r\nimport PaymentIcon from '@mui/icons-material/PaymentOutlined';\r\nimport MailIcon from '@mui/icons-material/MailOutlineOutlined';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tvalue: {\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n\ttype: {\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n}));\r\n\r\nconst Notifications = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst notifications = [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tvalue: 6,\r\n\t\t\ttype: 'invite',\r\n\t\t\tmessage: 'to send service quotes',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tvalue: 2,\r\n\t\t\ttype: 'message',\r\n\t\t\tmessage: 'from clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tvalue: 1,\r\n\t\t\ttype: 'payout',\r\n\t\t\tmessage: 'that needs your confirmation',\r\n\t\t},\r\n\t];\r\n\r\n\tconst icons = {\r\n\t\tinvite: ,\r\n\t\tmessage: ,\r\n\t\tpayout: ,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{notifications.map((notification, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{icons[notification.type]}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{notification.value}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{notification.type}\r\n\t\t\t\t\t\t\t\t\ts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t{notification.message}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nNotifications.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Notifications;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Button } from '@mui/material';\r\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\r\n\r\nimport axios from 'utils/axios';\r\nimport { ProjectCard } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\theader: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\ttitle: {\r\n\t\tposition: 'relative',\r\n\t\t'&:before': {\r\n\t\t\tposition: 'absolute',\r\n\t\t\tbottom: -8,\r\n\t\t\tleft: 0,\r\n\t\t\tcontent: '\" \"',\r\n\t\t\theight: 3,\r\n\t\t\twidth: 48,\r\n\t\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\t},\r\n\t},\r\n\tarrowIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Projects = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [projects, setProjects] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchProjects = () => {\r\n\t\t\taxios.get('/api/account/projects').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetProjects(response.data.projects);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchProjects();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tActive Projects\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{projects.map((project) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Projects;\r\n","/* eslint-disable react/no-multi-comp */\r\nimport React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tIconButton,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tRadio,\r\n\tTooltip,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport ArchiveIcon from '@mui/icons-material/ArchiveOutlined';\r\n\r\nimport axios from 'utils/axios';\r\nimport { Label } from 'components';\r\n\r\nconst getLabel = (todo) => {\r\n\tif (todo.done) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif (moment(todo.deadline).isBefore(moment(), 'day')) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\tif (moment(todo.deadline).isSame(moment(), 'day')) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\taddIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tdone: {\r\n\t\ttextDecoration: 'line-through',\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t},\r\n}));\r\n\r\nconst Todos = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [todos, setTodos] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchTodos = () => {\r\n\t\t\taxios.get('/api/account/todos').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetTodos(response.data.todos);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchTodos();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleChange = (event, todo) => {\r\n\t\tsetTodos((items) => items.map((t) => {\r\n\t\t\tif (t.id === todo.id) {\r\n\t\t\t\treturn { ...todo, done: !todo.done };\r\n\t\t\t}\r\n\r\n\t\t\treturn t;\r\n\t\t})\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tAdd\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\ttitle=\"My todos\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{todos.map((todo, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t handleChange(event, todo)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{todo.title}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{getLabel(todo)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTodos.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Todos;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { Page } from 'components';\r\nimport {\r\n\tHeader,\r\n\tStatistics,\r\n\tNotifications,\r\n\tProjects,\r\n\tTodos,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tstatistics: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tnotifications: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n\tprojects: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n\ttodos: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n}));\r\n\r\nconst Overview = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Overview;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid } from '@mui/material';\r\nimport { Page } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t},\r\n\tcontent: {\r\n\t\twidth: theme.breakpoints.values.md,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: '80px 24px',\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\tpadding: '160px 24px',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Home = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCustomer focus\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tWe only find success in our customer’s success.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tExcellence\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOur clients know that we pursue nothing less than the highest quality standards in everything we do.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCollaboration\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOur passion for teamwork leads to innovation, high level of effectiveness and continuous learning and improvement.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tAccountability\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPeople who are not afraid to get their ideas off the ground are also proud to be held accountable for their results.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPassion\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOur passion is what keeps us relentlessly pushing for numerous game-changing innovations.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Home;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tTypography,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n} from '@mui/material';\r\nimport ContactSupportIcon from '@mui/icons-material/ContactSupportOutlined';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(6, 3),\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n}));\r\n\r\nconst FAQ = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst faqs = [\r\n\t\t{\r\n\t\t\ttitle: 'What do we use for styling our components?',\r\n\t\t\tdescription:\r\n\t\t\t\t\"We use Material-ui's hooks api as we think it’s the best way of avoiding clutter.\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle:\r\n\t\t\t\t'Are the design files (sketch, figma) included in the Standard Package?',\r\n\t\t\tdescription:\r\n\t\t\t\t'No, we offer the design source file only to Standard Plus Sketch & Figma and Extended Package.',\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Are you providing support for setting up my project?',\r\n\t\t\tdescription:\r\n\t\t\t\t'Yes, we offer email support for all our customers & even skype meetings for our extended license customers.',\r\n\t\t},\r\n\t];\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tFAQ\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{faqs.map((faq) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nFAQ.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default FAQ;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid, Button } from '@mui/material';\r\nimport {\r\n\tenqueueSnackbar as enqueueSnackbarAction,\r\n\tcloseSnackbar as closeSnackbarAction,\r\n} from 'actions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\theader: {\r\n\t\twidth: theme.breakpoints.values.md,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: '80px 24px',\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\tpadding: '160px 24px',\r\n\t\t},\r\n\t},\r\n\tbuttons: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tmediaContainer: {\r\n\t\tmargin: '0 auto',\r\n\t\tmaxWidth: 1600,\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\toverflow: 'hidden',\r\n\t},\r\n\tmedia: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tstats: {\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t\tpadding: theme.spacing(1),\r\n\t},\r\n\tstatsInner: {\r\n\t\twidth: theme.breakpoints.values.md,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args));\r\n\tconst closeSnackbar = (...args) => dispatch(closeSnackbarAction(...args));\r\n\r\n\tconst handleClick = () => {\r\n\t\t// NOTE:\r\n\t\t// if you want to be able to dispatch a `closeSnackbar` action later on,\r\n\t\t// you SHOULD pass your own `key` in the options. `key` can be any sequence\r\n\t\t// of number or characters, but it has to be unique for a given snackbar.\r\n\t\tenqueueSnackbar({\r\n\t\t\tmessage: 'Querias comprar mas não compras.',\r\n\t\t\toptions: {\r\n\t\t\t\tkey: new Date().getTime() + Math.random(),\r\n\t\t\t\tvariant: 'success',\r\n\t\t\t\taction: key => (\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tDevias React Material Kit - PRO\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tA professional kit that comes with ready-to-use Material-UI©\r\n\t\t\t\t\tcomponents developed with one common goal in mind, help you\r\n\t\t\t\t\tbuild faster & beautiful applications. Each component is\r\n\t\t\t\t\tfully customizable, responsive and easy to integrate.\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPurchase Devias Kit\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t30+\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tDemo Pages\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tUX\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tComplete Flows\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t300+\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tComponents\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\"React\"\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tReact Hooks API\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(6, 3),\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tmedia: {\r\n\t\t'& img': {\r\n\t\t\twidth: '100%',\r\n\t\t\theight: 'auto',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst PluginsSupport = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tSupport for Plugins\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tThe kit provides support for multiple third-party\r\n\t\t\t\t\t\t\tplugins right out of the box like Chart.js,\r\n\t\t\t\t\t\t\tDropzone.js, Kanban Plugin and many more.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPluginsSupport.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default PluginsSupport;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.background.default,\r\n\t},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(6, 3),\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tmedia: {\r\n\t\t'& img': {\r\n\t\t\twidth: '100%',\r\n\t\t\theight: 'auto',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst SourceFiles = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tSource Files\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tWe've included the source Sketch & Figma files so\r\n\t\t\t\t\t\t\tyou can get creative! We designed all components\r\n\t\t\t\t\t\t\twith Symbols in Sketch which allows you to change\r\n\t\t\t\t\t\t\tthe main colors as you like.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nSourceFiles.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default SourceFiles;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.background.default,\r\n\t},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(6, 3),\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tmedia: {\r\n\t\t'& img': {\r\n\t\t\twidth: '100%',\r\n\t\t\theight: 'auto',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst UserFlows = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tComplete User Flows\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tNot just a set of tools, the package includes the\r\n\t\t\t\t\t\t\tmost common use cases of user flows like User\r\n\t\t\t\t\t\t\tManagement, Second Level Layout, and many more.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUserFlows.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default UserFlows;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { Page } from 'components';\r\nimport {\r\n\tHeader,\r\n\tFAQ,\r\n\tPluginsSupport,\r\n\tSourceFiles,\r\n\tUserFlows,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {},\r\n}));\r\n\r\nconst Presentation = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Presentation;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar } from '@mui/material';\r\n\r\nimport { Label } from 'components';\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst TodaysMoney = (props) => {\r\n\tconst { className, title, text, icon, label, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{text}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{label && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{label.text}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{icon}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nTodaysMoney.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\ttitle: PropTypes.string,\r\n\ttext: PropTypes.string,\r\n\ticon: PropTypes.object,\r\n\tlabel: PropTypes.object\r\n};\r\n\r\nexport default TodaysMoney;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n\tIconButton,\r\n\tTooltip,\r\n} from '@mui/material';\r\n\r\nimport CreateIcon from '@mui/icons-material/Create';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport ExitToAppIcon from '@mui/icons-material/ExitToApp';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport Label from '../../../../../../components/Label/Label.js';\r\nimport DataTable from '../../../../../../components/DataTable/DataTable.js';\r\nimport { ToggleAddEditUserDialog, ResendConfirmationEmail, DeactivateUser } from '../../../../actions/UsersActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst UsersDataTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\r\n\tconst _editUser = (userId) => {\r\n\t\tdispatch(ToggleAddEditUserDialog(true, userId));\r\n\t};\r\n\r\n\tconst _resendConfirmationEmail = (userId) => {\r\n\t\tdispatch(ResendConfirmationEmail(userId));\r\n\t};\r\n\r\n\tconst _deactivateUser = (userId) => {\r\n\t\tdispatch(DeactivateUser(userId, rest.user.role));\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{rowData[5] ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _deactivateUser(rowData[0])}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _resendConfirmationEmail(rowData[0])}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t _editUser(rowData[0])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'email',\r\n\t\t\t\tlabel: 'Email',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'role',\r\n\t\t\t\tlabel: 'Role',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operators',\r\n\t\t\t\tlabel: 'Operators',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value) => {\r\n\t\t\t\t\t\tif (value) {\r\n\t\t\t\t\t\t\tconst values = value.split(',');\r\n\t\t\t\t\t\t\tconst sortedValues = _.sortBy(values, val => val);\r\n\t\t\t\t\t\t\tconst operators = sortedValues.map((operator, index) => (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{operator}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t));\r\n\t\t\t\t\t\t\treturn operators;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'status',\r\n\t\t\t\tlabel: 'Status',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value) => {\r\n\t\t\t\t\t\tif (value !== null) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t? 'Email confirmed'\r\n\t\t\t\t\t\t\t\t\t\t: 'Email not confirmed'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'online',\r\n\t\t\t\tlabel: 'Online',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value) => {\r\n\t\t\t\t\t\tif (value !== null) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t? 'Online'\r\n\t\t\t\t\t\t\t\t\t\t: 'Offline'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUsersDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default UsersDataTable;\r\n","import React from 'react';\r\n\r\nimport MuiDialogTitle from '@mui/material/DialogTitle';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport Typography from '@mui/material/Typography';\r\nimport withStyles from '@mui/styles/withStyles';\r\n\r\nimport IconButton from '@mui/material/IconButton';\r\n\r\nconst DialogTitle = withStyles(theme => ({\r\n\troot: {\r\n\t\tborderBottom: `1px solid ${theme.palette.divider}`,\r\n\t\tmargin: 0,\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcloseButton: {\r\n\t\tposition: 'absolute',\r\n\t\tright: theme.spacing(1),\r\n\t\ttop: theme.spacing(1),\r\n\t\tcolor: theme.palette.grey[500],\r\n\t},\r\n}))(props => {\r\n\tconst { children, classes, onClose } = props;\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\t{onClose ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\r\n\t);\r\n});\r\n\r\nexport default DialogTitle;\r\n","import withStyles from '@mui/styles/withStyles';\r\nimport MuiDialogContent from '@mui/material/DialogContent';\r\n\r\nconst DialogContent = withStyles(theme => ({\r\n\troot: {\r\n\t\tmargin: 0,\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n}))(MuiDialogContent);\r\n\r\nexport default DialogContent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Dialog, DialogActions, Typography, Button } from '@mui/material';\r\n\r\nimport DialogTitle from './components/DialogTitle.js';\r\nimport DialogContent from './components/DialogContent.js';\r\n\r\nconst propTypes = {\r\n\tonClose: PropTypes.func,\r\n\tonConfirmClicked: PropTypes.func,\r\n\tcancelLabel: PropTypes.string,\r\n\tconfirmLabel: PropTypes.string,\r\n\ttitle: PropTypes.string,\r\n\topen: PropTypes.bool,\r\n\tmodal: PropTypes.bool,\r\n\tisDisabled: PropTypes.bool,\r\n\tchildren: PropTypes.object,\r\n\thasConfirm: PropTypes.bool,\r\n\tautoScrollBodyContent: PropTypes.bool,\r\n\tdialogProps: PropTypes.object,\r\n\tmaxWidth: PropTypes.string,\r\n\tid: PropTypes.string\r\n};\r\n\r\nconst ModalDialog = (props) => {\r\n\tconst {\r\n\t\tcancelLabel,\r\n\t\tconfirmLabel,\r\n\t\ttitle,\r\n\t\topen,\r\n\t\thasConfirm = true,\r\n\t\tonClose,\r\n\t\tchildren,\r\n\t\tonConfirmClicked,\r\n\t\tisDisabled,\r\n\t\tmodal = false,\r\n\t\tautoScrollBodyContent,\r\n\t\tdialogProps,\r\n\t\tmaxWidth,\r\n\t\tid = 'confirm_dialog'\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{title}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{children}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{cancelLabel || 'Cancel'}\r\n\t\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\thasConfirm && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{confirmLabel || 'Apply'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nModalDialog.propTypes = propTypes;\r\n\r\nexport default ModalDialog;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useEffect, useRef } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, TextField, Typography, Grid, Select } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { SetFormState, GetOperatorProjects } from '../../../../../../actions/UsersActions';\r\nimport SelectField from '../../../../../../../../components/SelectField/SelectField.js';\r\n\r\nconst schema = {\r\n\tfirstname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tlastname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\temail: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t\temail: true,\r\n\t},\r\n\troleId: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst AddEditUserForm = (props) => {\r\n\tconst { className, roles, operators, projects, isEdit, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.usersReducer.formState);\r\n\r\n\tconst usePrevious = (value) => {\r\n\t\tconst ref = useRef();\r\n\t\tuseEffect(() => {\r\n\t\t\tref.current = value;\r\n\t\t});\r\n\t\treturn ref.current;\r\n\t};\r\n\r\n\tconst useHasChanged = (val) => {\r\n\t\tconst prevVal = usePrevious(val);\r\n\t\treturn prevVal !== val;\r\n\t};\r\n\r\n\tconst hasOperatorIdsChanged = useHasChanged(formState.values.operatorIds);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\r\n\t\tif (hasOperatorIdsChanged) {\r\n\t\t\tdispatch(GetOperatorProjects(formState.values.operatorIds || []));\r\n\t\t}\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t);\r\n};\r\n\r\nAddEditUserForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\troles: PropTypes.array,\r\n\toperators: PropTypes.array,\r\n\tprojects: PropTypes.array,\r\n\tisEdit: PropTypes.bool,\r\n};\r\n\r\nexport default AddEditUserForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport ModalDialog from '../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport AddEditUserForm from './components/AddEditUserForm/AddEditUserForm.js';\r\nimport { GetRoles, GetOperators, CreateUser, GetUser, EditUser } from '../../../../actions/UsersActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst AddEditUserDialog = (props) => {\r\n\tconst { author, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst roles = useSelector((state) => state.usersReducer.roles);\r\n\tconst operators = useSelector((state) => state.usersReducer.operators);\r\n\tconst operatorProjects = useSelector((state) => state.usersReducer.operatorProjects);\r\n\tconst formState = useSelector((state) => state.usersReducer.formState);\r\n\tconst openAddEditUserDialogId = useSelector((state) => state.usersReducer.openAddEditUserDialogId);\r\n\tconst title = openAddEditUserDialogId ? 'Edit user' : 'Add user';\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tif (openAddEditUserDialogId) {\r\n\t\t\t\tdispatch(EditUser(formState.values, rest.user.role));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(CreateUser(formState.values, rest.user.role));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetRoles(rest.user.role));\r\n\t\tdispatch(GetOperators());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t\tif (openAddEditUserDialogId) {\r\n\t\t\tdispatch(GetUser(openAddEditUserDialogId));\r\n\t\t}\r\n\t}, [openAddEditUserDialogId]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddEditUserDialog.propTypes = {\r\n\tauthor: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default AddEditUserDialog;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Button } from '@mui/material';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport GroupIcon from '@mui/icons-material/Group';\r\nimport BusinessCenterIcon from '@mui/icons-material/BusinessCenter';\r\nimport AssignmentTurnedInIcon from '@mui/icons-material/AssignmentTurnedIn';\r\nimport { Page, Header } from 'components';\r\nimport Card from './components/Card/Card.js';\r\nimport UsersDataTable from './components/UsersDataTable/UsersDataTable.js';\r\nimport AddEditUsersDialog from './components/AddEditUserDialog/AddEditUserDialog.js';\r\n\r\nimport { GetUsers, GetUsersStats, ToggleAddEditUserDialog } from '../../actions/UsersActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Users = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst usersStats = useSelector((state) => state.usersReducer.usersStats);\r\n\tconst users = useSelector((state) => state.usersReducer.users);\r\n\tconst openAddEditUserDialog = useSelector((state) => state.usersReducer.openAddEditUserDialog);\r\n\r\n\tconst _addEditUserClose = () => {\r\n\t\tdispatch(ToggleAddEditUserDialog(false));\r\n\t};\r\n\r\n\tconst _addUser = () => {\r\n\t\tdispatch(ToggleAddEditUserDialog(true));\r\n\t};\r\n\r\n\tconst _renderActions = () => (\r\n\t\t\r\n\t);\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetUsers(user.role));\r\n\t\tdispatch(GetUsersStats());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, [getData]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t} />\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t} />\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t} />\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{openAddEditUserDialog && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nexport default Users;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tButton,\r\n\tCard,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tGrid,\r\n\tTypography,\r\n} from '@mui/material';\r\n\r\nimport getInitials from 'utils/getInitials';\r\nimport { Label } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\theader: {\r\n\t\tpaddingBottom: 0,\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: 10,\r\n\t\t'&:last-child': {\r\n\t\t\tpaddingBottom: 0,\r\n\t\t},\r\n\t},\r\n\tdescription: {\r\n\t\tpadding: theme.spacing(2, 3, 1, 3),\r\n\t},\r\n\ttags: {\r\n\t\tpadding: theme.spacing(0, 3, 1, 3),\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tdetailsButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\tdeleteButton: {\r\n\t\tcolor: theme.palette.error.main,\r\n\t},\r\n\tdetails: {\r\n\t\tpadding: theme.spacing(1, 3),\r\n\t},\r\n\tavatar: {\r\n\t\twidth: theme.spacing(15),\r\n\t\theight: theme.spacing(15),\r\n\t\tfontSize: theme.spacing(7)\r\n\t},\r\n}));\r\n\r\nconst OperatorCard = (props) => {\r\n\tconst { operator, deleteOperator, navigateDetails, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t{getInitials(operator.name)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tclassName={classes.header}\r\n\t\t\t\tdisableTypography\r\n\t\t\t\ttitle={(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{operator.name}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t navigateDetails(operator.id)}\r\n\t\t\t\t\t\t\t\tclassName={classes.detailsButton}\r\n\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\tDetails\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t deleteOperator(operator)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\tDelete\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nOperatorCard.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object.isRequired,\r\n\tdeleteOperator: PropTypes.func,\r\n\tnavigateDetails: PropTypes.func,\r\n};\r\n\r\nexport default OperatorCard;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tGrid,\r\n} from '@mui/material';\r\n\r\nimport OperatorCard from '../OperatorCard/OperatorCard.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: { marginTop: theme.spacing(3) },\r\n\theader: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tflexWrap: 'wrap',\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\ttitle: {\r\n\t\tposition: 'relative',\r\n\t\t'&:after': {\r\n\t\t\tposition: 'absolute',\r\n\t\t\tbottom: -8,\r\n\t\t\tleft: 0,\r\n\t\t\tcontent: '\" \"',\r\n\t\t\theight: 3,\r\n\t\t\twidth: 48,\r\n\t\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tgridList: {\r\n\t\toverflowY: 'scroll',\r\n\t\tmaxHeight: '75vh'\r\n\t}\r\n}));\r\n\r\nconst Projects = (props) => {\r\n\tconst { className, operators, deleteOperator, navigateDetails, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{operators.map((operator) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperators: PropTypes.array,\r\n\tdeleteOperator: PropTypes.func,\r\n\tnavigateDetails: PropTypes.func,\r\n};\r\n\r\nexport default Projects;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, TextField, Typography, Grid, Select } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { SetFormState } from '../../../../../../actions/OperatorsActions';\r\nimport SelectField from '../../../../../../../../components/SelectField/SelectField.js';\r\n\r\nconst schema = {\r\n\tname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst AddOperatorForm = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t);\r\n};\r\n\r\nAddOperatorForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default AddOperatorForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport ModalDialog from '../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport AddOperatorForm from './components/AddOperatorForm/AddOperatorForm.js';\r\nimport { CreateOperator } from '../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst AddOperatorDialog = (props) => {\r\n\tconst { open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\tconst title = 'Add operator';\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tdispatch(CreateOperator(formState.values));\r\n\t\t}\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddOperatorDialog.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default AddOperatorDialog;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Button } from '@mui/material';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport useRouter from 'utils/useRouter';\r\nimport { Page, Header } from '../../../../components';\r\nimport OperatorsList from './components/OperatorsList/OperatorsList.js';\r\nimport AddOperatorDialog from './components/AddOperatorDialog/AddOperatorDialog.js';\r\n\r\nimport { GetOperators, ToggleAddOperatorDialog, DeleteOperator, NavigateDetails } from '../../actions/OperatorsActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Operators = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst { history } = useRouter();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst openAddOperatorDialog = useSelector((state) => state.operatorsReducer.openAddOperatorDialog);\r\n\tconst operators = useSelector((state) => state.operatorsReducer.operators);\r\n\r\n\tconst _addOperatorClose = () => {\r\n\t\tdispatch(ToggleAddOperatorDialog(false));\r\n\t};\r\n\r\n\tconst _deleteOperator = (operator) => {\r\n\t\tdispatch(DeleteOperator(operator));\r\n\t};\r\n\r\n\tconst _addOperator = () => {\r\n\t\tdispatch(ToggleAddOperatorDialog(true));\r\n\t};\r\n\r\n\tconst _renderActions = () => (\r\n\t\t\r\n\t);\r\n\r\n\tconst _navigateDetails = (operatorId) => {\r\n\t\tdispatch(NavigateDetails(operatorId));\r\n\t\thistory.push('/management/operators/details');\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetOperators());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, [getData]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{openAddOperatorDialog && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Operators;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tSwitch,\r\n\tTextField,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport { SetFormState, UpdateOperator } from '../../../../../../actions/OperatorsActions';\r\n\r\nconst schema = {\r\n\tname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsaveButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Details = (props) => {\r\n\tconst { operator, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst save = () => {\r\n\t\tdispatch(UpdateOperator(formState.values));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSave Changes\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nDetails.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default Details;\r\n","import React, { useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardContent,\r\n\tCardActions,\r\n\tAvatar,\r\n\tTypography,\r\n\tButton,\r\n\tcolors\r\n} from '@mui/material';\r\nimport getInitials from 'utils/getInitials';\r\nimport { UpdateImage } from '../../../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexDirection: 'column',\r\n\t\ttextAlgin: 'center',\r\n\t},\r\n\tname: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tavatar: {\r\n\t\theight: 120,\r\n\t\twidth: 120,\r\n\t},\r\n\tremoveButton: {\r\n\t\twidth: '100%',\r\n\t\tcolor: theme.palette.error.main\r\n\t},\r\n\taddButton: {\r\n\t\twidth: '100%',\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Picture = (props) => {\r\n\tconst { operator, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst inputFile = useRef(null);\r\n\r\n\tconst _removeImage = () => {\r\n\t\tconst updateOperator = { ...operator };\r\n\t\tupdateOperator.avatar = null;\r\n\t\tdispatch(UpdateImage(updateOperator));\r\n\t};\r\n\r\n\tconst _addImage = () => {\r\n\t\tinputFile.current.click();\r\n\t};\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tconst reader = new FileReader();\r\n\t\t\treader.addEventListener('load', () => {\r\n\t\t\t\tconst updateOperator = { ...operator };\r\n\t\t\t\tupdateOperator.avatar = reader.result;\r\n\t\t\t\tdispatch(UpdateImage(updateOperator));\r\n\t\t\t}\r\n\t\t\t);\r\n\t\t\treader.readAsDataURL(event.target.files[0]);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{getInitials(operator.name)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{operator.avatar === null ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t { inputFile.current = ref; }} onChange={_onChangeInput} style={{ display: 'none' }} />\r\n\t\t\r\n\t);\r\n};\r\n\r\nPicture.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default Picture;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport { Picture, Details } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdeliverables: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tmembers: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Overview = (props) => {\r\n\tconst { operator, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nOverview.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default Overview;\r\n","import React, { Fragment, useRef, useState, memo } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTooltip,\r\n\tIconButton,\r\n\tMenu,\r\n\tMenuItem,\r\n} from '@mui/material';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport MoreIcon from '@mui/icons-material/MoreVert';\r\n\r\nimport { ToggleAddProjectDialog } from '../../../../../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles(() => ({}));\r\n\r\nconst ActionsButton = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst moreRef = useRef(null);\r\n\tconst [openMenu, setOpenMenu] = useState(false);\r\n\tconst dispatch = useDispatch();\r\n\tconst handleMenuOpen = () => {\r\n\t\tsetOpenMenu(true);\r\n\t};\r\n\r\n\tconst handleMenuClose = () => {\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\tconst _add = () => {\r\n\t\tdispatch(ToggleAddProjectDialog(true));\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nActionsButton.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default memo(ActionsButton);\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n\tIconButton,\r\n\tTooltip,\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tDivider\r\n} from '@mui/material';\r\n\r\nimport CreateIcon from '@mui/icons-material/Create';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport ExitToAppIcon from '@mui/icons-material/ExitToApp';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport ActionsButton from './components/ActionsButton/ActionsButton.js';\r\nimport DataTable from '../../../../../../../../components/DataTable/DataTable.js';\r\nimport { DeleteProject } from '../../../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 10,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst ProjectsDataTable = (props) => {\r\n\tconst { className, data, operatorId, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\r\n\tconst _deleteProject = (projectId) => {\r\n\t\tdispatch(DeleteProject(projectId, operatorId));\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t _deleteProject(rowData[0])}>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'users',\r\n\t\t\t\tlabel: 'Users',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\ttitle=\"All projects\"\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nProjectsDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\toperatorId: PropTypes.string\r\n};\r\n\r\nexport default ProjectsDataTable;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, TextField, Typography, Grid, Select } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { SetFormState } from '../../../../../../../../actions/OperatorsActions';\r\n\r\nconst schema = {\r\n\tname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst AddProjectForm = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t);\r\n};\r\n\r\nAddProjectForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default AddProjectForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport ModalDialog from '../../../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport AddProjectForm from './components/AddProjectForm/AddProjectForm.js';\r\nimport { CreateProject } from '../../../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst AddProjectDialog = (props) => {\r\n\tconst { operatorId, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\tconst title = 'Add project';\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tdispatch(CreateProject({ name: formState.values.name, operatorId }));\r\n\t\t}\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddProjectDialog.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n\toperatorId: PropTypes.number.isRequired\r\n};\r\n\r\nexport default AddProjectDialog;\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport ProjectsDataTable from './components/ProjectsDataTable/ProjectsDataTable';\r\n\r\nimport AddProjectDialog from './components/AddProjectDialog/AddProjectDialog';\r\n\r\nimport { ToggleAddProjectDialog } from '../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdeliverables: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tmembers: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Projects = (props) => {\r\n\tconst { operator, className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst openAddProjectDialog = useSelector((state) => state.operatorsReducer.openAddProjectDialog);\r\n\r\n\tconst _addProjectClose = () => {\r\n\t\tdispatch(ToggleAddProjectDialog(false));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{openAddProjectDialog && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object\r\n};\r\n\r\nexport default Projects;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport DataTable from '../../../../../../../../components/DataTable/DataTable.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst UsersDataTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUsersDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default UsersDataTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport UsersDataTable from './components/UsersDataTable/UsersDataTable';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdeliverables: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tmembers: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Users = (props) => {\r\n\tconst { users, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nUsers.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tusers: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Users;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider, colors } from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\nimport { Page, Header } from 'components';\r\nimport { Overview, Projects, Users } from './components';\r\nimport { GetOperator } from '../../actions/OperatorsActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tdivider: {\r\n\t\tbackgroundColor: colors.grey[300],\r\n\t},\r\n\talert: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst OperatorDetails = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [tab, setTab] = useState('overview');\r\n\r\n\tconst operatorId = useSelector((state) => state.operatorsReducer.detailsOperatorId);\r\n\tconst operator = useSelector((state) => state.operatorsReducer.operator);\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchoperator = () => {\r\n\t\t\tdispatch(GetOperator(operatorId));\r\n\t\t};\r\n\r\n\t\tfetchoperator();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, [operatorId]);\r\n\r\n\tconst handleTabsChange = (event, value) => {\r\n\t\tsetTab(value);\r\n\t};\r\n\r\n\tconst tabs = [\r\n\t\t{ value: 'overview', label: 'Overview' },\r\n\t\t{ value: 'projects', label: 'Projects' },\r\n\t\t{ value: 'users', label: 'Users' },\r\n\t];\r\n\r\n\tif (!tab) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!tabs.find((t) => t.value === tab)) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!operatorId) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{tabs.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{tab === 'overview' && }\r\n\t\t\t\t{tab === 'projects' && }\r\n\t\t\t\t{tab === 'users' && }\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default OperatorDetails;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tSwitch,\r\n\tTextField,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport SelectField from '../../../../../../../../components/SelectField/SelectField.js';\r\n\r\nimport { SetFormState, UpdateSettings } from '../../../../../../actions/SettingsActions';\r\n\r\nconst schema = {\r\n\tfirstname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tlastname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\toperatorId: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsaveButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst GeneralForm = (props) => {\r\n\tconst { className, role, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst operators = useSelector((state) => state.settingsReducer.operators);\r\n\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.settingsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tdispatch(SetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t}));\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tdispatch(UpdateSettings(formState.values));\r\n\t\t}\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSave Changes\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nGeneralForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\trole: PropTypes.string\r\n};\r\n\r\nexport default GeneralForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport { GeneralForm } from './components';\r\nimport { SetFormState, GetOperators } from '../../../../actions/SettingsActions';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {},\r\n}));\r\n\r\nconst General = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst formState = useSelector((state) => state.settingsReducer.formState);\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tdispatch(SetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: { ...user }\r\n\t\t}));\r\n\r\n\t\tif (user && user.id) {\r\n\t\t\tdispatch(GetOperators(user.id));\r\n\t\t}\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tif (!user) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nGeneral.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default General;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tGrid,\r\n\tFormControlLabel,\r\n\tCheckbox,\r\n\tTypography,\r\n\tButton,\r\n\tDivider,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\titem: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t},\r\n\tsaveButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Notifications = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSystem\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tYou will recieve emails in your business email\r\n\t\t\t\t\t\t\t\taddress\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel=\"Email alerts\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlabel=\"Push Notifications\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel=\"Text message\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel={(\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tPhone calls\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tShort voice phone updating you\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tChat App\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tYou will recieve emails in your business email\r\n\t\t\t\t\t\t\t\taddress\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel=\"Email\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel=\"Push notifications\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nNotifications.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Notifications;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tGrid,\r\n\tButton,\r\n\tDivider,\r\n\tTextField,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport { SetFormState, ChangePassword } from '../../../../actions/SettingsActions';\r\n\r\nconst schema = {\r\n\toldpassword: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tnewpassword: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tconfirmnewpassword: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t\tequality: 'newpassword',\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsaveButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Security = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.settingsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tdispatch(SetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t}));\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tdispatch(ChangePassword(formState.values));\r\n\t\t}\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSave changes\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nSecurity.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Security;\r\n","import React, { useState } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider, colors } from '@mui/material';\r\n\r\nimport { Page, Header } from 'components';\r\nimport {\r\n\tGeneral,\r\n\tSubscription,\r\n\tNotifications,\r\n\tSecurity,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tdivider: {\r\n\t\tbackgroundColor: colors.grey[300],\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Settings = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst [tab, setTab] = useState('general');\r\n\r\n\tconst handleTabsChange = (event, value) => {\r\n\t\tsetTab(value);\r\n\t};\r\n\r\n\tconst tabs = [\r\n\t\t{ value: 'general', label: 'General' },\r\n\t\t// { value: 'subscription', label: 'Subscription' },\r\n\t\t// { value: 'notifications', label: 'Notifications' },\r\n\t\t{ value: 'security', label: 'Security' },\r\n\t];\r\n\r\n\tif (!tab) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!tabs.find((t) => t.value === tab)) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{tabs.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{tab === 'general' && }\r\n\t\t\t\t{/* {tab === 'subscription' && }\r\n\t\t\t\t{tab === 'notifications' && } */}\r\n\t\t\t\t{tab === 'security' && }\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nSettings.propTypes = {\r\n};\r\n\r\nexport default Settings;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tLink,\r\n\tTypography,\r\n} from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\taction: {\r\n\t\tmarginRight: 0,\r\n\t\tmarginTop: 0,\r\n\t},\r\n\toverview: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\tjustifyContent: 'space-between',\r\n\t\t[theme.breakpoints.down('lg')]: {\r\n\t\t\tflexDirection: 'column-reverse',\r\n\t\t\talignItems: 'flex-start',\r\n\t\t},\r\n\t},\r\n\tproduct: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tproductImage: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\tjustifyContent: 'space-between',\r\n\t\t[theme.breakpoints.down('lg')]: {\r\n\t\t\tflexDirection: 'column',\r\n\t\t\talignItems: 'flex-start',\r\n\t\t},\r\n\t},\r\n\tnotice: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst Subscription = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [subscription, setSubscription] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchSubscription = () => {\r\n\t\t\taxios.get('/api/account/subscription').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetSubscription(response.data.subscription);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchSubscription();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tif (!subscription) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\tUpgrade plan\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tclasses={{ action: classes.action }}\r\n\t\t\t\ttitle=\"Manage your subscription\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.currency}\r\n\t\t\t\t\t\t\t\t{subscription.price}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t/mo\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.proposalsLeft}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tproposals left\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.templatesLeft}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\ttemplates\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.invitesLeft}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tinvites left\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.adsLeft}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tads left\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{subscription.hasAnalytics && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAnalytics dashboard\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{subscription.hasEmailAlerts && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tEmail alerts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tThe refunds don't work once you have the subscription, but\r\n\t\t\t\t\tyou can always\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCancel your subscription\r\n\t\t\t\t\t\r\n\t\t\t\t\t.\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nSubscription.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Subscription;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\n\r\nimport { Alert } from 'components';\r\n\r\nconst ReportLastDate = (props) => {\r\n\tconst { date, dateEricsson } = props;\r\n\r\n\tconst _renderMessage = () => {\r\n\t\tconst finalDate = moment(date).format('yyyy-MM-DD HH:mm');\r\n\t\tlet message = `Last data update: ${finalDate}`;\r\n\t\tif (dateEricsson) {\r\n\t\t\tconst finalDateEricsson = moment(dateEricsson).format('yyyy-MM-DD HH:mm');\r\n\t\t\tmessage = `Last data updates: ${finalDate} (Huawei) ${finalDateEricsson} (Ericsson) `;\r\n\t\t}\r\n\t\treturn message;\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nReportLastDate.propTypes = {\r\n\tdate: PropTypes.string.isRequired,\r\n\tdateEricsson: PropTypes.string\r\n};\r\n\r\nexport default ReportLastDate;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { TextField } from '@mui/material';\r\nimport { DateTimePicker as MuiDateTimePicker } from '@mui/lab';\r\n\r\nconst DateTimePicker = (props) => {\r\n\tconst { value,\r\n\t\tonChange,\r\n\t\tlabel,\r\n\t\tminutesStep,\r\n\t\t...rest } = props;\r\n\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\treturn (\r\n\t\t setOpen(true)}\r\n\t\t\tonClose={() => setOpen(false)}\r\n\t\t\trenderInput={(p) => (\r\n\t\t\t\t setOpen(true)}\r\n\t\t\t\t\t{...rest}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\tinputFormat=\"yyyy-MM-DD HH:mm\"\r\n\t\t\tvalue={value || null}\r\n\t\t\tonChange={onChange}\r\n\t\t\tampm={false}\r\n\t\t\tvariant=\"inline\"\r\n\t\t\tinputVariant=\"outlined\"\r\n\t\t\tlabel={label}\r\n\t\t\tminutesStep={minutesStep ?? 30}\r\n\t\t\t{...rest}\r\n\t\t/>\r\n\t);\r\n};\r\nDateTimePicker.propTypes = {\r\n\tvalue: PropTypes.any,\r\n\tonChange: PropTypes.func.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tminutesStep: PropTypes.number\r\n};\r\n\r\nexport default DateTimePicker;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField,\r\n} from '@mui/material';\r\n\r\nimport DateTimePicker from 'components/DatePicker/DateTimePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report3G1h = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst [date, setDate] = useState(moment());\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('NE_NAME');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleDateTimeChange = (value) => {\r\n\t\tsetDate(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(GenerateReport({ startTime: date.utc(true), filterType, controllers, reportType: 'Report3g1h', userId: user.id, username }));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport3G1h.propTypes = {\r\n\tclassName: PropTypes.object\r\n};\r\n\r\nexport default Report3G1h;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport DateTimePicker from 'components/DatePicker/DateTimePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\n\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report3G16h = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst [startTime, setStartTime] = useState(moment());\r\n\tconst [endTime, setEndTime] = useState(moment());\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('NE_NAME');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleStartTimeChange = (value) => {\r\n\t\tsetStartTime(value);\r\n\t};\r\n\r\n\tconst _handleEndStartTimeChange = (value) => {\r\n\t\tsetEndTime(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (endTime.diff(startTime, 'hours') > 24) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'Difference between dates cannot be superior to 24H', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (startTime > endTime) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be greater than EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\r\n\t\tdispatch(GenerateReport({\r\n\t\t\tstartTime: startTime.utc(true).format(),\r\n\t\t\tendTime: endTime.utc(true).format(),\r\n\t\t\tfilterType,\r\n\t\t\tcontrollers,\r\n\t\t\treportType: 'Report3g16h',\r\n\t\t\tuserId: user.id,\r\n\t\t\tusername\r\n\t\t}));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport3G16h.propTypes = {\r\n\tclassName: PropTypes.object\r\n};\r\n\r\nexport default Report3G16h;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTypography,\r\n\tSlider,\r\n\tTextField\r\n} from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst marks = [\r\n\t{\r\n\t\tvalue: 0,\r\n\t\tlabel: '00h',\r\n\t},\r\n\t{\r\n\t\tvalue: 23,\r\n\t\tlabel: '23h',\r\n\t},\r\n];\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report3G1w = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst [startTime, setStartTime] = useState(moment());\r\n\tconst [endTime, setEndTime] = useState(moment().add(1, 'day'));\r\n\tconst [hour, setHour] = useState([6, 23]);\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('NE_NAME');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleHourChange = (event, newValue) => {\r\n\t\tsetHour(newValue);\r\n\t};\r\n\r\n\tconst _valuetext = (value) => value;\r\n\r\n\tconst _handleStartTimeChange = (value) => {\r\n\t\tsetStartTime(value);\r\n\t};\r\n\r\n\tconst _handleEndTimeChange = (value) => {\r\n\t\tsetEndTime(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (startTime > endTime) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be greater than EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (startTime.startOf('day').diff(endTime.startOf('day')) === 0) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be equal to EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\r\n\t\tdispatch(GenerateReport({\r\n\t\t\tstartTime: startTime.utc(true).startOf('day').format(),\r\n\t\t\tendTime: endTime.utc(true).startOf('day').format(),\r\n\t\t\tstartHour: _.first(hour),\r\n\t\t\tendHour: _.last(hour),\r\n\t\t\tfilterType,\r\n\t\t\tcontrollers,\r\n\t\t\treportType: 'Report3g1w',\r\n\t\t\tuserId: user.id,\r\n\t\t\tusername\r\n\t\t}));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tHour range\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport3G1w.propTypes = {\r\n\tclassName: PropTypes.object\r\n};\r\n\r\nexport default Report3G1w;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Avatar, Card, Typography, Link } from '@mui/material';\r\nimport DownloadIcon from '@mui/icons-material/Download';\r\n\r\nimport gradients from 'utils/gradients';\r\n\r\nimport { DownloadFile } from 'actions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tcard: {\r\n\t\tcursor: 'pointer',\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tflexGrow: 1,\r\n\t\tdisplay: 'flex',\r\n\t\tpadding: theme.spacing(2),\r\n\t\talignItems: 'center',\r\n\t},\r\n\tdate: {\r\n\t\tmarginLeft: 'auto',\r\n\t\tflexShrink: 0,\r\n\t},\r\n\tavatarBlue: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t},\r\n\tavatarGreen: {\r\n\t\tbackgroundImage: gradients.green,\r\n\t},\r\n\tavatarOrange: {\r\n\t\tbackgroundImage: gradients.orange,\r\n\t},\r\n\tavatarRed: {\r\n\t\tbackgroundImage: gradients.red,\r\n\t},\r\n}));\r\n\r\nconst DownloadListItem = (props) => {\r\n\tconst { file, className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst avatars = {\r\n\t\tfinished: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\trunning: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t};\r\n\r\n\tconst _downloadFile = (subPath) => {\r\n\t\tdispatch(DownloadFile(subPath));\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{avatars[file.status === 'Finished' || file.status === 'Finished!' || file.status === 'Finish' ? 'finished' : 'running']}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t _downloadFile(file.subPath) : null}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{file.filename}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{file.key}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{file.status}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{moment(file.addedDate).format('DD-MM-YYYY HH:mm:SS').toString()}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDownloadListItem.propTypes = {\r\n\tfile: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default DownloadListItem;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nimport { DownloadListItem } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\ttitle: {\r\n\t\tmarginBottom: theme.spacing(3),\r\n\t\tmarginTop: theme.spacing(4),\r\n\t},\r\n\tgroup: {\r\n\t\t'& + &': {\r\n\t\t\tmarginTop: theme.spacing(4),\r\n\t\t},\r\n\t},\r\n\tfile: {\r\n\t\tposition: 'relative',\r\n\t\t'& + &': {\r\n\t\t\tmarginTop: theme.spacing(3),\r\n\t\t\t'&:before': {\r\n\t\t\t\tposition: 'absolute',\r\n\t\t\t\tcontent: '\" \"',\r\n\t\t\t\theight: 20,\r\n\t\t\t\twidth: 1,\r\n\t\t\t\ttop: -20,\r\n\t\t\t\tleft: 20,\r\n\t\t\t\tbackgroundColor: theme.palette.divider,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst DownloadList = (props) => {\r\n\tconst { files, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst todayItems = files.filter(item => moment(item.addedDate).isSame(moment(), 'day'));\r\n\tconst yesterdayItems = files.filter(item => moment(item.addedDate).isSame(moment().subtract(1, 'day'), 'day'));\r\n\tconst olderItems = files.filter(item => moment(item.addedDate).isBefore(moment().subtract(1, 'day'), 'day'));\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{todayItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tToday\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{todayItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{yesterdayItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tYesterday\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{yesterdayItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{olderItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOlder\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{olderItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDownloadList.propTypes = {\r\n\tfiles: PropTypes.array.isRequired,\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default DownloadList;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport { FetchDownloads } from 'actions';\r\nimport DownloadList from '../../../../Downloads/components/DownloadList';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst Downloads = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst files = useSelector(state => state.session.downloads);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(FetchDownloads(user.id, 'reportKpis'));\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nDownloads.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default Downloads;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Grid } from '@mui/material';\r\nimport ReportLastDate from '../ReportLastDate/ReportLastDate.js';\r\nimport Report3G1h from './components/Report3G1h/Report3G1h.js';\r\nimport Report3G16h from './components/Report3G16h/Report3G16h.js';\r\nimport Report3G1w from './components/Report3G1w/Report3G1w.js';\r\nimport Downloads from '../Downloads';\r\n\r\nconst Report3G = (props) => {\r\n\tconst reportsLastDates = useSelector(state => state.reportsReducer.reportsLastDates);\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Report3G;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport DateTimePicker from 'components/DatePicker/DateTimePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report4G1h = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst [date, setDate] = useState(moment());\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('UF');\r\n\tconst [vendor, setVendor] = useState('Huawei');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleDateTimeChange = (value) => {\r\n\t\tsetDate(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _handleVendorChange = (event) => {\r\n\t\tsetVendor(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\r\n\t\tconst filters = { startTime: date.utc(true), filterType, controllers, vendor, reportType: 'Report4g1h', userId: user.id, username };\r\n\t\tdispatch(GenerateReport(filters));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport4G1h.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default Report4G1h;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport DateTimePicker from 'components/DatePicker/DateTimePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\n\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report4G16h = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst [startTime, setStartTime] = useState(moment());\r\n\tconst [endTime, setEndTime] = useState(moment());\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('UF');\r\n\tconst [vendor, setVendor] = useState('Huawei');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleStartTimeChange = (value) => {\r\n\t\tsetStartTime(value);\r\n\t};\r\n\r\n\tconst _handleEndStartTimeChange = (value) => {\r\n\t\tsetEndTime(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _handleVendorChange = (event) => {\r\n\t\tsetVendor(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (endTime.diff(startTime, 'hours') > 24) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'Difference between dates cannot be superior to 24H', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (startTime > endTime) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be greater than EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\r\n\t\tconst filters = {\r\n\t\t\tstartTime: startTime.utc(true).format(),\r\n\t\t\tendTime: endTime.utc(true).format(),\r\n\t\t\tfilterType,\r\n\t\t\tcontrollers,\r\n\t\t\tvendor,\r\n\t\t\treportType: 'Report4g16h',\r\n\t\t\tuserId: user.id,\r\n\t\t\tusername\r\n\t\t};\r\n\r\n\t\tdispatch(GenerateReport(filters));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport4G16h.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default Report4G16h;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField,\r\n\tTypography,\r\n\tSlider\r\n} from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst marks = [\r\n\t{\r\n\t\tvalue: 0,\r\n\t\tlabel: '00h',\r\n\t},\r\n\t{\r\n\t\tvalue: 23,\r\n\t\tlabel: '23h',\r\n\t},\r\n];\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report4G1w = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst [startTime, setStartTime] = useState(moment());\r\n\tconst [endTime, setEndTime] = useState(moment().add(1, 'day'));\r\n\tconst [hour, setHour] = useState([6, 23]);\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('UF');\r\n\tconst [vendor, setVendor] = useState('Huawei');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleHourChange = (event, newValue) => {\r\n\t\tsetHour(newValue);\r\n\t};\r\n\r\n\tconst _valuetext = (value) => value;\r\n\r\n\tconst _handleStartTimeChange = (value) => {\r\n\t\tsetStartTime(value);\r\n\t};\r\n\r\n\tconst _handleEndStartTimeChange = (value) => {\r\n\t\tsetEndTime(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _handleVendorChange = (event) => {\r\n\t\tsetVendor(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (startTime > endTime) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be greater than EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (startTime.startOf('day').diff(endTime.startOf('day')) === 0) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be equal to EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\r\n\t\tconst filters = {\r\n\t\t\tstartTime: startTime.utc(true).startOf('day').format(),\r\n\t\t\tendTime: endTime.utc(true).startOf('day').format(),\r\n\t\t\tstarthour: _.first(hour),\r\n\t\t\tendhour: _.last(hour),\r\n\t\t\tfilterType,\r\n\t\t\tcontrollers,\r\n\t\t\tvendor,\r\n\t\t\treportType: 'Report4g1w',\r\n\t\t\tuserId: user.id,\r\n\t\t\tusername\r\n\t\t};\r\n\r\n\t\tdispatch(GenerateReport(filters));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tHour range\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport4G1w.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default Report4G1w;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Grid } from '@mui/material';\r\nimport ReportLastDate from '../ReportLastDate/ReportLastDate.js';\r\nimport Report4G1h from './components/Report4G1h/Report4G1h.js';\r\nimport Report4G16h from './components/Report4G16h/Report4G16h.js';\r\nimport Report4G1w from './components/Report4G1w/Report4G1w.js';\r\nimport Downloads from '../Downloads';\r\n\r\nconst Report4G = (props) => {\r\n\tconst reportsLastDates = useSelector(state => state.reportsReducer.reportsLastDates);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Report4G;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport DateTimePicker from 'components/DatePicker/DateTimePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report5G1h = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst [date, setDate] = useState(moment());\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('UF');\r\n\tconst [vendor, setVendor] = useState('Huawei');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleDateTimeChange = (value) => {\r\n\t\tsetDate(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _handleVendorChange = (event) => {\r\n\t\tsetVendor(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\r\n\t\tconst filters = { startTime: date.utc(true), filterType, controllers, vendor, reportType: 'Report5g1h', userId: user.id, username };\r\n\t\tdispatch(GenerateReport(filters));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport5G1h.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default Report5G1h;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport DateTimePicker from 'components/DatePicker/DateTimePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\n\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report5G16h = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst [startTime, setStartTime] = useState(moment());\r\n\tconst [endTime, setEndTime] = useState(moment());\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('UF');\r\n\tconst [vendor, setVendor] = useState('Huawei');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleStartTimeChange = (value) => {\r\n\t\tsetStartTime(value);\r\n\t};\r\n\r\n\tconst _handleEndStartTimeChange = (value) => {\r\n\t\tsetEndTime(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _handleVendorChange = (event) => {\r\n\t\tsetVendor(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (endTime.diff(startTime, 'hours') > 24) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'Difference between dates cannot be superior to 24H', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (startTime > endTime) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be greater than EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\r\n\t\tconst filters = {\r\n\t\t\tstartTime: startTime.utc(true).format(),\r\n\t\t\tendTime: endTime.utc(true).format(),\r\n\t\t\tfilterType,\r\n\t\t\tcontrollers,\r\n\t\t\tvendor,\r\n\t\t\treportType: 'Report5g16h',\r\n\t\t\tuserId: user.id,\r\n\t\t\tusername\r\n\t\t};\r\n\r\n\t\tdispatch(GenerateReport(filters));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport5G16h.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default Report5G16h;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField,\r\n\tTypography,\r\n\tSlider\r\n} from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker.js';\r\nimport { SelectField } from 'components';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { GenerateReport } from '../../../../../../actions/ReportsActions.js';\r\n\r\nconst marks = [\r\n\t{\r\n\t\tvalue: 0,\r\n\t\tlabel: '00h',\r\n\t},\r\n\t{\r\n\t\tvalue: 23,\r\n\t\tlabel: '23h',\r\n\t},\r\n];\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Report5G1w = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst [startTime, setStartTime] = useState(moment());\r\n\tconst [endTime, setEndTime] = useState(moment().add(1, 'day'));\r\n\tconst [hour, setHour] = useState([6, 23]);\r\n\tconst [controllers, setControllers] = useState();\r\n\tconst [filterType, setFilterType] = useState('UF');\r\n\tconst [vendor, setVendor] = useState('Huawei');\r\n\r\n\tconst _handleControllersChange = (event) => {\r\n\t\tsetControllers(event.target.value);\r\n\t};\r\n\r\n\tconst _handleHourChange = (event, newValue) => {\r\n\t\tsetHour(newValue);\r\n\t};\r\n\r\n\tconst _valuetext = (value) => value;\r\n\r\n\tconst _handleStartTimeChange = (value) => {\r\n\t\tsetStartTime(value);\r\n\t};\r\n\r\n\tconst _handleEndStartTimeChange = (value) => {\r\n\t\tsetEndTime(value);\r\n\t};\r\n\r\n\tconst _handleFilterTypeChange = (event) => {\r\n\t\tsetFilterType(event.target.value);\r\n\t};\r\n\r\n\tconst _handleVendorChange = (event) => {\r\n\t\tsetVendor(event.target.value);\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (startTime > endTime) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be greater than EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (startTime.startOf('day').diff(endTime.startOf('day')) === 0) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: \"StartTime can't be equal to EndTime\", options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\r\n\t\tconst filters = {\r\n\t\t\tstartTime: startTime.utc(true).startOf('day').format(),\r\n\t\t\tendTime: endTime.utc(true).startOf('day').format(),\r\n\t\t\tstarthour: _.first(hour),\r\n\t\t\tendhour: _.last(hour),\r\n\t\t\tfilterType,\r\n\t\t\tcontrollers,\r\n\t\t\tvendor,\r\n\t\t\treportType: 'Report5g1w',\r\n\t\t\tuserId: user.id,\r\n\t\t\tusername\r\n\t\t};\r\n\r\n\t\tdispatch(GenerateReport(filters));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tHour range\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nReport5G1w.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default Report5G1w;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Grid } from '@mui/material';\r\nimport ReportLastDate from '../ReportLastDate/ReportLastDate.js';\r\nimport Report5G1h from './components/Report5G1h/Report5G1h.js';\r\nimport Report5G16h from './components/Report5G16h/Report5G16h.js';\r\nimport Report5G1w from './components/Report5G1w/Report5G1w.js';\r\nimport Downloads from '../Downloads';\r\n\r\nconst Report5G = (props) => {\r\n\tconst reportsLastDates = useSelector(state => state.reportsReducer.reportsLastDates);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Report5G;\r\n","import React, { useEffect, useCallback, useState } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport Report3G from './components/Report3G/Report3G.js';\r\nimport Report4G from './components/Report4G/Report4G.js';\r\nimport Report5G from './components/Report5G/Report5G.js';\r\n\r\nimport { GetReportsLastDates } from '../../actions/ReportsActions.js';\r\n\r\nconst tabs = [\r\n\t{ value: 'report3G', label: 'Report 3G' },\r\n\t{ value: 'report4G', label: 'Report 4G' },\r\n\t{ value: 'report5G', label: 'Report 5G' },\r\n];\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Reports = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [tab, setTab] = useState('report3G');\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetReportsLastDates());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, []);\r\n\r\n\tconst handleTabsChange = (event, value) => {\r\n\t\tsetTab(value);\r\n\t};\r\n\r\n\tif (!tab) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!tabs.find((t) => t.value === tab)) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{tabs.map((t) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{tab === 'report3G' && }\r\n\t\t\t\t{tab === 'report4G' && }\r\n\t\t\t\t{tab === 'report5G' && }\r\n\t\t\t
\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nexport default Reports;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Avatar, Card, Typography, Link } from '@mui/material';\r\nimport UploadIcon from '@mui/icons-material/Upload';\r\n\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tcard: {\r\n\t\tcursor: 'pointer',\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tflexGrow: 1,\r\n\t\tdisplay: 'flex',\r\n\t\tpadding: theme.spacing(2),\r\n\t\talignItems: 'center',\r\n\t},\r\n\tdate: {\r\n\t\tmarginLeft: 'auto',\r\n\t\tflexShrink: 0,\r\n\t},\r\n\tavatarBlue: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t},\r\n\tavatarGreen: {\r\n\t\tbackgroundImage: gradients.green,\r\n\t},\r\n\tavatarOrange: {\r\n\t\tbackgroundImage: gradients.orange,\r\n\t},\r\n\tavatarRed: {\r\n\t\tbackgroundImage: gradients.red,\r\n\t},\r\n}));\r\n\r\nconst UploadListItem = (props) => {\r\n\tconst { file, className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst avatars = {\r\n\t\tfinished: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\trunning: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{avatars[file.status === 'Finished' || file.status === 'Finished!' || file.status === 'Finish' ? 'finished' : 'running']}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{file.filename}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{file.user}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{file.status}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{moment(file.addedDate).format('DD-MM-YYYY HH:mm:SS').toString()}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUploadListItem.propTypes = {\r\n\tfile: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default UploadListItem;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nimport { UploadListItem } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\ttitle: {\r\n\t\tmarginBottom: theme.spacing(3),\r\n\t\tmarginTop: theme.spacing(4),\r\n\t},\r\n\tgroup: {\r\n\t\t'& + &': {\r\n\t\t\tmarginTop: theme.spacing(4),\r\n\t\t},\r\n\t},\r\n\tfile: {\r\n\t\tposition: 'relative',\r\n\t\t'& + &': {\r\n\t\t\tmarginTop: theme.spacing(3),\r\n\t\t\t'&:before': {\r\n\t\t\t\tposition: 'absolute',\r\n\t\t\t\tcontent: '\" \"',\r\n\t\t\t\theight: 20,\r\n\t\t\t\twidth: 1,\r\n\t\t\t\ttop: -20,\r\n\t\t\t\tleft: 20,\r\n\t\t\t\tbackgroundColor: theme.palette.divider,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst UploadList = (props) => {\r\n\tconst { files, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst todayItems = files.filter(item => moment(item.addedDate).isSame(moment(), 'day'));\r\n\tconst yesterdayItems = files.filter(item => moment(item.addedDate).isSame(moment().subtract(1, 'day'), 'day'));\r\n\tconst olderItems = files.filter(item => moment(item.addedDate).isBefore(moment().subtract(1, 'day'), 'day'));\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{todayItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tToday\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{todayItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{yesterdayItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tYesterday\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{yesterdayItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{olderItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOlder\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{olderItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUploadList.propTypes = {\r\n\tfiles: PropTypes.array.isRequired,\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default UploadList;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ProcessFilesRequest = (fileLocation, userId, username) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}ReportKpis/ProcessFiles`,\r\n\tparams: { fileLocation, userId, username }\r\n});\r\n","import { enqueueSnackbar, UploadFile } from 'actions';\r\n\r\nimport {\r\n\tProcessFilesRequest\r\n} from '../requests/UploadsRequests.js';\r\n\r\nexport const ProcessFile = (fileLocation, userId, username) => async (dispatch) => {\r\n\tawait ProcessFilesRequest(fileLocation, userId, username).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Your file is being processed. You will be notified when finished!', options: { variant: 'info' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const Upload = (file, userId, username) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessFile(response.data, userId, username));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardContent, CardHeader, Grid } from '@mui/material';\r\nimport { Page, FilesDropzone, Header } from 'components';\r\nimport { enqueueSnackbar, FetchUploads } from 'actions';\r\nimport UploadList from '../../../Uploads/components/UploadList';\r\nimport { Upload } from '../../actions/UploadsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Uploads = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst files = useSelector(state => state.session.uploads);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(FetchUploads(user.id, 'reportKpis'));\r\n\t}, []);\r\n\r\n\tconst _upload = (file) => {\r\n\t\tif (file[0].size > 300000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 300MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(Upload(file[0], user.id, username));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Uploads;\r\n","import React, { Fragment, useRef, useState, memo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport {\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTooltip,\r\n\tIconButton,\r\n\tMenu,\r\n\tMenuItem,\r\n} from '@mui/material';\r\nimport MoreIcon from '@mui/icons-material/MoreVert';\r\nimport FullscreenIcon from '@mui/icons-material/Fullscreen';\r\nimport FileCopyIcon from '@mui/icons-material/FileCopy';\r\nimport PrintIcon from '@mui/icons-material/Print';\r\nimport PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';\r\nimport AchiveIcon from '@mui/icons-material/ArchiveOutlined';\r\n\r\nconst useStyles = makeStyles(() => ({}));\r\n\r\nconst OptionsButton = (props) => {\r\n\tconst { exportPdf, fullScreen } = props;\r\n\tconst classes = useStyles();\r\n\tconst moreRef = useRef(null);\r\n\tconst [openMenu, setOpenMenu] = useState(false);\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst handleMenuOpen = () => {\r\n\t\tsetOpenMenu(true);\r\n\t};\r\n\r\n\tconst handleMenuClose = () => {\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\tconst _exportPdf = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\texportPdf();\r\n\t};\r\n\r\n\tconst _fullScreen = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\tfullScreen();\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{exportPdf && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nOptionsButton.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\texportPdf: PropTypes.func,\r\n\tfullScreen: PropTypes.func\r\n};\r\n\r\nexport default memo(OptionsButton);\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider, colors } from '@mui/material';\r\nimport { FullScreen, useFullScreenHandle } from 'react-full-screen';\r\nimport { Header, Page, PowerBIDashboard } from 'components';\r\nimport TableauDashboard, { ShowExportPDFDialog } from '../../../../components/TableauDashboard/TableauDashboard.js';\r\nimport OptionsButton from './components/OptionsButton/OptionsButton.js';\r\nimport * as actions from '../../actions/DashboardInspectActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tdivider: {\r\n\t\tbackgroundColor: colors.grey[300],\r\n\t},\r\n\talert: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst DashboardInspect = (props) => {\r\n\tconst { match } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst handle = useFullScreenHandle();\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst dashboard = useSelector(state => state.dashboardInspectReducer.dashboard);\r\n\r\n\tconst _getDashboard = () => {\r\n\t\tdispatch(actions.DashboardInspect(match.params.id, user.id));\r\n\t};\r\n\r\n\tconst _exportPdf = () => {\r\n\t\tShowExportPDFDialog();\r\n\t};\r\n\r\n\tconst _fullScreen = () => {\r\n\t\thandle.enter();\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\t_getDashboard();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{dashboard.type === 'Tableau' ?
} /> : null}\r\n\t\t\t{dashboard.type === 'PowerBI' ?
} /> : null}\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{dashboard.type === 'Tableau' ? : null}\r\n\t\t\t\t\t{dashboard.type === 'PowerBI' ? : null}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nDashboardInspect.propTypes = {\r\n\tmatch: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default DashboardInspect;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tLink\r\n} from '@mui/material';\r\n\r\nimport { DataTable, CircularProgressWithLabel } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst ActivityDataTable = (props) => {\r\n\tconst { className, data, openActivityDetails, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'activityId',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'activityName',\r\n\t\t\t\tlabel: 'Activity',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => {\r\n\t\t\t\t\t\tconst { rowData } = tableMeta;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t { openActivityDetails(rowData[0]); }\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tunderline=\"hover\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{value}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'completion',\r\n\t\t\t\tlabel: 'Completion',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nActivityDataTable.propTypes = {\r\n\tclassName: PropTypes.object,\r\n\tdata: PropTypes.array,\r\n\topenActivityDetails: PropTypes.func,\r\n};\r\n\r\nexport default ActivityDataTable;\r\n","import React, { useRef, useState, memo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTooltip,\r\n\tIconButton,\r\n\tMenu,\r\n\tMenuItem,\r\n} from '@mui/material';\r\nimport { MoreVert, CloudDownload, PlaylistAddCheck, AddCircleOutline } from '@mui/icons-material';\r\n\r\nconst useStyles = makeStyles(() => ({}));\r\n\r\nconst ActionsButton = (props) => {\r\n\tconst { fullExport, fullImport, elementCreationTemplate, importCreationTemplate } = props;\r\n\tconst classes = useStyles();\r\n\tconst moreRef = useRef(null);\r\n\tconst [openMenu, setOpenMenu] = useState(false);\r\n\r\n\tconst handleMenuOpen = () => {\r\n\t\tsetOpenMenu(true);\r\n\t};\r\n\r\n\tconst handleMenuClose = () => {\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\tconst _fullExport = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\tfullExport();\r\n\t};\r\n\r\n\tconst _fullImport = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\tfullImport();\r\n\t};\r\n\r\n\tconst _elementCreationTemplate = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\telementCreationTemplate();\r\n\t};\r\n\r\n\tconst _importCreationTemplate = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\timportCreationTemplate();\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nActionsButton.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tfullExport: PropTypes.func,\r\n\tfullImport: PropTypes.func,\r\n\telementCreationTemplate: PropTypes.func,\r\n\timportCreationTemplate: PropTypes.func\r\n};\r\n\r\nexport default memo(ActionsButton);\r\n","import React, { useEffect, useCallback, useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { Page, Header } from 'components';\r\nimport ActivityDataTable from './components/ActivityDataTable.js';\r\nimport ActionsButton from './components/ActionsButton.js';\r\nimport { GetActivities, FullExport, GetElementCreationTemplate, UploadElementCreation, UploadImportExport } from '../../actions/ActivityViewActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst ActivityView = () => {\r\n\tconst classes = useStyles();\r\n\tconst { history } = useRouter();\r\n\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst activities = useSelector(state => state.activityViewReducer.activities);\r\n\tconst inputFile = useRef(null);\r\n\tconst [importType, setImportType] = useState();\r\n\r\n\tconst _getActivities = useCallback(() => {\r\n\t\tdispatch(GetActivities());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getActivities();\r\n\t}, [_getActivities]);\r\n\r\n\tconst _openActivityDetails = (id) => {\r\n\t\thistory.push(`/tracker/activitydetails/${id}`);\r\n\t};\r\n\r\n\tconst _fullExport = () => {\r\n\t\tdispatch(FullExport());\r\n\t};\r\n\r\n\tconst _fullImport = () => {\r\n\t\tsetImportType('fullImport');\r\n\t\tinputFile.current.click();\r\n\t};\r\n\r\n\tconst _elementCreationTemplate = () => {\r\n\t\tdispatch(GetElementCreationTemplate('Files/Templates/Tracker/ElementCreationTemplate.xlsx'));\r\n\t};\r\n\r\n\tconst _importCreationTemplate = () => {\r\n\t\tsetImportType('importCreationTemplate');\r\n\t\tinputFile.current.click();\r\n\t};\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tconst { id } = user;\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tif (importType === 'importCreationTemplate') {\r\n\t\t\t\tdispatch(UploadElementCreation(id, file));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(UploadImportExport(id, file));\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line no-param-reassign\r\n\t\tevent.target.value = null;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{/* {openAddEditUserDialog && } */}\r\n\t\t\t { inputFile.current = ref; }}\r\n\t\t\t\tonChange={_onChangeInput}\r\n\t\t\t\tstyle={{ display: 'none' }}\r\n\t\t\t/>\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nexport default ActivityView;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tLink\r\n} from '@mui/material';\r\n\r\nimport DataTable from '../../../../../components/DataTable/DataTable.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst ActivityDetailsDataTable = (props) => {\r\n\tconst { className, id, data, activityTasks, openTaskDetails, userId, changeColumnVisibility, visibleColumns, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element',\r\n\t\t\t\tlabel: 'Element',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t...activityTasks.map((item, index) => ({\r\n\t\t\t\tname: `${item.activityTaskId}`,\r\n\t\t\t\tlabel: item.taskName,\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: (!(index > 10) && visibleColumns && visibleColumns.length === 0) || _.contains(visibleColumns, `${item.activityTaskId}`),\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => {\r\n\t\t\t\t\t\tconst { rowData } = tableMeta;\r\n\t\t\t\t\t\tconst element = _.find(data, el => el.element === rowData[1]);\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t { openTaskDetails(element[`elementTaskId_${item.activityTaskId}`]); }\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tunderline=\"hover\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{value}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}))\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\t// rowsExpanded,\r\n\t\t// expandableRows: activityTasks.length > 10, // Try Adding This\r\n\t\t// renderExpandableRow: (rowData, rowMeta) => {\r\n\t\t// \tconst element = _.find(data, item => item.element === rowData[1]);\r\n\t\t// \treturn (\r\n\t\t// \t\t\r\n\t\t// \t\t\t\r\n\t\t// \t\t\t\t\r\n\t\t// \t\t\t\t\t{activityTasks.slice(11).map(item => (\r\n\t\t// \t\t\t\t\t\t\r\n\t\t// \t\t\t\t\t\t\t\r\n\t\t// \t\t\t\t\t\t\t\t{item.taskName}\r\n\t\t// \t\t\t\t\t\t\t\r\n\t\t// \t\t\t\t\t\t\t\r\n\t\t// \t\t\t\t\t\t\t\t { openTaskDetails(element[`elementTaskId_${item.taskId}`]); }\r\n\t\t// \t\t\t\t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t\t\t\t>\r\n\t\t// \t\t\t\t\t\t\t\t\t{element[item.taskId]}\r\n\t\t// \t\t\t\t\t\t\t\t\r\n\t\t// \t\t\t\t\t\t\t\r\n\t\t// \t\t\t\t\t\t\r\n\t\t// \t\t\t\t\t)\r\n\t\t// \t\t\t\t\t)}\r\n\t\t// \t\t\t\t\r\n\t\t// \t\t\t\r\n\t\t// \t\t\r\n\t\t// \t);\r\n\t\t// },\r\n\t\t// onRowsExpand: (currentRowsExpanded, allRowsExpanded) => {\r\n\t\t// \tconst expanded = allRowsExpanded.map(\r\n\t\t// \t\titem => item.index\r\n\t\t// \t);\r\n\r\n\t\t// \t/* if (expanded.length > 1) {\r\n\t\t// \t\t\t\t\t\t// limiting would go here\r\n\t\t// \t\t\t\t\t\texpanded = expanded.slice(-1);\r\n\t\t// \t\t} */\r\n\t\t// \tsetRowsExpanded(expanded);\r\n\t\t// }\r\n\t\tonViewColumnsChange: (changedColumn, action) => {\r\n\t\t\tconst changeColumn = { userId, datatableId: id, columnId: changedColumn, action };\r\n\t\t\tchangeColumnVisibility(changeColumn);\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nActivityDetailsDataTable.propTypes = {\r\n\tclassName: PropTypes.object,\r\n\tid: PropTypes.string,\r\n\tdata: PropTypes.array,\r\n\tactivityTasks: PropTypes.array,\r\n\topenTaskDetails: PropTypes.func,\r\n\tuserId: PropTypes.string,\r\n\tchangeColumnVisibility: PropTypes.func,\r\n\tvisibleColumns: PropTypes.array\r\n};\r\n\r\nexport default ActivityDetailsDataTable;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { Page, Header } from 'components';\r\nimport ActivityDetailsDataTable from './components/ActivityDetailsDataTable';\r\nimport { GetActivity, GetActivityElements, ChangeColumnVisibility } from '../../actions/ActivityViewActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst ActivityDetails = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { history } = useRouter();\r\n\tconst { match } = props;\r\n\tconst { params } = match;\r\n\tconst { id } = params;\r\n\tconst dispatch = useDispatch();\r\n\tconst activity = useSelector(state => state.activityViewReducer.activity);\r\n\tconst activityElements = useSelector(state => state.activityViewReducer.activityElements);\r\n\tconst visibleColumns = useSelector(state => state.activityViewReducer.visibleColumns);\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _getData = useCallback(() => {\r\n\t\tdispatch(GetActivity(user.id, id));\r\n\t\tdispatch(GetActivityElements(id));\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getData();\r\n\t}, [_getData]);\r\n\r\n\tconst _openTaskDetails = (taskId) => {\r\n\t\thistory.push(`/tracker/taskdetails/${taskId}`);\r\n\t};\r\n\r\n\tconst _changeColumnVisibility = (changeColumn) => {\r\n\t\tdispatch(ChangeColumnVisibility(changeColumn));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tlet object = { element: item.element };\r\n\t\t\t\t\t\t\titem.activityElementTasks.map(element => {\r\n\t\t\t\t\t\t\t\tobject = { ...object, [element.activityTaskId.toString()]: element.statusName, [`elementTaskId_${element.activityTaskId}`]: element.elementTaskId };\r\n\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\treturn object;\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\tactivityTasks={(activity && activity.tasks) || []}\r\n\t\t\t\t\t\topenTaskDetails={_openTaskDetails}\r\n\t\t\t\t\t\tuserId={user.id}\r\n\t\t\t\t\t\tchangeColumnVisibility={_changeColumnVisibility}\r\n\t\t\t\t\t\tvisibleColumns={visibleColumns}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{/* {openAddEditUserDialog && } */}\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nActivityDetails.propTypes = {\r\n\tmatch: PropTypes.object,\r\n};\r\n\r\nexport default ActivityDetails;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors, List, ListItem, ListItemText, Typography,\r\n\tIconButton,\r\n\tInput,\r\n\tPaper,\r\n\tTooltip,\r\n} from '@mui/material';\r\n\r\nimport SendIcon from '@mui/icons-material/Send';\r\n\r\nimport { PostElementTaskComment } from '../../../../../actions/ActivityViewActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n\tpaper: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: theme.spacing(0.5, 2),\r\n\t},\r\n\tinput: {\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst Comments = (props) => {\r\n\tconst { className, elementTaskId, comments, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [commentValue, setCommentValue] = useState('');\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _handleCommentInputChange = (event) => {\r\n\t\tlet comment = event.target.value;\r\n\t\tcomment = comment.trim();\r\n\t\tif (comment.length > 0) {\r\n\t\t\tsetCommentValue(event.target.value);\r\n\t\t}\r\n\t};\r\n\r\n\tconst _postComment = () => {\r\n\t\tdispatch(PostElementTaskComment(elementTaskId, user.id, commentValue));\r\n\t\tsetCommentValue('');\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{comments && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{comments.length > 0 ? comments.map(comment => (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{`${comment.username} at ${moment(comment.date).format('DD-MM-YYYY HH:mm:ss').toString()}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{comment.comment}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNo comments added\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t 0 ? 'primary' : 'default'}\r\n\t\t\t\t\t\tdisabled={!commentValue.length > 0}\r\n\t\t\t\t\t\tonClick={_postComment}\r\n\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nComments.propTypes = {\r\n\tclassName: PropTypes.object,\r\n\telementTaskId: PropTypes.number,\r\n\tcomments: PropTypes.array\r\n};\r\n\r\nexport default Comments;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport { DatePicker, SelectField } from 'components';\r\n\r\nimport { SetFormState, SaveElementTaskDetails } from '../../../../../actions/ActivityViewActions.js';\r\n\r\nconst schema = {\r\n\tfield: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst DetailsForm = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.activityViewReducer.formState);\r\n\tconst task = useSelector((state) => state.activityViewReducer.task);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst elementTask = useSelector((state) => state.activityViewReducer.elementTask);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, picker) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[picker]: value\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[picker]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _save = () => {\r\n\t\tconst values = { ...formState.values, userId: user.id };\r\n\t\tdispatch(SaveElementTaskDetails(values));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'requestDate')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'receiveDate')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'sendDate')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'date')} />\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSave\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nDetailsForm.propTypes = {\r\n\tclassName: PropTypes.object,\r\n};\r\n\r\nexport default DetailsForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Grid } from '@mui/material';\r\nimport Comments from './components/Comments.js';\r\nimport DetailsForm from './components/DetailsForm.js';\r\n\r\nconst Details = (props) => {\r\n\tconst { comments, details } = props;\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nDetails.propTypes = {\r\n\tdetails: PropTypes.object,\r\n\tcomments: PropTypes.array,\r\n};\r\n\r\nexport default Details;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { Grid, List, ListItem, Divider, ListItemText, Typography } from '@mui/material';\r\n\r\nconst History = (props) => {\r\n\tconst { history } = props;\r\n\r\n\tconst [selectedIndex, setSelectedIndex] = useState(0);\r\n\tconst selectedRow = selectedIndex !== null && history ? history[selectedIndex] : null;\r\n\r\n\tconst _onSelectRow = (index) => {\r\n\t\tsetSelectedIndex(index);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{history.map((data, index) => (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t _onSelectRow(index)}\r\n\t\t\t\t\t\t\t\tselected={selectedIndex === index}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{data.field.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/([A-Z])([A-Z][a-z])/g, '$1 $2').trim()}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{moment(data.date).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{selectedRow && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tField Changed:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selectedRow.field.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/([A-Z])([A-Z][a-z])/g, '$1 $2').trim()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tNew value:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selectedRow.newValue}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tOld value:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selectedRow.oldValue}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tWhen:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{moment(selectedRow.date).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tBy:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selectedRow.userName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHistory.propTypes = {\r\n\thistory: PropTypes.array,\r\n};\r\n\r\nexport default History;\r\n","import React, { useEffect, useCallback, useState } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport Details from './components/Details/Details.js';\r\nimport History from './components/History/History.js';\r\n// import Files from './components/Files/Files.js';\r\n\r\nimport { GetTask, GetElementTask } from '../../actions/ActivityViewActions';\r\n\r\nconst tabs = [\r\n\t{ value: 'details', label: 'Details' },\r\n\t/* { value: 'files', label: 'Files' }, */\r\n\t{ value: 'history', label: 'History' },\r\n];\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TaskDetails = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { match } = props;\r\n\tconst { params } = match;\r\n\tconst { id } = params;\r\n\tconst dispatch = useDispatch();\r\n\tconst elementTask = useSelector((state) => state.activityViewReducer.elementTask);\r\n\tconst task = useSelector((state) => state.activityViewReducer.task);\r\n\tconst [tab, setTab] = useState('details');\r\n\r\n\tconst _getData = useCallback(() => {\r\n\t\tdispatch(GetTask(id));\r\n\t\tdispatch(GetElementTask(id));\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getData();\r\n\t}, [_getData]);\r\n\r\n\tconst _handleTabsChange = (event, value) => {\r\n\t\tsetTab(value);\r\n\t};\r\n\r\n\tif (!tab) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!tabs.find((t) => t.value === tab)) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{tabs.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{tab === 'details' &&
}\r\n\t\t\t\t{/* {tab === 'files' && } */}\r\n\t\t\t\t{tab === 'history' && }\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nTaskDetails.propTypes = {\r\n\tmatch: PropTypes.object\r\n};\r\n\r\nexport default TaskDetails;\r\n","import React, { useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tLink,\r\n\tGrid,\r\n\tTableRow,\r\n\tTableCell,\r\n} from '@mui/material';\r\n\r\nimport { CircularProgressWithLabel, DataTable } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst ElementDataTable = (props) => {\r\n\tconst { className, data, activities, openActivityDetails, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst [rowsExpanded, setRowsExpanded] = useState();\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element',\r\n\t\t\t\tlabel: 'Element',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t...activities.map((item, index) => ({\r\n\t\t\t\tname: `activity_${item.activityId}`,\r\n\t\t\t\tlabel: item.activityName,\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: !(index > 10),\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => {\r\n\t\t\t\t\t\tconst { rowData } = tableMeta;\r\n\t\t\t\t\t\tconst element = _.find(data, el => el.element === rowData[1]);\r\n\t\t\t\t\t\treturn value && (\r\n\t\t\t\t\t\t\t { openActivityDetails(item.activityId); }\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tunderline=\"hover\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})),\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\trowsExpanded,\r\n\t\texpandableRows: activities.length > 10, // Try Adding This\r\n\t\trenderExpandableRow: (rowData, rowMeta) => {\r\n\t\t\tconst element = _.find(data, el => el.element === rowData[1]);\r\n\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{activities.slice(10).map(item => (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{item.activityName}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{element[`activity_${item.activityId}`] && (\r\n\t\t\t\t\t\t\t\t\t\t\t { openActivityDetails(item.activityId); }\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tunderline=\"hover\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\tonRowsExpand: (currentRowsExpanded, allRowsExpanded) => {\r\n\t\t\tconst expanded = allRowsExpanded.map(\r\n\t\t\t\titem => item.index\r\n\t\t\t);\r\n\r\n\t\t\t/* if (expanded.length > 1) {\r\n\t\t\t\t\t\t\t\t// limiting would go here\r\n\t\t\t\t\t\t\t\texpanded = expanded.slice(-1);\r\n\t\t\t\t} */\r\n\t\t\tsetRowsExpanded(expanded);\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nElementDataTable.propTypes = {\r\n\tclassName: PropTypes.object,\r\n\tdata: PropTypes.array,\r\n\tactivities: PropTypes.array,\r\n\topenActivityDetails: PropTypes.func,\r\n};\r\n\r\nexport default ElementDataTable;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { Page, Header } from 'components';\r\nimport ElementDataTable from './components/ElementDataTable.js';\r\n// import AddEditUsersDialog from './components/AddEditUserDialog/AddEditUserDialog.js'\r\nimport { GetActivities, GetElementTaskCompletion } from '../../actions/ElementViewActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst ElementView = () => {\r\n\tconst classes = useStyles();\r\n\tconst { history } = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst activities = useSelector(state => state.elementViewReducer.activities);\r\n\tconst elementTaskCompletion = useSelector(state => state.elementViewReducer.elementTaskCompletion);\r\n\r\n\tconst _getData = useCallback(() => {\r\n\t\tdispatch(GetActivities());\r\n\t\tdispatch(GetElementTaskCompletion());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getData();\r\n\t}, [_getData]);\r\n\r\n\tconst _openActivityDetails = (id) => {\r\n\t\thistory.push(`/tracker/activitydetails/${id}`);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tlet object = { element: item.element };\r\n\t\t\t\t\t\t\titem.activities.map(element => {\r\n\t\t\t\t\t\t\t\tobject = { ...object, [`activity_${element.activityId}`]: element.completion };\r\n\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\treturn object;\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\tactivities={activities}\r\n\t\t\t\t\t\topenActivityDetails={_openActivityDetails}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{/* {openAddEditUserDialog && } */}\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nexport default ElementView;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetActivitiesRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/GetActivities`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GetElementTaskCompletionRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tracker/GetElementTaskCompletion`,\r\n\tparams: {}\r\n});\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ImportFileRequest = (fileLocation) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Builder/ImportFile`,\r\n\tparams: { fileLocation }\r\n});\r\n","import React, { useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardContent, Popover, Table, TableCell, TableBody, TableHead, TableRow, Typography } from '@mui/material';\r\nimport { FilesDropzone, Alert } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport uuid from 'uuid/v1';\r\n\r\nimport { Upload } from '../../actions/ImportActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1),\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none',\r\n\t},\r\n}));\r\n\r\nconst acceptedFiles = [\r\n\t{ type: 'Unison', filename: '*a2G*', tech: '2G', fileformat: '.csv' },\r\n\t{ type: 'Unison', filename: '*a3G*', tech: '3G', fileformat: '.csv' },\r\n\t{ type: 'Unison', filename: '*4G_Commissioning*', tech: '4G', fileformat: '.csv' },\r\n\t{ type: 'Unison', filename: '*5G_Commissioning*', tech: '5G', fileformat: '.csv' },\r\n\t{ type: 'Cramer', filename: '*CommissioningReport_2G*', tech: '2G', fileformat: '.xls/xlsx' },\r\n\t{ type: 'Cramer', filename: '*CommissioningReport_3G*', tech: '3G', fileformat: '.xls/xlsx' },\r\n\t{ type: 'Cramer', filename: '*CommissioningReport_4G*', tech: '4G', fileformat: '.xls/xlsx' },\r\n\t{ type: 'Cramer', filename: '*CommissioningReport_5G*', tech: '5G', fileformat: '.xls/xlsx' },\r\n\t{ type: 'Parenting', filename: '*Parenting*', tech: 'n/a', fileformat: '.xlsx' },\r\n\t{ type: 'ExtraData', filename: '*ExtraData*', tech: 'n/a', fileformat: '.xlsx' }\r\n];\r\n\r\nconst Import = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [anchorEl, setAnchorEl] = useState(null);\r\n\tconst open = Boolean(anchorEl);\r\n\r\n\tconst handlePopoverOpen = (event) => {\r\n\t\tsetAnchorEl(event.currentTarget);\r\n\t};\r\n\r\n\tconst handlePopoverClose = () => {\r\n\t\tsetAnchorEl(null);\r\n\t};\r\n\r\n\tconst _upload = (file) => {\r\n\t\tif (file[0].size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(Upload(file[0]));\r\n\t};\r\n\r\n\treturn (\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tType\r\n\t\t\t\t\t\t\tFile Name\r\n\t\t\t\t\t\t\tTech\r\n\t\t\t\t\t\t\tFile Format\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{acceptedFiles.map((row) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{row.type}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{row.filename}\r\n\t\t\t\t\t\t\t\t{row.tech}\r\n\t\t\t\t\t\t\t\t{row.fileformat}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Import;\r\n","import { enqueueSnackbar, UploadFile } from 'actions';\r\n\r\nimport {\r\n\tImportFileRequest\r\n} from '../requests/ImportRequests.js';\r\n\r\nexport const ImportFile = (fileLocation) => async (dispatch) => {\r\n\tawait ImportFileRequest(fileLocation).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Files uploaded with success!', options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const Upload = (file) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ImportFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tIconButton,\r\n\tTooltip,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport SaveIcon from '@mui/icons-material/Save';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport { DataTable } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst DataTable2G = (props) => {\r\n\tconst { className, data, editValue, updateSelectedRows, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _editValue = (id, rowData) => {\r\n\t\tconst row = _.findWhere(data, { id });\r\n\t\tconst newRow = { ...row, bcch: rowData[11], bsic: rowData[12], tcHs: rowData[13] };\r\n\t\teditValue(newRow, '2g');\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t _editValue(rowData[0], rowData)} className={classes.primaryButton}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'controllerName',\r\n\t\t\t\tlabel: 'BSC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'nodeName',\r\n\t\t\t\tlabel: 'Node Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'band',\r\n\t\t\t\tlabel: 'Cell Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operatorName',\r\n\t\t\t\tlabel: 'Operator',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'sectorCarrier',\r\n\t\t\t\tlabel: 'Sector Carrier',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => {\r\n\t\t\t\t\t\tconst { rowData } = tableMeta;\r\n\t\t\t\t\t\tconst row = _.findWhere(data, { id: rowData[0] });\r\n\t\t\t\t\t\treturn `S${row.sector}_C${row.carrier}`;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operatorMCC',\r\n\t\t\t\tlabel: 'MCC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operatorMNC',\r\n\t\t\t\tlabel: 'MNC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'lac',\r\n\t\t\t\tlabel: 'LAC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'cellId',\r\n\t\t\t\tlabel: 'CellId',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'bcch',\r\n\t\t\t\tlabel: 'BCCH',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'bsic',\r\n\t\t\t\tlabel: 'BSIC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'tcHs',\r\n\t\t\t\tlabel: 'TCHs',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'hopping',\r\n\t\t\t\tlabel: 'Hopping',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'rac',\r\n\t\t\t\tlabel: 'RAC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'tg',\r\n\t\t\t\tlabel: 'TG',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'edited',\r\n\t\t\t\tlabel: 'Edited',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: 'multiple',\r\n\t\texpandableRows: false, // Try Adding This\r\n\t\tfilter: false,\r\n\t\tsearch: false,\r\n\t\tresponsive: 'scrollFullHeight',\r\n\t\tpagination: false,\r\n\t\tselectableRowsHeader: true,\r\n\t\tselectToolbarPlacement: 'none'\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t {\r\n\t\t\t\t\tupdateSelectedRows(selectedRows, '2g');\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDataTable2G.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\teditValue: PropTypes.func,\r\n\tupdateSelectedRows: PropTypes.func\r\n};\r\n\r\nexport default DataTable2G;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tIconButton,\r\n\tTooltip,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport SaveIcon from '@mui/icons-material/Save';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport { DataTable } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst DataTable3G = (props) => {\r\n\tconst { className, data, editValue, updateSelectedRows, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _editValue = (id, rowData) => {\r\n\t\tconst row = _.findWhere(data, { id });\r\n\t\tconst newRow = { ...row, psc: rowData[14], rac: rowData[15], ura: rowData[16] };\r\n\t\teditValue(newRow, '3g');\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t _editValue(rowData[0], rowData)} className={classes.primaryButton}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'controllerName',\r\n\t\t\t\tlabel: 'RNC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'nodeName',\r\n\t\t\t\tlabel: 'Node Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'band',\r\n\t\t\t\tlabel: 'Cell Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operatorName',\r\n\t\t\t\tlabel: 'Operator',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'cellSector',\r\n\t\t\t\tlabel: 'Sector Carrier',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operatorMCC',\r\n\t\t\t\tlabel: 'MCC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operatorMNC',\r\n\t\t\t\tlabel: 'MNC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'lac',\r\n\t\t\t\tlabel: 'LAC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'sac',\r\n\t\t\t\tlabel: 'SAC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'cellId',\r\n\t\t\t\tlabel: 'CellId',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'ulFrequency',\r\n\t\t\t\tlabel: 'UL UARFCN',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'dlFrequency',\r\n\t\t\t\tlabel: 'DL UARFCN',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'psc',\r\n\t\t\t\tlabel: 'PSC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'rac',\r\n\t\t\t\tlabel: 'RAC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'ura',\r\n\t\t\t\tlabel: 'URA',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'edited',\r\n\t\t\t\tlabel: 'Edited',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: 'multiple',\r\n\t\texpandableRows: false, // Try Adding This\r\n\t\tfilter: false,\r\n\t\tsearch: false,\r\n\t\tresponsive: 'scrollFullHeight',\r\n\t\tpagination: false,\r\n\t\tselectableRowsHeader: true,\r\n\t\tselectToolbarPlacement: 'none'\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t {\r\n\t\t\t\t\tupdateSelectedRows(selectedRows, '3g');\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDataTable3G.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\teditValue: PropTypes.func,\r\n\tupdateSelectedRows: PropTypes.func\r\n};\r\n\r\nexport default DataTable3G;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tIconButton,\r\n\tTooltip,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport SaveIcon from '@mui/icons-material/Save';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport { DataTable } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst DataTable4G = (props) => {\r\n\tconst { className, data, editValue, updateSelectedRows, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _editValue = (id, rowData) => {\r\n\t\tconst row = _.findWhere(data, { id });\r\n\t\tconst newRow = { ...row, tac: rowData[6], pci: rowData[7], pss: rowData[8], sss: rowData[9], rsi: rowData[10] };\r\n\t\teditValue(newRow, '4g');\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t _editValue(rowData[0], rowData)} className={classes.primaryButton}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'cellId',\r\n\t\t\t\tlabel: 'CellId',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operatorName',\r\n\t\t\t\tlabel: 'Operator',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'nodeName',\r\n\t\t\t\tlabel: 'Node Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'tac',\r\n\t\t\t\tlabel: 'TAC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'pci',\r\n\t\t\t\tlabel: 'PCI',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'pss',\r\n\t\t\t\tlabel: 'PSS',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'sss',\r\n\t\t\t\tlabel: 'SSS',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'rsi',\r\n\t\t\t\tlabel: 'RSI',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'edited',\r\n\t\t\t\tlabel: 'Edited',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: 'multiple',\r\n\t\texpandableRows: false, // Try Adding This\r\n\t\tfilter: false,\r\n\t\tsearch: false,\r\n\t\tresponsive: 'scrollFullHeight',\r\n\t\tpagination: false,\r\n\t\tselectableRowsHeader: true,\r\n\t\tselectToolbarPlacement: 'none'\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t {\r\n\t\t\t\t\tupdateSelectedRows(selectedRows, '4g');\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDataTable4G.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\teditValue: PropTypes.func,\r\n\tupdateSelectedRows: PropTypes.func\r\n};\r\n\r\nexport default DataTable4G;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tIconButton,\r\n\tTooltip,\r\n\tTextField\r\n} from '@mui/material';\r\n\r\nimport SaveIcon from '@mui/icons-material/Save';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport { DataTable } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst DataTable5G = (props) => {\r\n\tconst { className, data, editValue, updateSelectedRows, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _editValue = (id, rowData) => {\r\n\t\tconst row = _.findWhere(data, { id });\r\n\t\tconst newRow = { ...row, tac: rowData[6], pci: rowData[7], pss: rowData[8], sss: rowData[9], rsi: rowData[10] };\r\n\t\teditValue(newRow, '5g');\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t _editValue(rowData[0], rowData)} className={classes.primaryButton}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'cellId',\r\n\t\t\t\tlabel: 'CellId',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operatorName',\r\n\t\t\t\tlabel: 'Operator',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'nodeName',\r\n\t\t\t\tlabel: 'Node Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'tac',\r\n\t\t\t\tlabel: 'TAC',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'pci',\r\n\t\t\t\tlabel: 'PCI',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'pss',\r\n\t\t\t\tlabel: 'PSS',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'sss',\r\n\t\t\t\tlabel: 'SSS',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'rsi',\r\n\t\t\t\tlabel: 'RSI',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tupdateValue(event.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'edited',\r\n\t\t\t\tlabel: 'Edited',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: 'multiple',\r\n\t\texpandableRows: false, // Try Adding This\r\n\t\tfilter: false,\r\n\t\tsearch: false,\r\n\t\tresponsive: 'scrollFullHeight',\r\n\t\tpagination: false,\r\n\t\tselectableRowsHeader: true,\r\n\t\tselectToolbarPlacement: 'none'\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t {\r\n\t\t\t\t\tupdateSelectedRows(selectedRows, '5g');\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDataTable5G.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\teditValue: PropTypes.func,\r\n\tupdateSelectedRows: PropTypes.func\r\n};\r\n\r\nexport default DataTable5G;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardHeader, CardContent, TextField, Grid, Button, colors, Autocomplete } from '@mui/material';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\n\r\nimport DataTable2G from './components/DataTable2G';\r\nimport DataTable3G from './components/DataTable3G';\r\nimport DataTable4G from './components/DataTable4G';\r\nimport DataTable5G from './components/DataTable5G';\r\n\r\nimport { GetSites, SetSelected, GetSite, EditValue, UpdateSelectedRows, RunAlgoPlan, CreateScripts } from '../../actions/PlanningActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1),\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none',\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Planning = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst sites = useSelector(state => state.planningReducer.sites);\r\n\tconst selected = useSelector(state => state.planningReducer.selected);\r\n\tconst site = useSelector(state => state.planningReducer.site);\r\n\tconst selectedRows = useSelector(state => state.planningReducer.selectedRows);\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _setSelected = (value) => {\r\n\t\tdispatch(SetSelected(value));\r\n\t};\r\n\r\n\tconst _getSite = () => {\r\n\t\tdispatch(GetSite(selected.siteId));\r\n\t};\r\n\r\n\tconst _editValue = (data, tech) => {\r\n\t\tdispatch(EditValue(data, tech));\r\n\t};\r\n\r\n\tconst _plan = () => {\r\n\t\t// dispatch(RunAlgoPlan(selected.siteId));\r\n\t};\r\n\r\n\tconst _scripts = () => {\r\n\t\tdispatch(CreateScripts(selectedRows, 'tfbr-ericsson-commissioning', user.id));\r\n\t};\r\n\r\n\tconst _getData = useCallback(() => {\r\n\t\tdispatch(GetSites());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getData();\r\n\t}, [_getData]);\r\n\r\n\tconst _updateSelectedRows = (updatedSelectedRows, tech) => {\r\n\t\tdispatch(UpdateSelectedRows(updatedSelectedRows, tech));\r\n\t};\r\n\r\n\treturn (\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t option.siteId}\r\n\t\t\t\t\t\t\t\trenderInput={(params) => }\r\n\t\t\t\t\t\t\t\tonChange={(event, value) => { _setSelected(value); }}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{site && }\r\n\t\t\t{site && }\r\n\t\t\t{site && }\r\n\t\t\t{site && }\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Planning;\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n\tIconButton,\r\n\tTooltip,\r\n} from '@mui/material';\r\n\r\nimport GetAppIcon from '@mui/icons-material/GetApp';\r\nimport BackupIcon from '@mui/icons-material/Backup';\r\nimport { Label, DataTable } from 'components';\r\n\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\tsecondaryButton: {\r\n\t\tcolor: colors.green[800]\r\n\t},\r\n}));\r\n\r\nconst DataTableScripting = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\r\n\tconst _onDownloadScripts = (url) => {\r\n\t\twindow.location.href = url;\r\n\t};\r\n\r\n\tconst _onDownloadBuilderInputFiles = (url) => {\r\n\t\tdispatch(DownloadFile(url));\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t _onDownloadBuilderInputFiles(rowData[8])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t _onDownloadScripts(rowData[7])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'registerDate',\r\n\t\t\t\tlabel: 'Register Date',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'userName',\r\n\t\t\t\tlabel: 'User Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'fileName',\r\n\t\t\t\tlabel: 'File Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Operation',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'status',\r\n\t\t\t\tlabel: 'Status',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value) => {\r\n\t\t\t\t\t\tif (value !== null) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'actions',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'urlBuilder',\r\n\t\t\t\tlabel: 'Url Builder',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'inputZipPath',\r\n\t\t\t\tlabel: 'Input Zip Path',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t\tfilter: false,\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t item.registerDate).reverse() : []}\r\n\t\t\t\tcolumns={_getTableColumns()}\r\n\t\t\t\trowsPerPage={10}\r\n\t\t\t\ttableBodyMaxHeight=\"30em\"\r\n\t\t\t\toptions={_getTableOptions()}\r\n\t\t\t/>\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDataTableScripting.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default DataTableScripting;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardHeader, CardContent, TextField, Grid, Button, Autocomplete } from '@mui/material';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\n\r\nimport DataTableScripting from './components/DataTableScripting';\r\n\r\nimport { GetScripts } from '../../actions/ScriptingActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1),\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none',\r\n\t},\r\n}));\r\n\r\nconst Scripting = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst scripts = useSelector(state => state.scriptingReducer.scripts);\r\n\r\n\tconst _getScripts = useCallback(() => {\r\n\t\tdispatch(GetScripts());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getScripts();\r\n\t}, [_getScripts]);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Scripting;\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tGetScriptsRequest\r\n} from '../requests/ScriptingRequests.js';\r\n\r\nexport const GET_SCRIPTS = 'GET_SCRIPTS';\r\n\r\nconst onGetScripts = (value) => ({\r\n\ttype: GET_SCRIPTS,\r\n\tscripts: value\r\n});\r\n\r\nexport const GetScripts = () => async (dispatch) => {\r\n\tawait GetScriptsRequest().then(response => {\r\n\t\tdispatch(onGetScripts(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetScriptsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Builder/GetBuilderScripting`,\r\n\tparams: {}\r\n});\r\n","import React, { useEffect, useCallback, useState } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\n\r\nimport Import from './Import/Import';\r\nimport Planning from './Planning/Planning';\r\nimport Scripting from './Scripting/Scripting';\r\n\r\nconst tabs = [\r\n\t{ value: 'import', label: 'Import' },\r\n\t{ value: 'planning', label: 'Planning' },\r\n\t{ value: 'scripting', label: 'Scripting' },\r\n];\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Builder = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [tab, setTab] = useState('import');\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\t// dispatch();\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, []);\r\n\r\n\tconst handleTabsChange = (event, value) => {\r\n\t\tsetTab(value);\r\n\t};\r\n\r\n\tif (!tab) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!tabs.find((t) => t.value === tab)) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{tabs.map((t) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{tab === 'import' && }\r\n\t\t\t\t{tab === 'planning' && }\r\n\t\t\t\t{tab === 'scripting' && }\r\n\t\t\t
\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nexport default Builder;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, Header } from 'components';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tTextField,\r\n\tGrid,\r\n\tButton,\r\n\tcolors\r\n} from '@mui/material';\r\n\r\nimport { GetRetuneScripts } from '../../actions/ScriptingActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst RetuneScripting = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst scripts = useSelector(state => state.scriptingReducer.scripts);\r\n\tconst [sites, setSites] = useState();\r\n\r\n\tconst _handleSitesChange = event => {\r\n\t\tsetSites(event.target.value);\r\n\t};\r\n\tconst _getRetuneScripts = () => {\r\n\t\tdispatch(GetRetuneScripts(sites));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tGet Retune Scripts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default RetuneScripting;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, Header, FilePicker } from 'components';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tTextField,\r\n\tGrid,\r\n\tButton,\r\n\tcolors,\r\n\tAutocomplete,\r\n\tDivider\r\n} from '@mui/material';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, GetDss2100Scripts, SendDss2100EricssonFileAndSites } from '../../actions/ScriptingActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst Dss2100Scripting = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.scriptingReducer.formState);\r\n\r\n\tconst scripts = useSelector(state => state.scriptingReducer.scripts);\r\n\tconst [sites, setSites] = useState();\r\n\tconst [sitesEricsson, setSitesEricsson] = useState();\r\n\r\n\tconst _handleSitesChange = event => {\r\n\t\tsetSites(event.target.value);\r\n\t};\r\n\tconst _getDss2100Scripts = () => {\r\n\t\tdispatch(GetDss2100Scripts(sites));\r\n\t};\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files[0].type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {\r\n\t\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\t\tconst file = event.target.files[0];\r\n\t\t\t\tsetFormState({\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tdssEricssonExcelInputFilePath: file\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File type not supported', options: { variant: 'warning' } }));\r\n\t\t}\r\n\t};\r\n\r\n\tconst _handleSitesEricssonChange = event => {\r\n\t\tsetSitesEricsson(event.target.value);\r\n\t};\r\n\r\n\tconst _getDss2100EricssonScripts = (event) => {\r\n\t\tif (formState.values.dssEricssonExcelInputFilePath.size > 50000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 50MB', options: { variant: 'warning' } }));\r\n\t\t} else if (formState.values.dssEricssonExcelInputFilePath === '') {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'No file selected', options: { variant: 'Info' } }));\r\n\t\t} else {\r\n\t\t\tdispatch(SendDss2100EricssonFileAndSites(formState.values.dssEricssonExcelInputFilePath, sitesEricsson));\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tGet Scripts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tGet Scripts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Dss2100Scripting;\r\n","/* eslint-disable react/no-multi-comp */\r\n/* eslint-disable react/display-name */\r\nimport React, { lazy } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nimport AuthGuard from './components/AuthGuard';\r\n\r\nimport AuthLayout from './layouts/Auth';\r\nimport ErrorLayout from './layouts/Error';\r\nimport DashboardLayout from './layouts/Dashboard';\r\nimport DashboardAnalyticsView from './views/DashboardAnalytics';\r\nimport DashboardDefaultView from './views/DashboardDefault';\r\nimport OverviewView from './views/Overview';\r\nimport Home from './views/Home';\r\nimport PresentationView from './views/Presentation';\r\nimport Users from './views/Management/components/Users';\r\nimport Operators from './views/Management/components/Operators';\r\nimport OperatorDetails from './views/Management/components/OperatorDetails';\r\nimport Settings from './views/Management/components/Settings';\r\nimport Reports from './views/ReportKpis/components/Reports/Reports.js';\r\nimport Uploads from './views/ReportKpis/components/Uploads/Uploads.js';\r\nimport DashboardInspect from './views/Dashboard/components/Inspect/DashboardInspect.js';\r\nimport ActivityView from './views/Tracker/components/ActivityView/ActivityView.js';\r\nimport ActivityDetails from './views/Tracker/components/ActivityDetails/ActivityDetails.js';\r\nimport TaskDetails from './views/Tracker/components/TaskDetails/TaskDetails.js';\r\nimport ElementView from './views/Tracker/components/ElementView/ElementView.js';\r\nimport Builder from './views/Builder/components/Builder';\r\nimport RetuneScripting from './views/Scripting/components/RetuneScripting/RetuneScripting.js';\r\nimport Dss2100Scripting from './views/Scripting/components/RetuneScripting/Dss2100Scripting.js';\r\n\r\nconst routes = [\r\n\t{\r\n\t\tpath: '/',\r\n\t\texact: true,\r\n\t\tcomponent: () => ,\r\n\t},\r\n\t{\r\n\t\tpath: '/home',\r\n\t\texact: true,\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '*',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Home(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}),\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/management',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/operators',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Operators()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/operators/details',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: OperatorDetails()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/users',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Users(),\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/settings',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: Settings()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\r\n\t},\r\n\t{\r\n\t\tpath: '/builder',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => Builder(),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/kpis',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/kpis/uploads',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Uploads()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/kpis/reports',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// roles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Reports()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/tracker',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/tracker/activity',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: ActivityView(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/tracker/activitydetails/:id',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: ActivityDetails(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/tracker/taskdetails/:id',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: TaskDetails(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/tracker/element',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// roles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: ElementView()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/dashboards',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/dashboards/inspect/:id',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: DashboardInspect(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/scripting',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/scripting/retuneScripting',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: RetuneScripting()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/scripting/dss2100Scripting',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Dss2100Scripting()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/auth',\r\n\t\tcomponent: AuthLayout,\r\n\t\troutes: [\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/login',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/Login')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/completeregistration',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/CompleteRegistration')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/resetpassword',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/ResetPassword')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/recover',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/Recover')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/recoverconfirmation',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/RecoverConfirmation')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcomponent: () => ,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\r\n\t{\r\n\t\tpath: '/errors',\r\n\t\tcomponent: ErrorLayout,\r\n\t\troutes: [\r\n\t\t\t{\r\n\t\t\t\tpath: '/errors/error-401',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Error401')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/errors/error-404',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Error404')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/errors/error-500',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Error500')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcomponent: () => ,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tpath: '*',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout({\r\n\t\t\t\troute: {\r\n\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/notifications',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Notifications')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/calendar',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Calendar')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/changelog',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Changelog')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/chat',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Chat')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/chat/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Chat')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/dashboards/analytics',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: DashboardAnalyticsView,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/dashboards/default',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: DashboardDefaultView,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/invoices/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/InvoiceDetails')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/kanban-board',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/KanbanBoard')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/mail',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Mail')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/management/customers',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/CustomerManagementList')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/management/customers/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/CustomerManagementDetails')\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/management/customers/:id/:tab',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/CustomerManagementDetails')\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/management/projects',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectManagementList')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/management/orders',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/OrderManagementList')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/management/orders/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/OrderManagementDetails')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/overview',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: OverviewView,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/presentation',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: PresentationView,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/profile/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Profile')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/profile/:id/:tab',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Profile')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/projects/create',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectCreate')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/projects/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectDetails')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/projects/:id/:tab',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectDetails')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/projects',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectList')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/settings',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Settings')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/settings/:tab',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Settings')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/social-feed',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/SocialFeed')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/getting-started',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/GettingStarted')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t}),\r\n\t},\r\n];\r\n\r\nexport default routes;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useSnackbar } from 'notistack';\r\nimport { removeSnackbar } from 'actions';\r\n\r\nlet displayed = [];\r\n\r\nconst Notifier = () => {\r\n\tconst dispatch = useDispatch();\r\n\tconst notifications = useSelector(store => store.notifierReducer.notifications || []);\r\n\tconst { enqueueSnackbar, closeSnackbar } = useSnackbar();\r\n\r\n\tconst storeDisplayed = (id) => {\r\n\t\tdisplayed = [...displayed, id];\r\n\t};\r\n\r\n\tconst removeDisplayed = (id) => {\r\n\t\tdisplayed = [...displayed.filter(key => id !== key)];\r\n\t};\r\n\r\n\tReact.useEffect(() => {\r\n\t\tnotifications.forEach(({ key, message, options = {}, dismissed = false }) => {\r\n\t\t\tif (dismissed) {\r\n\t\t\t\t// dismiss snackbar using notistack\r\n\t\t\t\tcloseSnackbar(key);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// do nothing if snackbar is already displayed\r\n\t\t\tif (displayed.includes(key)) return;\r\n\r\n\t\t\t// display snackbar using notistack\r\n\t\t\tenqueueSnackbar(message, {\r\n\t\t\t\tkey,\r\n\t\t\t\t...options,\r\n\t\t\t\tonClose: (event, reason, myKey) => {\r\n\t\t\t\t\tif (options.onClose) {\r\n\t\t\t\t\t\toptions.onClose(event, reason, myKey);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tonExited: (event, myKey) => {\r\n\t\t\t\t\t// remove this snackbar from redux store\r\n\t\t\t\t\tdispatch(removeSnackbar(myKey));\r\n\t\t\t\t\tremoveDisplayed(myKey);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\r\n\t\t\t// keep track of snackbars that we've displayed\r\n\t\t\tstoreDisplayed(key);\r\n\t\t});\r\n\t}, [notifications, closeSnackbar, enqueueSnackbar, dispatch]);\r\n\r\n\treturn null;\r\n};\r\n\r\nexport default Notifier;\r\n","import { Chart } from 'react-chartjs-2';\r\n\r\n// ChartJS extension rounded bar chart\r\n// https://codepen.io/jedtrow/full/ygRYgo\r\nfunction draw() {\r\n\tconst { ctx } = this._chart;\r\n\tconst vm = this._view;\r\n\tlet { borderWidth } = vm;\r\n\r\n\tlet left;\r\n\tlet right;\r\n\tlet top;\r\n\tlet bottom;\r\n\tlet signX;\r\n\tlet signY;\r\n\tlet borderSkipped;\r\n\tlet radius;\r\n\r\n\t// If radius is less than 0 or is large enough to cause drawing errors a max\r\n\t// radius is imposed. If cornerRadius is not defined set it to 0.\r\n\tlet { cornerRadius } = this._chart.config.options;\r\n\tif (cornerRadius < 0) {\r\n\t\tcornerRadius = 0;\r\n\t}\r\n\r\n\tif (typeof cornerRadius === 'undefined') {\r\n\t\tcornerRadius = 0;\r\n\t}\r\n\r\n\tif (!vm.horizontal) {\r\n\t\t// bar\r\n\t\tleft = vm.x - vm.width / 2;\r\n\t\tright = vm.x + vm.width / 2;\r\n\t\ttop = vm.y;\r\n\t\tbottom = vm.base;\r\n\t\tsignX = 1;\r\n\t\tsignY = bottom > top ? 1 : -1;\r\n\t\tborderSkipped = vm.borderSkipped || 'bottom';\r\n\t} else {\r\n\t\t// horizontal bar\r\n\t\tleft = vm.base;\r\n\t\tright = vm.x;\r\n\t\ttop = vm.y - vm.height / 2;\r\n\t\tbottom = vm.y + vm.height / 2;\r\n\t\tsignX = right > left ? 1 : -1;\r\n\t\tsignY = 1;\r\n\t\tborderSkipped = vm.borderSkipped || 'left';\r\n\t}\r\n\r\n\t// Canvas doesn't allow us to stroke inside the width so we can\r\n\t// adjust the sizes to fit if we're setting a stroke on the line\r\n\tif (borderWidth) {\r\n\t\t// borderWidth shold be less than bar width and bar height.\r\n\t\tconst barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\r\n\t\tborderWidth = borderWidth > barSize ? barSize : borderWidth;\r\n\t\tconst halfStroke = borderWidth / 2;\r\n\t\t// Adjust borderWidth when bar top position is near vm.base(zero).\r\n\t\tconst borderLeft = left + (borderSkipped !== 'left' ? halfStroke * signX : 0);\r\n\t\tconst borderRight = right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\r\n\t\tconst borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);\r\n\t\tconst borderBottom = bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\r\n\t\t// not become a vertical line?\r\n\t\tif (borderLeft !== borderRight) {\r\n\t\t\ttop = borderTop;\r\n\t\t\tbottom = borderBottom;\r\n\t\t}\r\n\t\t// not become a horizontal line?\r\n\t\tif (borderTop !== borderBottom) {\r\n\t\t\tleft = borderLeft;\r\n\t\t\tright = borderRight;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.fillStyle = vm.backgroundColor;\r\n\tctx.strokeStyle = vm.borderColor;\r\n\tctx.lineWidth = borderWidth;\r\n\r\n\t// Corner points, from bottom-left to bottom-right clockwise\r\n\t// | 1 2 |\r\n\t// | 0 3 |\r\n\tconst corners = [\r\n\t\t[left, bottom],\r\n\t\t[left, top],\r\n\t\t[right, top],\r\n\t\t[right, bottom],\r\n\t];\r\n\r\n\t// Find first (starting) corner with fallback to 'bottom'\r\n\tconst borders = ['bottom', 'left', 'top', 'right'];\r\n\tlet startCorner = borders.indexOf(borderSkipped, 0);\r\n\tif (startCorner === -1) {\r\n\t\tstartCorner = 0;\r\n\t}\r\n\r\n\tfunction cornerAt(index) {\r\n\t\treturn corners[(startCorner + index) % 4];\r\n\t}\r\n\r\n\t// Draw rectangle from 'startCorner'\r\n\tlet corner = cornerAt(0);\r\n\tctx.moveTo(corner[0], corner[1]);\r\n\r\n\tfor (let i = 1; i < 4; i += 1) {\r\n\t\tcorner = cornerAt(i);\r\n\t\tlet nextCornerId = i + 1;\r\n\t\tif (nextCornerId === 4) {\r\n\t\t\tnextCornerId = 0;\r\n\t\t}\r\n\r\n\t\tconst width = corners[2][0] - corners[1][0];\r\n\t\tconst height = corners[0][1] - corners[1][1];\r\n\t\tconst x = corners[1][0];\r\n\t\tconst y = corners[1][1];\r\n\r\n\t\tradius = cornerRadius;\r\n\t\t// Fix radius being too large\r\n\t\tif (radius > Math.abs(height) / 2) {\r\n\t\t\tradius = Math.floor(Math.abs(height) / 2);\r\n\t\t}\r\n\t\tif (radius > Math.abs(width) / 2) {\r\n\t\t\tradius = Math.floor(Math.abs(width) / 2);\r\n\t\t}\r\n\r\n\t\tif (height < 0) {\r\n\t\t\t// Negative values in a standard bar chart\r\n\t\t\tconst xTl = x;\r\n\t\t\tconst xTr = x + width;\r\n\t\t\tconst yTl = y + height;\r\n\t\t\tconst yTr = y + height;\r\n\r\n\t\t\tconst xBl = x;\r\n\t\t\tconst xBr = x + width;\r\n\t\t\tconst yBl = y;\r\n\t\t\tconst yBr = y;\r\n\r\n\t\t\t// Draw\r\n\t\t\tctx.moveTo(xBl + radius, yBl);\r\n\t\t\tctx.lineTo(xBr - radius, yBr);\r\n\t\t\tctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\r\n\t\t\tctx.lineTo(xTr, yTr + radius);\r\n\t\t\tctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\r\n\t\t\tctx.lineTo(xTl + radius, yTl);\r\n\t\t\tctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\r\n\t\t\tctx.lineTo(xBl, yBl - radius);\r\n\t\t\tctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\r\n\t\t} else if (width < 0) {\r\n\t\t\t// Negative values in a horizontal bar chart\r\n\t\t\tconst xTl = x + width;\r\n\t\t\tconst xTr = x;\r\n\t\t\tconst yTl = y;\r\n\t\t\tconst yTr = y;\r\n\r\n\t\t\tconst xBl = x + width;\r\n\t\t\tconst xBr = x;\r\n\t\t\tconst yBl = y + height;\r\n\t\t\tconst yBr = y + height;\r\n\r\n\t\t\t// Draw\r\n\t\t\tctx.moveTo(xBl + radius, yBl);\r\n\t\t\tctx.lineTo(xBr - radius, yBr);\r\n\t\t\tctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\r\n\t\t\tctx.lineTo(xTr, yTr + radius);\r\n\t\t\tctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\r\n\t\t\tctx.lineTo(xTl + radius, yTl);\r\n\t\t\tctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\r\n\t\t\tctx.lineTo(xBl, yBl - radius);\r\n\t\t\tctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\r\n\t\t} else {\r\n\t\t\t// Positive Value\r\n\t\t\tctx.moveTo(x + radius, y);\r\n\t\t\tctx.lineTo(x + width - radius, y);\r\n\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n\t\t\tctx.lineTo(x + width, y + height - radius);\r\n\t\t\tctx.quadraticCurveTo(\r\n\t\t\t\tx + width,\r\n\t\t\t\ty + height,\r\n\t\t\t\tx + width - radius,\r\n\t\t\t\ty + height\r\n\t\t\t);\r\n\t\t\tctx.lineTo(x + radius, y + height);\r\n\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\r\n\t\t\tctx.lineTo(x, y + radius);\r\n\t\t\tctx.quadraticCurveTo(x, y, x + radius, y);\r\n\t\t}\r\n\t}\r\n\r\n\tctx.fill();\r\n\tif (borderWidth) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nChart.helpers.extend(Chart.elements.Rectangle.prototype, {\r\n\tdraw,\r\n});\r\n","import moment from 'moment';\r\n\r\nmoment.updateLocale('en', {\r\n\trelativeTime: {\r\n\t\tfuture: 'in %s',\r\n\t\tpast: '%s ago',\r\n\t\ts: 'seconds',\r\n\t\tss: '%ss',\r\n\t\tm: '1m',\r\n\t\tmm: '%dm',\r\n\t\th: '1h',\r\n\t\thh: '%dh',\r\n\t\td: '1d',\r\n\t\tdd: '%dd',\r\n\t\tM: '1M',\r\n\t\tMM: '%dM',\r\n\t\ty: '1Y',\r\n\t\tyy: '%dY',\r\n\t},\r\n});\r\n","/* eslint-disable consistent-return */\r\nimport validate from 'validate.js';\r\n\r\nconst regex = (value, options) => {\r\n\tconst regExp = new RegExp(options.pattern);\r\n\r\n\tif (!regExp.test(value)) {\r\n\t\treturn options.message;\r\n\t}\r\n};\r\n\r\nconst checked = (value, options) => {\r\n\tif (value !== true) {\r\n\t\treturn options.message || 'must be checked';\r\n\t}\r\n};\r\n\r\nvalidate.validators = {\r\n\t...validate.validators,\r\n\tregex,\r\n\tchecked,\r\n};\r\n","import AxiosMockAdapter from 'axios-mock-adapter';\r\n\r\nimport axios from './axios';\r\n\r\nconst instance = new AxiosMockAdapter(axios, { delayResponse: 0 });\r\n\r\nexport default instance;\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/account/profile').reply(200, {\r\n\tprofile: {\r\n\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\tcanHire: false,\r\n\t\tcountry: 'USA',\r\n\t\temail: 'shen.zhi@devias.io',\r\n\t\tfirstName: 'Shen',\r\n\t\tisPublic: true,\r\n\t\tlastName: 'Zhi',\r\n\t\tphone: '+40 777666555',\r\n\t\tstate: 'Alabama',\r\n\t\ttimezone: '4:32PM (GMT-4)',\r\n\t},\r\n});\r\n\r\nmock.onGet('/api/account/statistics').reply(200, {\r\n\tstatistics: {\r\n\t\tpayout: '4,250',\r\n\t\tprojects: '12,500',\r\n\t\tvisitors: '230',\r\n\t\twatching: '5',\r\n\t},\r\n});\r\n\r\nmock.onGet('/api/account/projects').reply(200, {\r\n\tprojects: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\tprice: '3K - 6K',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tupdated_at: moment().subtract(24, 'minutes'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/account/todos').reply(200, {\r\n\ttodos: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle:\r\n\t\t\t\t'Finish the proposal design and contract for the client ASAP',\r\n\t\t\tdeadline: moment().subtract(2, 'days'),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle:\r\n\t\t\t\t'Finish the proposal design and contract for the client ASAP',\r\n\t\t\tdeadline: moment(),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle:\r\n\t\t\t\t'Upload the files for the client @Adrian Stefan with the fonts, assets exported and all the fancy svgs',\r\n\t\t\tdeadline: moment().add(2, 'days'),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Re-write the card component with hooks and context',\r\n\t\t\tdeadline: moment().add(5, 'days'),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Send proposal for the fintech project',\r\n\t\t\tdeadline: moment().add(5, 'days'),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle:\r\n\t\t\t\t'Create todo app with react hooks just to get a better understanding of the concept',\r\n\t\t\tdeadline: moment().add(7, 'days'),\r\n\t\t\tdone: true,\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/account/notifications').reply(200, {\r\n\tnotifications: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'New order has been received',\r\n\t\t\ttype: 'order',\r\n\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'New customer is registered',\r\n\t\t\ttype: 'user',\r\n\t\t\tcreated_at: moment().subtract(1, 'day'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Project has been approved',\r\n\t\t\ttype: 'project',\r\n\t\t\tcreated_at: moment().subtract(3, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'New feature has been added',\r\n\t\t\ttype: 'feature',\r\n\t\t\tcreated_at: moment().subtract(7, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/account/subscription').reply(200, {\r\n\tsubscription: {\r\n\t\tname: 'Freelancer',\r\n\t\tprice: '5',\r\n\t\tcurrency: '$',\r\n\t\tproposalsLeft: 12,\r\n\t\ttemplatesLeft: 5,\r\n\t\tinvitesLeft: 24,\r\n\t\tadsLeft: 10,\r\n\t\thasAnalytics: true,\r\n\t\thasEmailAlerts: true,\r\n\t},\r\n});\r\n\r\nmock.onGet('/api/account/settings').reply(200, {\r\n\tsettings: {},\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/calendar').reply(200, {\r\n\tdraft: [],\r\n\tevents: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Call Samantha',\r\n\t\t\tdesc: 'Inform about new contract',\r\n\t\t\tcolor: colors.green['700'],\r\n\t\t\tstart: moment('2019-07-01 16:55:00'),\r\n\t\t\tend: moment('2019-07-01 17:02:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Meet with IBM',\r\n\t\t\tdesc: 'Discuss about new partnership',\r\n\t\t\tstart: moment('2019-07-03 08:55:00'),\r\n\t\t\tend: moment('2019-07-04 15:02:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'SCRUM Planning',\r\n\t\t\tdesc: 'Prepare documentation',\r\n\t\t\tallDay: true,\r\n\t\t\tstart: moment('2019-07-14 16:55:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Beign SEM',\r\n\t\t\tdesc: 'Meet with team to discuss',\r\n\t\t\tallDay: true,\r\n\t\t\tstart: moment('2019-07-18 07:00:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Fire John',\r\n\t\t\tdesc: 'Sorry, John',\r\n\t\t\tcolor: colors.green['700'],\r\n\t\t\tstart: moment('2019-07-20 08:55:00'),\r\n\t\t\tend: moment('2019-07-20 09:30:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Call Alex',\r\n\t\t\tdesc: 'Discuss about the new project',\r\n\t\t\tallDay: true,\r\n\t\t\tstart: moment('2019-07-30 08:00:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Visit Samantha',\r\n\t\t\tcolor: colors.green['700'],\r\n\t\t\tdesc: 'Get a new quote for the payment processor',\r\n\t\t\tstart: moment('2019-07-30 08:00:00'),\r\n\t\t\tend: moment('2019-07-30 09:00:00'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/chat/conversations').reply(200, {\r\n\tconversations: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\tactive: true,\r\n\t\t\t\tlastActivity: moment(),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\t\t\tlastActivity: moment(),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\"Hey, nice projects! I really liked the one in react. What's your quote on kinda similar project?\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(10, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t'I would need to know more details, but my hourly rate stats at $35/hour. Thanks!',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\"Well it's a really easy one, I'm sure we can make it half of the price.\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(5, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\"Then why don't you make it if it's that easy? Sorry I'm not interetes, have fantastic day Adam!\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Last offer, $25 per hour',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(1, 'minute'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: '/images/projects/project_1.jpg',\r\n\t\t\t\t\tcontentType: 'image',\r\n\t\t\t\t\tcreated_at: moment().subtract(1, 'minute'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 0,\r\n\t\t\tcreated_at: moment().subtract(1, 'minute'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t\tactive: true,\r\n\t\t\t\tlastActivity: moment(),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Hey, would you like to collaborate?',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(6, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: \"I don't think that's ideal\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(5, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 3,\r\n\t\t\tcreated_at: moment().subtract(26, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\t\tactive: false,\r\n\t\t\t\tlastActivity: moment().subtract(2, 'minutes'),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Hi Shen, we should submit the product today',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Oh, totally forgot about it',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment()\r\n\t\t\t\t\t\t.subtract(1, 'hour')\r\n\t\t\t\t\t\t.subtract(2, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Alright then',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(1, 'hour'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 0,\r\n\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t\tactive: true,\r\n\t\t\t\tlastActivity: moment(),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\"Hi Kwak! I've seen your projects and we can work together on a project. Will send you the details later.\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'days'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: \"Haha, right, we'll do it\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 1,\r\n\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t\tactive: false,\r\n\t\t\t\tlastActivity: moment().subtract(4, 'hours'),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Did you receive my email about the brief?',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'days'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: \"I'm not sure, but I will check it later\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 0,\r\n\t\t\tcreated_at: moment().subtract(5, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\tactive: true,\r\n\t\t\t\tlastActivity: moment(),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Hey Shen! I love your projects!!!',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: \"Haha thank you Clarke, I'm doing our best\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'days'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 0,\r\n\t\t\tcreated_at: moment().subtract(5, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/chat/activity').reply(200, {\r\n\tgroups: [\r\n\t\t{\r\n\t\t\tid: 'clients',\r\n\t\t\tname: 'Clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 'friends',\r\n\t\t\tname: 'Friends',\r\n\t\t},\r\n\t],\r\n\tconnections: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\tactive: false,\r\n\t\t\tlastActivity: moment().subtract(24, 'minutes'),\r\n\t\t\tgroup: 'clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Cao Yu',\r\n\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Anje Keizer',\r\n\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\tactive: false,\r\n\t\t\tlastActivity: moment().subtract(1, 'minutes'),\r\n\t\t\tgroup: 'clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ava Gregoraci',\r\n\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Clarke Gillebert',\r\n\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Adam Denisov',\r\n\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\tactive: false,\r\n\t\t\tlastActivity: moment().subtract(24, 'minutes'),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Emilee Simchenko',\r\n\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Shen Zhi',\r\n\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Merrile Burgett',\r\n\t\t\tavatar: '/images/avatars/avatar_12.png',\r\n\t\t\tactive: false,\r\n\t\t\tlastActivity: moment().subtract(2, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/management/customers').reply(200, {\r\n\tcustomers: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\temail: 'ekaterina.tankova@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\tspent: '500.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tprojects: '1',\r\n\t\t\trating: 5,\r\n\t\t\tlocation: 'West Virginia, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Cao Yu',\r\n\t\t\temail: 'cao.yu@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\tspent: '300.00',\r\n\t\t\ttype: 'Freelancer',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '3',\r\n\t\t\trating: 4.3,\r\n\t\t\tlocation: 'Bristow',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Alexa Richardson',\r\n\t\t\temail: 'alexa.richardson@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\tspent: '2,600.00',\r\n\t\t\ttype: 'Enterprise',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '0',\r\n\t\t\trating: 4.5,\r\n\t\t\tlocation: 'Georgia, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Anje Keizer',\r\n\t\t\temail: 'anje.keizer@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\tspent: '5,600.00',\r\n\t\t\ttype: 'Enterprise',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '6',\r\n\t\t\trating: 4,\r\n\t\t\tlocation: 'Ohio, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Clarke Gillebert',\r\n\t\t\temail: 'clarke.gillebert@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\tspent: '500.00',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '1',\r\n\t\t\trating: 3.5,\r\n\t\t\tlocation: 'Texas, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Adam Denisov',\r\n\t\t\temail: 'adam.denisov@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\tspent: '5,230.00',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '0',\r\n\t\t\trating: 3,\r\n\t\t\tlocation: 'California, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ava Gregoraci',\r\n\t\t\temail: 'ava.gregoraci@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\tspent: '300.00',\r\n\t\t\ttype: 'Freelancer',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '0',\r\n\t\t\trating: 4,\r\n\t\t\tlocation: 'California, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Emilee Simchenko',\r\n\t\t\temail: 'emilee.simchenko@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\tspent: '100.00',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '4',\r\n\t\t\trating: 4.5,\r\n\t\t\tlocation: 'Nevada, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\temail: 'kwak.seong.min@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\tspent: '1,000.00',\r\n\t\t\ttype: 'Freelancer',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '2',\r\n\t\t\trating: 5,\r\n\t\t\tlocation: 'Michigan, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Shen Zhi',\r\n\t\t\temail: 'shen.zhi@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\tspent: '2,300.00',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '0',\r\n\t\t\trating: 3.9,\r\n\t\t\tlocation: 'Utah, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Merrile Burgett',\r\n\t\t\temail: 'merrile.burgett@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_12.png',\r\n\t\t\tspent: '200.00',\r\n\t\t\ttype: 'Enterprise',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '7',\r\n\t\t\trating: 4.2,\r\n\t\t\tlocation: 'Utah, USA',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/management/customers/1/summary').reply(200, {\r\n\tsummary: {\r\n\t\tname: 'Ekaterina Tankova',\r\n\t\temail: 'ekaterina@devias.io',\r\n\t\tphone: '+55 748 327 439',\r\n\t\tstate: 'Alabama',\r\n\t\tcountry: 'United States',\r\n\t\tzipCode: '240355',\r\n\t\taddress1: 'Street John Wick, no. 7',\r\n\t\taddress2: 'House #25',\r\n\t\tiban: '4142 **** **** **** ****',\r\n\t\tautoCC: false,\r\n\t\tverified: true,\r\n\t\tcurrency: '$',\r\n\t\tinvoices: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\ttype: 'paid',\r\n\t\t\t\tvalue: 10.0,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\ttype: 'paid',\r\n\t\t\t\tvalue: 15.0,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\ttype: 'due',\r\n\t\t\t\tvalue: 5,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\ttype: 'income',\r\n\t\t\t\tvalue: 10.0,\r\n\t\t\t},\r\n\t\t],\r\n\t\tvat: 19,\r\n\t\tbalance: 0,\r\n\t\temails: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tdescription: 'Order confirmation',\r\n\t\t\t\tcreated_at: moment()\r\n\t\t\t\t\t.subtract(3, 'days')\r\n\t\t\t\t\t.subtract(5, 'hours')\r\n\t\t\t\t\t.subtract(34, 'minutes'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tdescription: 'Order confirmation',\r\n\t\t\t\tcreated_at: moment()\r\n\t\t\t\t\t.subtract(4, 'days')\r\n\t\t\t\t\t.subtract(11, 'hours')\r\n\t\t\t\t\t.subtract(49, 'minutes'),\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n});\r\n\r\nmock.onGet('/api/management/customers/1/invoices').reply(200, {\r\n\tinvoices: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tdate: moment(),\r\n\t\t\tdescription: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\r\n\t\t\tpaymentMethod: 'Credit Card',\r\n\t\t\tvalue: '5.25',\r\n\t\t\tcurrency: '$',\r\n\t\t\tstatus: 'paid',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tdate: moment(),\r\n\t\t\tdescription: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\r\n\t\t\tpaymentMethod: 'Credit Card',\r\n\t\t\tvalue: '5.25',\r\n\t\t\tcurrency: '$',\r\n\t\t\tstatus: 'paid',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/management/customers/1/logs').reply(200, {\r\n\tlogs: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'POST',\r\n\t\t\troute: '/api/purchase',\r\n\t\t\tdesc: 'Purchase',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(2, 'minutes')\r\n\t\t\t\t.subtract(56, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 522,\r\n\t\t\terror: 'Invalid credit card',\r\n\t\t\tmethod: 'POST',\r\n\t\t\troute: '/api/purchase',\r\n\t\t\tdesc: 'Purchase',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(2, 'minutes')\r\n\t\t\t\t.subtract(56, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'DELETE',\r\n\t\t\troute: '/api/products/d65654e/remove',\r\n\t\t\tdesc: 'Cart remove',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(8, 'minutes')\r\n\t\t\t\t.subtract(23, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'GET',\r\n\t\t\troute: '/api/products/d65654e/add',\r\n\t\t\tdesc: 'Cart add',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(20, 'minutes')\r\n\t\t\t\t.subtract(54, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'GET',\r\n\t\t\troute: '/api/products/c85727f/add',\r\n\t\t\tdesc: 'Cart add',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(34, 'minutes')\r\n\t\t\t\t.subtract(16, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'GET',\r\n\t\t\troute: '/api/products/c85727f',\r\n\t\t\tdesc: 'View product',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(54, 'minutes')\r\n\t\t\t\t.subtract(30, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'GET',\r\n\t\t\troute: '/api/products',\r\n\t\t\tdesc: 'Get products',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(56, 'minutes')\r\n\t\t\t\t.subtract(40, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'POST',\r\n\t\t\troute: '/api/login',\r\n\t\t\tdesc: 'Login',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(57, 'minutes')\r\n\t\t\t\t.subtract(5, 'seconds'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/mail').reply(200, {\r\n\temails: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tseen: true,\r\n\t\t\tfavorited: true,\r\n\t\t\tlabels: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Business',\r\n\t\t\t\t\tcolor: colors.blue[600],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Personal',\r\n\t\t\t\t\tcolor: colors.orange[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tsubject: 'Website redesign. Interested in collaboration',\r\n\t\t\tmessage: `\r\nHi Matt, I saw your work on instagram and would be interested in getting a quote for Logo and slider\r\n\r\nInteger velit massa, pharetra sed lacus eu, pulvinar faucibus ex. Ut pretium ex id turpis elementum, aliquam accumsan enim sollicitudin. Sed nec consectetur lorem, ac ullamcorper augue. Suspendisse tempus ligula suscipit finibus vehicula. Morbi viverra finibus lectus, egestas dictum mi mollis nec. Proin eget vehicula eros, sit amet molestie ipsum. Morbi feugiat, elit non placerat fringilla, leo risus tristique felis, sollicitudin tristique nibh arcu nec arcu. Maecenas vel turpis nibh. Etiam in lectus quis felis facilisis dictum. Morbi id vehicula lectus, vel imperdiet dolor. Phasellus consequat tempor tellus, quis placerat quam posuere eget. Mauris blandit, nisl eu sollicitudin tincidunt, tellus diam accumsan arcu, vel pharetra lectus est nec nisi. In sem dolor, mollis sed risus eu, mattis dictum lectus. Suspendisse urna est, finibus et urna non, tincidunt placerat eros.\r\n\r\nDonec viverra ipsum id auctor rutrum. Morbi consequat a nunc non interdum. Nulla accumsan eget felis a dictum. Cras rhoncus tortor eget velit fringilla suscipit. Donec quis arcu eu nibh aliquet auctor eget fringilla felis. Sed commodo efficitur massa. Proin maximus elit in suscipit laoreet. Integer pretium arcu ac mauris ullamcorper auctor. Vivamus tincidunt lacus eget purus feugiat tincidunt. Etiam feugiat gravida ullamcorper. Pellentesque cursus vehicula lectus et consectetur. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam ligula risus, congue eu pellentesque id, volutpat aliquam arcu. Donec efficitur ipsum id neque rhoncus viverra. Vestibulum hendrerit et eros eu bibendum.\r\n\r\n\r\nKind regards,\r\n\r\nEkaterina Tankova\r\n\t `,\r\n\t\t\treceiver: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\temail: 'ekaterina.tankova@devias.io',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment(),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tseen: false,\r\n\t\t\tfavorited: false,\r\n\t\t\tlabels: [],\r\n\t\t\tsubject: 'Amazing work',\r\n\t\t\tmessage:\r\n\t\t\t\t\"Hey, nice projects! I really liked the one in react. What's your quote on kinda similar project?\",\r\n\t\t\treceiver: {\r\n\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\temail: 'adam.denisov@devias.io',\r\n\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment(),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tseen: false,\r\n\t\t\tfavorited: false,\r\n\t\t\tsubject: 'Flight reminder',\r\n\t\t\tlabels: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Work',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmessage:\r\n\t\t\t\t'Dear Shen, Your flight is coming up soon. Please don’t forget to check in for your scheduled flight.',\r\n\t\t\treceiver: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment(),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tseen: true,\r\n\t\t\tfavorited: true,\r\n\t\t\tlabels: [],\r\n\t\t\tsubject: 'Posible candidates for the position',\r\n\t\t\tmessage:\r\n\t\t\t\t'My market leading client has another fantastic opportunity for an experienced Software Developer to join them on a heavily remote basis',\r\n\t\t\treceiver: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment(),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/projects').reply(200, {\r\n\tprojects: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'In progress',\r\n\t\t\tmembers: 5,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(24, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Dashboard Design',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'In progress',\r\n\t\t\tmembers: 3,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'HTML & CSS',\r\n\t\t\t\t\tcolor: colors.grey[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(1, 'hour'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Ten80 Web Design',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'Completed',\r\n\t\t\tmembers: 8,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'React JS',\r\n\t\t\t\t\tcolor: colors.indigo[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(16, 'hour'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Neura e-commerce UI Kit',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'In progress',\r\n\t\t\tmembers: 10,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(3, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Administrator Dashboard',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'Canceled',\r\n\t\t\tmembers: 2,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'HTML & CSS',\r\n\t\t\t\t\tcolor: colors.grey[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(7, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Kalli UI Kit',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'Completed',\r\n\t\t\tmembers: 12,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(8, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/projects/1').reply(200, {\r\n\tproject: {\r\n\t\ttitle: 'Develop a PDF Export App',\r\n\t\tauthor: {\r\n\t\t\tname: 'Emilee Simchenko',\r\n\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\tbio: 'We build beautiful functional themes for web professionals',\r\n\t\t},\r\n\t\tbrief: `\r\n#### TL;DR\r\n\r\nThe primary aim of the product is to convert survery responses into PDF reports, these reports are generated on to what we call templates. This product is designer to work with 3rd party survery providers. The first MVP will integrate with TypeForm, because the's no direct way to convert results to PDF from the form people create in TypeForm and then ask users to fill out.\r\n\r\n#### Background information\r\n\r\nDesign files are attachedin the files tab.\r\n\r\nDevelop the web app screens for our product called \"PDFace\". Please look at the wireframes, system activity workflow and read the section above to understand what we're trying to archive.\r\n\r\nThere's not many screens we need designed, but there will be modals and various other system triggered evenets that will need to be considered.\r\n\r\nThe project has benn created in Sketch so let me know if there are any problmes opening this project and I'll try to convert into a usable file.\r\n\r\nI have attached a chat with our users most used devices.\r\n\r\n#### Goals:\r\n - Maintainable Code\r\n - Easy UX\r\n - Readable Code\r\n - No Redux\r\n\t`,\r\n\t\tprice: '12,500',\r\n\t\tcurrency: 'USD',\r\n\t\ttags: [\r\n\t\t\t{\r\n\t\t\t\ttext: 'React JS',\r\n\t\t\t\tcolor: colors.indigo[600],\r\n\t\t\t},\r\n\t\t],\r\n\t\tmembers: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t\tbio: 'Front End Developer',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t\tbio: 'UX Designer',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t\tbio: 'Copyright',\r\n\t\t\t},\r\n\t\t],\r\n\t\tfiles: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'example-project1.jpg',\r\n\t\t\t\turl: '/images/projects/project_2.jpg',\r\n\t\t\t\tmimeType: 'image/png',\r\n\t\t\t\tsize: 1024 * 1024 * 3,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'docs.zip',\r\n\t\t\t\turl: '#',\r\n\t\t\t\tmimeType: 'application/zip',\r\n\t\t\t\tsize: 1024 * 1024 * 25,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'example-project2.jpg',\r\n\t\t\t\turl: '/images/projects/project_1.jpg',\r\n\t\t\t\tmimeType: 'image/png',\r\n\t\t\t\tsize: 1024 * 1024 * 2,\r\n\t\t\t},\r\n\t\t],\r\n\t\tactivities: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Project owner',\r\n\t\t\t\tsubject_type: 'user',\r\n\t\t\t\taction_type: 'upload_file',\r\n\t\t\t\taction_desc: 'has uploaded a new file',\r\n\t\t\t\tcreated_at: moment().subtract(23, 'minutes'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Adrian Stefan',\r\n\t\t\t\tsubject_type: 'user',\r\n\t\t\t\taction_type: 'join_team',\r\n\t\t\t\taction_desc: 'joined team as a Front-End Developer',\r\n\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Alexandru Robert',\r\n\t\t\t\taction_type: 'join_team',\r\n\t\t\t\taction_desc: 'joined team as a Full Stack Developer',\r\n\t\t\t\tcreated_at: moment().subtract(9, 'hours'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Project owner',\r\n\t\t\t\tsubject_type: 'user',\r\n\t\t\t\taction_type: 'price_change',\r\n\t\t\t\taction_desc: 'raised the project budget',\r\n\t\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Contest',\r\n\t\t\t\tsubject_type: 'project',\r\n\t\t\t\taction_type: 'contest_created',\r\n\t\t\t\taction_desc: 'created',\r\n\t\t\t\tcreated_at: moment().subtract(4, 'days'),\r\n\t\t\t},\r\n\t\t],\r\n\t\tsubscribers: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t\tcover: '/images/covers/cover_1.jpg',\r\n\t\t\t\tcommon_connections: 12,\r\n\t\t\t\tlabels: [\r\n\t\t\t\t\t'User Experience',\r\n\t\t\t\t\t'FrontEnd development',\r\n\t\t\t\t\t'HTML5',\r\n\t\t\t\t\t'VueJS',\r\n\t\t\t\t\t'ReactJS',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t\tcover: '/images/covers/cover_2.jpg',\r\n\t\t\t\tcommon_connections: 5,\r\n\t\t\t\tlabels: [\r\n\t\t\t\t\t'User Interface',\r\n\t\t\t\t\t'FullStack development',\r\n\t\t\t\t\t'Angular',\r\n\t\t\t\t\t'ExpressJS',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\tcover: '/images/covers/cover_2.jpg',\r\n\t\t\t\tcommon_connections: 17,\r\n\t\t\t\tlabels: [\r\n\t\t\t\t\t'BackEnd development',\r\n\t\t\t\t\t'Firebase',\r\n\t\t\t\t\t'MongoDB',\r\n\t\t\t\t\t'ExpressJS',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t\tdeadline: moment().add(7, 'days'),\r\n\t\tupdated_at: moment().subtract(23, 'minutes'),\r\n\t},\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/social-feed').reply(200, {\r\n\tposts: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t},\r\n\t\t\tmessage: \"Hey guys! What's your favorite framework?\",\r\n\t\t\tliked: true,\r\n\t\t\tlikes: 1,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Merrile Burgett',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_12.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage: \"I've been using Angular for the past 3 years\",\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(16, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tmessage:\r\n\t\t\t\t'Just made this home screen for a project, what-cha thinkin?',\r\n\t\t\tmedia: '/images/posts/post_1.jpg',\r\n\t\t\tliked: true,\r\n\t\t\tlikes: 24,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Could use some more statistics, but that’s me haha',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Ava Gregoraci',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Hmm, honestly this looks nice but I would change the shadow though',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tmessage:\r\n\t\t\t\t'As a human being, you are designed in a way that makes you incapable of experiencing any positive emotion unless you set an aim and progress towards it. What makes you happy is not, in fact, attaining it, but making progress towards it.',\r\n\t\t\tliked: false,\r\n\t\t\tlikes: 65,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'That’s actually deep. Thanks for the design, would you consider making an interaction?',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage: 'Oh... so sentimental',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(7, 'hours'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/users').reply(200, {\r\n\tusers: [],\r\n});\r\n\r\nmock.onGet('/api/users/1/posts').reply(200, {\r\n\tposts: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tmessage:\r\n\t\t\t\t'Just made this home screen for a project, what-cha thinkin?',\r\n\t\t\tmedia: '/images/posts/post_1.jpg',\r\n\t\t\tliked: true,\r\n\t\t\tlikes: 24,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Could use some more statistics, but that’s me haha',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Ava Gregoraci',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Hmm, honestly this looks nice but I would change the shadow though',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tmessage:\r\n\t\t\t\t'As a human being, you are designed in a way that makes you incapable of experiencing any positive emotion unless you set an aim and progress towards it. What makes you happy is not, in fact, attaining it, but making progress towards it.',\r\n\t\t\tliked: false,\r\n\t\t\tlikes: 65,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'That’s actually deep. Thanks for the design, would you consider making an interaction?',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage: 'It looks nice',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(7, 'hours'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/users/1/projects').reply(200, {\r\n\tprojects: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tupdated_at: moment().subtract(24, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Dashboard Design',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Devias IO',\r\n\t\t\t\tavatar: '',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'React JS',\r\n\t\t\t\t\tcolor: colors.indigo[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tupdated_at: moment().subtract(1, 'hour'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Ten80 Web Design',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Devias IO',\r\n\t\t\t\tavatar: '',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tupdated_at: moment().subtract(16, 'hour'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/users/1/reviews').reply(200, {\r\n\treviews: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\trating: 4,\r\n\t\t\tmessage:\r\n\t\t\t\t'Shen was really great during the all time session we created the project',\r\n\t\t\treviewer: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t},\r\n\t\t\tproject: {\r\n\t\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\t\tprice: '5,240.00',\r\n\t\t\t},\r\n\t\t\tpricePerHour: '43.00',\r\n\t\t\thours: 31,\r\n\t\t\tcurrency: '$',\r\n\t\t\tcreated_at: moment().subtract(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\trating: 5,\r\n\t\t\treviewer: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\tproject: {\r\n\t\t\t\ttitle: 'Dashboard Design',\r\n\t\t\t\tprice: '3,680.00',\r\n\t\t\t},\r\n\t\t\tpricePerHour: '38.00',\r\n\t\t\thours: 76,\r\n\t\t\tcurrency: '$',\r\n\t\t\tmessage:\r\n\t\t\t\t\"Being the savage's bowsman, that is, the person who pulled the bow-oar in his boat (the second one from forward), it was my cheerful duty to attend upon him while taking that hard-scrabble scramble upon the dead whale's back. You have seen Italian organ-boys holding a dancing-ape by a long cord. Just so, from the ship's steep side, did I hold Queequeg down there in the sea, by what is technically called in the fishery a monkey-rope, attached to a strong strip of canvas belted round his waist.\",\r\n\t\t\tcreated_at: moment().subtract(8, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/users/1/connections').reply(200, {\r\n\tconnections: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\tcommon: 12,\r\n\t\t\tstatus: 'connected',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Cao Yu',\r\n\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\tcommon: 10,\r\n\t\t\tstatus: 'rejected',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Alexa Richardson',\r\n\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\tcommon: 8,\r\n\t\t\tstatus: 'pending',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Adam Denisov',\r\n\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\tcommon: 5,\r\n\t\t\tstatus: 'not_connected',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ava Gregoraci',\r\n\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\tcommon: 1,\r\n\t\t\tstatus: 'connected',\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/invoices').reply(200, {\r\n\tinvoices: [],\r\n});\r\n\r\nmock.onGet('/api/invoices/1').reply(200, {\r\n\tinvoice: {\r\n\t\tid: uuid(),\r\n\t\tdue_date: moment(),\r\n\t\tissue_date: moment().add(15, 'days'),\r\n\t\tref: 'DEV-9483',\r\n\t\tcustomer: {\r\n\t\t\tname: 'Tracey Herman',\r\n\t\t\tcompany: 'Countdown Grey Lynn',\r\n\t\t\tnzbn: '6934656584231',\r\n\t\t\taddress: '271 Richmond Rd, Grey Lynn, Auckland 1022, New Zealand',\r\n\t\t},\r\n\t\tproducts: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tdesc: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\r\n\t\t\t\tvalue: '55.50',\r\n\t\t\t},\r\n\t\t],\r\n\t\tsubtotal: '50.00',\r\n\t\ttaxes: '5.50',\r\n\t\ttotal: '55.50',\r\n\t\tcurrency: '$',\r\n\t\tcreated_at: moment(),\r\n\t},\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/kanban').reply(200, {\r\n\tlists: [\r\n\t\t{\r\n\t\t\tid: 'incoming',\r\n\t\t\ttitle: 'Incoming',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 'in_progress',\r\n\t\t\ttitle: 'In progress',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 'in_review',\r\n\t\t\ttitle: 'In review',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 'completed',\r\n\t\t\ttitle: 'Completed',\r\n\t\t},\r\n\t],\r\n\ttasks: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '38',\r\n\t\t\tlist: 'incoming',\r\n\t\t\ttitle: 'Call with sales of HubSpot',\r\n\t\t\tdesc:\r\n\t\t\t\t'Duis condimentum lacus finibus felis pellentesque, ac auctor nibh fermentum. Duis sed dui ante. Phasellus id eros tincidunt, dictum lorem vitae, pellentesque sem. Aenean eu enim sit amet mauris rhoncus mollis. Sed enim turpis, porta a felis et, luctus faucibus nisi. Phasellus et metus fermentum, ultrices arcu aliquam, facilisis justo. Cras nunc nunc, elementum sed euismod ut, maximus eget nibh. Phasellus condimentum lorem neque. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce sagittis pharetra eleifend. Suspendisse potenti.',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_1.png',\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 1,\r\n\t\t\tprogress: 0,\r\n\t\t\tdeadline: moment().add(7, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '37',\r\n\t\t\tlist: 'incoming',\r\n\t\t\ttitle: 'Interview for the Asis. Sales Manager',\r\n\t\t\tdesc:\r\n\t\t\t\t'We are looking for vue experience and of course node js strong knowledge',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_3.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 2,\r\n\t\t\tprogress: 0,\r\n\t\t\tdeadline: moment().add(6, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '39',\r\n\t\t\tlist: 'incoming',\r\n\t\t\ttitle:\r\n\t\t\t\t'Change the height of the top bar because it looks too chunky',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: ['/images/avatars/avatar_11.png'],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 0,\r\n\t\t\tprogress: 0,\r\n\t\t\tdeadline: moment().add(5, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '19',\r\n\t\t\tlist: 'incoming',\r\n\t\t\ttitle: 'Integrate Stripe API',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_9.png',\r\n\t\t\t],\r\n\t\t\tfiles: 2,\r\n\t\t\tcomments: 1,\r\n\t\t\tprogress: 0,\r\n\t\t\tdeadline: moment().add(4, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '15',\r\n\t\t\tlist: 'in_progress',\r\n\t\t\ttitle: 'Update the customer API for payments',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: ['/images/avatars/avatar_10.png'],\r\n\t\t\tfiles: 2,\r\n\t\t\tcomments: 0,\r\n\t\t\tprogress: 60,\r\n\t\t\tdeadline: moment().add(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '10',\r\n\t\t\tlist: 'in_progress',\r\n\t\t\ttitle: 'Redesign the landing page',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_10.png',\r\n\t\t\t\t'/images/avatars/avatar_11.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 2,\r\n\t\t\tprogress: 76,\r\n\t\t\tdeadline: moment().add(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '24',\r\n\t\t\tlist: 'in_review',\r\n\t\t\ttitle:\r\n\t\t\t\t'Change the height of the top bar because it looks too chunky',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_4.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 7,\r\n\t\t\tprogress: 90,\r\n\t\t\tdeadline: moment().subtract(1, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '21',\r\n\t\t\tlist: 'in_review',\r\n\t\t\ttitle: 'Integrate Stripe API',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_4.png',\r\n\t\t\t\t'/images/avatars/avatar_8.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 7,\r\n\t\t\tprogress: 90,\r\n\t\t\tdeadline: moment().subtract(1, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '17',\r\n\t\t\tlist: 'completed',\r\n\t\t\ttitle: 'Design Customer Management Page',\r\n\t\t\tdesc:\r\n\t\t\t\t'Change the height of the top bar because it looks too chunky',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_9.png',\r\n\t\t\t],\r\n\t\t\tfiles: 3,\r\n\t\t\tcomments: 3,\r\n\t\t\tprogress: 100,\r\n\t\t\tdeadline: moment().subtract(7, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '23',\r\n\t\t\tlist: 'completed',\r\n\t\t\ttitle: 'Integrate Messaging API',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_4.png',\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_9.png',\r\n\t\t\t],\r\n\t\t\tfiles: 1,\r\n\t\t\tcomments: 0,\r\n\t\t\tprogress: 100,\r\n\t\t\tdeadline: moment().subtract(7, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/tasks').reply(200, {\r\n\ttasks: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Update the API for the project',\r\n\t\t\tdeadline: moment().add(1, 'days').add(1, 'hour'),\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_3.png',\r\n\t\t\t\t'/images/avatars/avatar_4.png',\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_7.png',\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Redesign the landing page',\r\n\t\t\tdeadline: moment().add(2, 'day').add(1, 'hour'),\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_8.png',\r\n\t\t\t\t'/images/avatars/avatar_10.png',\r\n\t\t\t\t'/images/avatars/avatar_12.png',\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Solve the bug for the showState',\r\n\t\t\tdeadline: moment(),\r\n\t\t\tmembers: ['/images/avatars/avatar_7.png'],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Release v1.0 Beta',\r\n\t\t\tdeadline: null,\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_10.png',\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'GDPR Compliance',\r\n\t\t\tdeadline: null,\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Redesign Landing Page',\r\n\t\t\tdeadline: null,\r\n\t\t\tmembers: ['/images/avatars/avatar_8.png'],\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/orders').reply(200, {\r\n\torders: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment().subtract(10, 'minutes'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD103',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'pending',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(32, 'minutes')\r\n\t\t\t\t.subtract(23, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD102',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'pending',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(36, 'minutes')\r\n\t\t\t\t.subtract(51, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD101',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t},\r\n\t\t\tstatus: 'active',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(38, 'minutes')\r\n\t\t\t\t.subtract(55, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD100',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'pending',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment().subtract(40, 'minutes').subtract(3, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD99',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t},\r\n\t\t\tstatus: 'active',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(45, 'minutes')\r\n\t\t\t\t.subtract(32, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD98',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t},\r\n\t\t\tstatus: 'active',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(48, 'minutes')\r\n\t\t\t\t.subtract(57, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Ava Gregoraci',\r\n\t\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD97',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'pending',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment().subtract(49, 'minutes').subtract(4, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD96',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t},\r\n\t\t\tstatus: 'active',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(57, 'minutes')\r\n\t\t\t\t.subtract(43, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD95',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'rejected',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment().subtract(59, 'minutes').subtract(6, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD94',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'canceled',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(1, 'hour')\r\n\t\t\t\t.subtract(15, 'minutes')\r\n\t\t\t\t.subtract(43, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Merrile Burgett',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD93',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'canceled',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/orders/1').reply(200, {\r\n\torder: {\r\n\t\tid: uuid(),\r\n\t\tref: 'FAD107',\r\n\t\tpromoCode: null,\r\n\t\tvalue: '55.25',\r\n\t\tcurrency: '$',\r\n\t\tstatus: 'canceled',\r\n\t\tcustomer: {\r\n\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\taddress: 'Street King William, 42456',\r\n\t\t\tcity: 'Montgomery',\r\n\t\t\tcountry: 'United States',\r\n\t\t},\r\n\t\titems: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Project Points',\r\n\t\t\t\tcuantity: 25,\r\n\t\t\t\tbilling: 'monthly',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t\tvalue: '50.25',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Freelancer Subscription',\r\n\t\t\t\tcuantity: 1,\r\n\t\t\t\tbilling: 'monthly',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t\tvalue: '5.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t},\r\n\t\t],\r\n\t\tcreated_at: moment(),\r\n\t},\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/dashboard/top-referrals').reply(200, {\r\n\treferrals: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.blueGrey['700'],\r\n\t\t\tname: 'GitHub',\r\n\t\t\tinitials: 'GT',\r\n\t\t\tvalue: '53,032',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.cyan['500'],\r\n\t\t\tname: 'Twitter',\r\n\t\t\tinitials: 'TW',\r\n\t\t\tvalue: '39,551',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.indigo[600],\r\n\t\t\tname: 'Hacker News',\r\n\t\t\tinitials: 'HN',\r\n\t\t\tvalue: '23,150',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.red['500'],\r\n\t\t\tname: 'Stack Overflow',\r\n\t\t\tinitials: 'SO',\r\n\t\t\tvalue: '14,093',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.orange['900'],\r\n\t\t\tname: 'Reddit.com',\r\n\t\t\tinitials: 'RD',\r\n\t\t\tvalue: '7,251',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.blueGrey['900'],\r\n\t\t\tname: 'Dev.to',\r\n\t\t\tinitials: 'DE',\r\n\t\t\tvalue: '5,694',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.blue['900'],\r\n\t\t\tname: 'Facebook',\r\n\t\t\tinitials: 'FB',\r\n\t\t\tvalue: '3,643',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.blueGrey['900'],\r\n\t\t\tname: 'Medium',\r\n\t\t\tinitials: 'MD',\r\n\t\t\tvalue: '1,654',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/profitable-products').reply(200, {\r\n\tproducts: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'freelancer_basic',\r\n\t\t\tname: 'Freelancer Basic Subscription',\r\n\t\t\timage: '/images/products/product_freelancer.svg',\r\n\t\t\tsubscriptions: '13,153',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '5.00',\r\n\t\t\tprogress: 93,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'freelancer_extra',\r\n\t\t\tname: 'Freelancer Extra Subscription',\r\n\t\t\timage: '/images/products/product_freelancer.svg',\r\n\t\t\tsubscriptions: '10,300',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '15.00',\r\n\t\t\tprogress: 76,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'agency_basic',\r\n\t\t\tname: 'Agency Basic Subscription',\r\n\t\t\timage: '/images/products/product_agency.svg',\r\n\t\t\tsubscriptions: '5,300',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '25.00',\r\n\t\t\tprogress: 60,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'enterprise_basic',\r\n\t\t\tname: 'Enterprise Basic Subscription',\r\n\t\t\timage: '/images/products/product_enterprise.svg',\r\n\t\t\tsubscriptions: '1,203',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '205.00',\r\n\t\t\tprogress: 46,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'enterprise_extra',\r\n\t\t\tname: 'Enterprise Extra Subscription',\r\n\t\t\timage: '/images/products/product_enterprise.svg',\r\n\t\t\tsubscriptions: '254',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '500.00',\r\n\t\t\tprogress: 41,\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/customer-activity').reply(200, {\r\n\tcustomers: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(23, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(56, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(5, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(5, 'minutes'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/earnings').reply(200, {\r\n\tearnings: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tlabel: 'Subscriptions',\r\n\t\t\tvalue: 56,\r\n\t\t\tcolor: colors.indigo[500],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tlabel: 'Afiliate',\r\n\t\t\tvalue: 24,\r\n\t\t\tcolor: colors.indigo[300],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tlabel: 'Sales',\r\n\t\t\tvalue: 20,\r\n\t\t\tcolor: colors.indigo[100],\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/latest-orders').reply(200, {\r\n\torders: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1042',\r\n\t\t\titems: 7,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\temail: 'ekaterina@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'pending',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1041',\r\n\t\t\titems: 8,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\temail: 'cao.yu@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'complete',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1040',\r\n\t\t\titems: 4,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t\temail: 'alexa.richardson@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'rejected',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1039',\r\n\t\t\titems: 1,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\temail: 'anje.keiser@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'pending',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1038',\r\n\t\t\titems: 5,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\temail: 'clarke.gillebert@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'complete',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1037',\r\n\t\t\titems: 2,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Merrile Burgett',\r\n\t\t\t\temail: 'merrile.burgett@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'complete',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/latest-projects').reply(200, {\r\n\tprojects: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Dashboard Design',\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'HTML & CSS',\r\n\t\t\t\t\tcolor: colors.grey[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Ten80 Web Design',\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'React JS',\r\n\t\t\t\t\tcolor: colors.indigo[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Neura e-commerce UI Kit',\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Administrator Dashboard',\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t],\r\n});\r\n","import React from 'react';\r\nimport { Router } from 'react-router-dom';\r\nimport { createBrowserHistory } from 'history';\r\nimport { SnackbarProvider } from 'notistack';\r\nimport { Provider as StoreProvider } from 'react-redux';\r\nimport { StyledEngineProvider, ThemeProvider } from '@mui/material/styles';\r\nimport DateAdapter from '@mui/lab/AdapterMoment';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\nimport { renderRoutes } from 'react-router-config';\r\nimport jwt from 'jwt-decode';\r\nimport { DateEnv } from '@fullcalendar/core';\r\nimport config from 'configuration/configuration.js';\r\nimport theme from './theme';\r\nimport { configureStore } from './store';\r\nimport routes from './routes';\r\nimport { getUserInfo } from './actions';\r\nimport { Loading, ScrollReset, GoogleAnalytics, CookiesNotification } from './components';\r\nimport Notifier from './components/Notifier/Notifier';\r\nimport './mixins/chartjs';\r\nimport './mixins/moment';\r\nimport './mixins/validate';\r\nimport './mixins/prismjs';\r\nimport './mock';\r\nimport './assets/scss/index.scss';\r\n\r\nimport { interceptor } from './utils/AxiosRequest';\r\n\r\nconst history = createBrowserHistory({ basename: process.env.PUBLIC_URL });\r\nconst store = configureStore();\r\ninterceptor(store);\r\n\r\nconst App = () => {\r\n\tconst token = localStorage.getItem(config.TOKEN_KEY);\r\n\tif (token) {\r\n\t\tconst decoded = jwt(token);\r\n\t\tconst currentDate = new Date().getTime() / 1000;\r\n\t\tif (decoded.exp > currentDate) {\r\n\t\t\tstore.dispatch(getUserInfo(token));\r\n\t\t}\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{renderRoutes(routes)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default App;\r\n","import { applyMiddleware, createStore, compose } from 'redux';\r\nimport thunkMiddleware from 'redux-thunk';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\n// import { createLogger } from 'redux-logger';\r\nimport rootReducer from 'reducers';\r\n// const loggerMiddleware = createLogger();\r\n\r\nexport default function configureStore(preloadedState = {}) {\r\n\tconst middlewares = [thunkMiddleware]; // loggerMiddleware\r\n\tconst middlewareEnhancer = composeWithDevTools(\r\n\t\tapplyMiddleware(...middlewares)\r\n\t);\r\n\r\n\tconst enhancers = [middlewareEnhancer];\r\n\tconst composedEnhancers = compose(...enhancers);\r\n\r\n\tconst store = createStore(rootReducer, preloadedState, composedEnhancers);\r\n\r\n\treturn store;\r\n}\r\n","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in projection, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read http://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n\twindow.location.hostname === 'localhost'\r\n\t// [::1] is the IPv6 localhost address.\r\n\t|| window.location.hostname === '[::1]'\r\n\t// 127.0.0.1/8 is considered localhost for IPv4.\r\n\t|| window.location.hostname.match(\r\n\t\t/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n\t)\r\n);\r\n\r\nexport function register(config) {\r\n\tif (process.env.NODE_ENV === 'projection' && 'serviceWorker' in navigator) {\r\n\t\t// The URL constructor is available in all browsers that support SW.\r\n\t\tconst publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n\t\tif (publicUrl.origin !== window.location.origin) {\r\n\t\t\t// Our service worker won't work if PUBLIC_URL is on a different origin\r\n\t\t\t// from what our page is served on. This might happen if a CDN is used to\r\n\t\t\t// serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\twindow.addEventListener('load', () => {\r\n\t\t\tconst swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n\t\t\tif (isLocalhost) {\r\n\t\t\t\t// This is running on localhost. Let's check if a service worker still exists or not.\r\n\t\t\t\tcheckValidServiceWorker(swUrl, config);\r\n\r\n\t\t\t\t// Add some additional logging to localhost, pointing developers to the\r\n\t\t\t\t// service worker/PWA documentation.\r\n\t\t\t\tnavigator.serviceWorker.ready.then(() => {\r\n\t\t\t\t\tconsole.log(\r\n\t\t\t\t\t\t'This web app is being served cache-first by a service '\r\n\t\t\t\t\t\t+ 'worker. To learn more, visit http://bit.ly/CRA-PWA'\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t// Is not localhost. Just register service worker\r\n\t\t\t\tregisterValidSW(swUrl, config);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n\tnavigator.serviceWorker\r\n\t\t.register(swUrl)\r\n\t\t.then((registration) => {\r\n\t\t\tregistration.onupdatefound = () => {\r\n\t\t\t\tconst installingWorker = registration.installing;\r\n\t\t\t\tif (installingWorker == null) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tinstallingWorker.onstatechange = () => {\r\n\t\t\t\t\tif (installingWorker.state === 'installed') {\r\n\t\t\t\t\t\tif (navigator.serviceWorker.controller) {\r\n\t\t\t\t\t\t\t// At this point, the updated precached content has been fetched,\r\n\t\t\t\t\t\t\t// but the previous service worker will still serve the older\r\n\t\t\t\t\t\t\t// content until all client tabs are closed.\r\n\t\t\t\t\t\t\tconsole.log(\r\n\t\t\t\t\t\t\t\t'New content is available and will be used when all '\r\n\t\t\t\t\t\t\t\t+ 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\r\n\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t// Execute callback\r\n\t\t\t\t\t\t\tif (config && config.onUpdate) {\r\n\t\t\t\t\t\t\t\tconfig.onUpdate(registration);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// At this point, everything has been precached.\r\n\t\t\t\t\t\t\t// It's the perfect time to display a\r\n\t\t\t\t\t\t\t// \"Content is cached for offline use.\" message.\r\n\t\t\t\t\t\t\tconsole.log('Content is cached for offline use.');\r\n\r\n\t\t\t\t\t\t\t// Execute callback\r\n\t\t\t\t\t\t\tif (config && config.onSuccess) {\r\n\t\t\t\t\t\t\t\tconfig.onSuccess(registration);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t})\r\n\t\t.catch((error) => {\r\n\t\t\tconsole.error('Error during service worker registration:', error);\r\n\t\t});\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n\t// Check if the service worker can be found. If it can't reload the page.\r\n\tfetch(swUrl)\r\n\t\t.then((response) => {\r\n\t\t\t// Ensure service worker exists, and that we really are getting a JS file.\r\n\t\t\tconst contentType = response.headers.get('content-type');\r\n\t\t\tif (\r\n\t\t\t\tresponse.status === 404\r\n\t\t\t\t|| (contentType != null\r\n\t\t\t\t\t&& contentType.indexOf('javascript') === -1)\r\n\t\t\t) {\r\n\t\t\t\t// No service worker found. Probably a different app. Reload the page.\r\n\t\t\t\tnavigator.serviceWorker.ready.then((registration) => {\r\n\t\t\t\t\tregistration.unregister().then(() => {\r\n\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t// Service worker found. Proceed as normal.\r\n\t\t\t\tregisterValidSW(swUrl, config);\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(() => {\r\n\t\t\tconsole.log(\r\n\t\t\t\t'No internet connection found. App is running in offline mode.'\r\n\t\t\t);\r\n\t\t});\r\n}\r\n\r\nexport function unregister() {\r\n\tif ('serviceWorker' in navigator) {\r\n\t\tnavigator.serviceWorker.ready.then((registration) => {\r\n\t\t\tregistration.unregister();\r\n\t\t});\r\n\t}\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\nserviceWorker.unregister();\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Select from '@mui/material/Select';\r\nimport MenuItem from '@mui/material/MenuItem';\r\nimport FormControl from '@mui/material/FormControl';\r\nimport FormHelperText from '@mui/material/FormHelperText';\r\nimport InputLabel from '@mui/material/InputLabel';\r\nimport { makeStyles } from '@mui/styles';\r\nimport Checkbox from '../Checkbox/Checkbox';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tchips: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tchip: {\r\n\t\tmargin: theme.spacing(0.25),\r\n\t},\r\n}));\r\n\r\nconst SelectField = (props) => {\r\n\tconst { id, name, value, error = false, onChange, hintText, menuItems, isMultiSelect = false, customRenderValue, formControlStyle, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst [labelWidth, setLabelWidth] = useState(0);\r\n\tconst InputLabelRef = useRef(undefined);\r\n\tuseEffect(() => {\r\n\t\tsetLabelWidth(InputLabelRef.current ? InputLabelRef.current.offsetWidth : 0);\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t {\r\n\t\t\t\t\tInputLabelRef.current = ref;\r\n\t\t\t\t}}\r\n\t\t\t\thtmlFor={`${hintText}_selectField_input_id`}\r\n\t\t\t>\r\n\t\t\t\t{hintText}\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\tconst selectedText = menuItems.filter((item) => selected.indexOf(item.value) !== -1);\r\n\t\t\t\t\treturn selectedText.map(item => item.text).join(', ');\r\n\t\t\t\t} : false}\r\n\t\t\t\t{...rest}\r\n\t\t\t>\r\n\t\t\t\t{\r\n\t\t\t\t\t!isMultiSelect && menuItems.map((item, i) => ({item.text}))\r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\tisMultiSelect && menuItems.map((item, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t -1} />\r\n\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t{\r\n\t\t\t\terror && (\r\n\t\t\t\t\t{error}\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\r\n\t);\r\n};\r\n\r\nSelectField.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.number\r\n\t]),\r\n\tname: PropTypes.string,\r\n\terror: PropTypes.any,\r\n\tonChange: PropTypes.func.isRequired,\r\n\thintText: PropTypes.string.isRequired,\r\n\tmenuItems: PropTypes.array.isRequired,\r\n\tclasses: PropTypes.object,\r\n\tisMultiSelect: PropTypes.bool,\r\n\tcustomRenderValue: PropTypes.func,\r\n\tformControlStyle: PropTypes.object\r\n};\r\n\r\nexport default SelectField;\r\n","import React, { useState, useRef } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardContent,\r\n\tDivider,\r\n\tIconButton,\r\n\tInput,\r\n\tPaper,\r\n\tTooltip,\r\n} from '@mui/material';\r\nimport SendIcon from '@mui/icons-material/Send';\r\nimport AddPhotoIcon from '@mui/icons-material/AddPhotoAlternate';\r\nimport AttachFileIcon from '@mui/icons-material/AttachFile';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tpaper: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: theme.spacing(0.5, 2),\r\n\t},\r\n\tinput: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\twidth: 1,\r\n\t\theight: 24,\r\n\t},\r\n\tfileInput: {\r\n\t\tdisplay: 'none',\r\n\t},\r\n}));\r\n\r\nconst AddPost = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst fileInputRef = useRef(null);\r\n\tconst [value, setValue] = useState('');\r\n\tconst session = useSelector((state) => state.session);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetValue(event.target.value);\r\n\t};\r\n\r\n\tconst handleAttach = () => {\r\n\t\tfileInputRef.current.click();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t 0 ? 'primary' : 'default'} size=\"large\">\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddPost.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default AddPost;\r\n","import React, { forwardRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Paper, IconButton, Typography, Collapse, colors } from '@mui/material';\r\nimport CheckCircleIcon from '@mui/icons-material/CheckCircleOutlined';\r\nimport CloseIcon from '@mui/icons-material/CloseOutlined';\r\nimport ErrorIcon from '@mui/icons-material/ErrorOutlined';\r\nimport InfoIcon from '@mui/icons-material/InfoOutlined';\r\nimport WarningIcon from '@mui/icons-material/WarningOutlined';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tpadding: '6px 16px',\r\n\t\tborderRadius: theme.shape.borderRadius,\r\n\t},\r\n\tdefault: {\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t},\r\n\tsuccess: {\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\tcolor: theme.palette.white,\r\n\t},\r\n\tinfo: {\r\n\t\tbackgroundColor: colors.lightBlue[600],\r\n\t\tcolor: theme.palette.white,\r\n\t},\r\n\twarning: {\r\n\t\tbackgroundColor: colors.orange[900],\r\n\t\tcolor: theme.palette.white,\r\n\t},\r\n\terror: {\r\n\t\tbackgroundColor: theme.palette.error.main,\r\n\t\tcolor: theme.palette.error.contrastText,\r\n\t},\r\n\tmessage: {\r\n\t\tflexGrow: 1,\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tpadding: '8px 0',\r\n\t},\r\n\ticon: {\r\n\t\tfontSize: 20,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\taction: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tmarginLeft: 'auto',\r\n\t\tpaddingLeft: 16,\r\n\t\tmarginRight: -8,\r\n\t},\r\n}));\r\n\r\nconst icons = {\r\n\tdefault: ,\r\n\tsuccess: ,\r\n\tinfo: ,\r\n\twarning: ,\r\n\terror: ,\r\n};\r\n\r\nconst Alert = forwardRef((props, ref) => {\r\n\tconst { className, icon, variant, message, onClose, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [open, setOpen] = useState(true);\r\n\r\n\tconst _onClose = () => {\r\n\t\tsetOpen(false);\r\n\t\tonClose(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{icon || icons[variant]}\r\n\t\t\t\t
{message}
\r\n\t\t\t\t{onClose && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nAlert.displayName = 'Alert';\r\n\r\nAlert.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\ticon: PropTypes.node,\r\n\tmessage: PropTypes.string.isRequired,\r\n\tonClose: PropTypes.func,\r\n\tvariant: PropTypes.oneOf([\r\n\t\t'default',\r\n\t\t'info',\r\n\t\t'success',\r\n\t\t'warning',\r\n\t\t'error',\r\n\t]),\r\n};\r\n\r\nAlert.defaultProps = {\r\n\tvariant: 'default',\r\n};\r\n\r\nexport default Alert;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport * as Prism from 'prismjs';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport makeStyles from '@mui/styles/makeStyles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {},\r\n}));\r\n\r\nconst trimCode = (input) => {\r\n\tconst codeLines = input.split('\\n');\r\n\r\n\tif (!codeLines[0].trim()) {\r\n\t\tcodeLines.shift();\r\n\t}\r\n\r\n\tif (!codeLines[codeLines.length - 1].trim()) {\r\n\t\tcodeLines.pop();\r\n\t}\r\n\r\n\tconst indexOfFirstChar = codeLines[0].search(/\\S|$/);\r\n\r\n\tlet output = '';\r\n\r\n\tcodeLines.forEach((line, index) => {\r\n\t\toutput += line.substr(indexOfFirstChar, line.length);\r\n\r\n\t\tif (index !== codeLines.length - 1) {\r\n\t\t\toutput = `${output}\\n`;\r\n\t\t}\r\n\t});\r\n\r\n\treturn output;\r\n};\r\n\r\nconst CodeBlock = (props) => {\r\n\tconst {\r\n\t\tasync,\r\n\t\tsource,\r\n\t\tlanguage,\r\n\t\tclassName,\r\n\t\tcomponent: Component,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst ref = useRef(null);\r\n\tconst classes = useStyles();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst highlight = () => {\r\n\t\t\tPrism.highlightElement(ref.current, async);\r\n\t\t};\r\n\r\n\t\thighlight();\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{trimCode(source)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCodeBlock.propTypes = {\r\n\tasync: PropTypes.bool,\r\n\tclassName: PropTypes.string,\r\n\tcomponent: PropTypes.node,\r\n\tlanguage: PropTypes.string.isRequired,\r\n\tsource: PropTypes.string.isRequired,\r\n};\r\n\r\nCodeBlock.defaultProps = {\r\n\tcomponent: 'code',\r\n};\r\n\r\nexport default CodeBlock;\r\n","import React, { useState, useEffect } from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Paper, Typography, Link, Button } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: 420,\r\n\t\tposition: 'fixed',\r\n\t\tbottom: 0,\r\n\t\tright: 0,\r\n\t\tmargin: theme.spacing(3),\r\n\t\toutline: 'none',\r\n\t\tzIndex: 2000,\r\n\t},\r\n\tmedia: {\r\n\t\tpadding: theme.spacing(1, 2),\r\n\t\theight: 180,\r\n\t\ttextAlign: 'center',\r\n\t\t'& > img': {\r\n\t\t\theight: '100%',\r\n\t\t\twidth: 'auto',\r\n\t\t},\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(1, 2),\r\n\t},\r\n\tactions: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'flex-end',\r\n\t\tpadding: theme.spacing(1, 2, 2, 1),\r\n\t},\r\n}));\r\n\r\nconst CookiesNotification = () => {\r\n\tconst classes = useStyles();\r\n\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst consent = Cookies.get('consent');\r\n\r\n\t\tif (!consent) {\r\n\t\t\tsetOpen(true);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleClose = () => {\r\n\t\tCookies.set('consent', 'true');\r\n\t\tsetOpen(false);\r\n\t};\r\n\r\n\tif (!open) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/*
\r\n\t\t\t\t\"Cookies\"\r\n\t\t\t
*/}\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tWe use Cookies to ensure that we give you the best\r\n\t\t\t\t\texperience on our website. Read our\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPrivacy Policy\r\n\t\t\t\t\t\r\n\t\t\t\t\t.\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tI Agree\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default CookiesNotification;\r\n","import React, { Fragment, useState, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { useDropzone } from 'react-dropzone';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tIconButton,\r\n\tLink,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTypography,\r\n\tTooltip,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport FileCopyIcon from '@mui/icons-material/FileCopy';\r\nimport MoreIcon from '@mui/icons-material/MoreVert';\r\n\r\nimport bytesToSize from 'utils/bytesToSize';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdropZone: {\r\n\t\tborder: `1px dashed ${theme.palette.divider}`,\r\n\t\tpadding: theme.spacing(6),\r\n\t\toutline: 'none',\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\talignItems: 'center',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.grey[50],\r\n\t\t\topacity: 0.5,\r\n\t\t\tcursor: 'pointer',\r\n\t\t},\r\n\t},\r\n\tdragActive: {\r\n\t\tbackgroundColor: colors.grey[50],\r\n\t\topacity: 0.5,\r\n\t},\r\n\timage: {\r\n\t\twidth: 130,\r\n\t},\r\n\tinfo: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tlist: {\r\n\t\tmaxHeight: 320,\r\n\t},\r\n\tactions: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'flex-end',\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst FilesDropzone = (props) => {\r\n\tconst { multiple, acceptedTypes, upload, maxSize, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [files, setFiles] = useState([]);\r\n\r\n\tconst handleDrop = useCallback((acceptedFiles) => {\r\n\t\tif (multiple) {\r\n\t\t\tsetFiles((f) => [...f].concat(acceptedFiles));\r\n\t\t} else {\r\n\t\t\tsetFiles([...acceptedFiles]);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleRemoveAll = () => {\r\n\t\tsetFiles([]);\r\n\t};\r\n\r\n\tconst { getRootProps, getInputProps, isDragActive } = useDropzone({\r\n\t\tmultiple,\r\n\t\taccept: acceptedTypes,\r\n\t\tmaxSize,\r\n\t\tonDrop: handleDrop,\r\n\t});\r\n\r\n\tconst _upload = () => {\r\n\t\tif (upload) {\r\n\t\t\tupload(files);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tSelect files\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDrop files here or click\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\tbrowse\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\tthorough your\r\n\t\t\t\t\t\tmachine\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{files.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{files.map((file, i) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tUpload\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nFilesDropzone.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tmultiple: PropTypes.bool,\r\n\tacceptedTypes: PropTypes.string,\r\n\tmaxSize: PropTypes.number,\r\n\tupload: PropTypes.func\r\n};\r\n\r\nexport default FilesDropzone;\r\n","import React, { Fragment, useRef, useState, memo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTooltip,\r\n\tIconButton,\r\n\tMenu,\r\n\tMenuItem,\r\n} from '@mui/material';\r\nimport MoreIcon from '@mui/icons-material/MoreVert';\r\nimport GetAppIcon from '@mui/icons-material/GetApp';\r\nimport FileCopyIcon from '@mui/icons-material/FileCopy';\r\nimport PrintIcon from '@mui/icons-material/Print';\r\nimport PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';\r\nimport AchiveIcon from '@mui/icons-material/ArchiveOutlined';\r\n\r\nconst useStyles = makeStyles(() => ({}));\r\n\r\nconst GenericMoreButton = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst moreRef = useRef(null);\r\n\tconst [openMenu, setOpenMenu] = useState(false);\r\n\r\n\tconst handleMenuOpen = () => {\r\n\t\tsetOpenMenu(true);\r\n\t};\r\n\r\n\tconst handleMenuClose = () => {\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nGenericMoreButton.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default memo(GenericMoreButton);\r\n","/* eslint-disable react/no-danger */\r\nimport React from 'react';\r\nimport { Helmet } from 'react-helmet';\r\n\r\n// eslint-disable-next-line no-undef\r\nconst GA_MEASUREMENT_ID = process.env.REACT_APP_GA_MEASUREMENT_ID;\r\n\r\nconst GoogleAnalytics = () => (\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n);\r\n\r\nexport default GoogleAnalytics;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport Prism from 'prismjs';\r\nimport ReactMarkdown from 'react-markdown/with-html';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\t'& h1': {\r\n\t\t\t...theme.typography.h1,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h2': {\r\n\t\t\t...theme.typography.h2,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h3': {\r\n\t\t\t...theme.typography.h3,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h4': {\r\n\t\t\t...theme.typography.h4,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h5': {\r\n\t\t\t...theme.typography.h5,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h6': {\r\n\t\t\t...theme.typography.h6,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& p': {\r\n\t\t\t...theme.typography.subtitle1,\r\n\t\t\tmarginBottom: theme.spacing(2),\r\n\t\t},\r\n\t\t'& ul': {\r\n\t\t\tmarginLeft: theme.spacing(3),\r\n\t\t\tmarginBottom: theme.spacing(2),\r\n\t\t},\r\n\t\t'& ol': {\r\n\t\t\tmarginLeft: theme.spacing(3),\r\n\t\t\tmarginBottom: theme.spacing(2),\r\n\t\t},\r\n\t\t'& li': {\r\n\t\t\t...theme.typography.subtitle1,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& hr': {\r\n\t\t\tmarginTop: theme.spacing(3),\r\n\t\t\tmarginBottom: theme.spacing(3),\r\n\t\t\tbackgroundColor: colors.grey[300],\r\n\t\t\tborder: 0,\r\n\t\t\theight: 1,\r\n\t\t},\r\n\t\t'& a': {\r\n\t\t\tcolor: theme.palette.link,\r\n\t\t\t'&:hover': {\r\n\t\t\t\ttextDecoration: 'underline',\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Markdown = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tuseEffect(() => {\r\n\t\tPrism.highlightAll();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nMarkdown.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Markdown;\r\n","/* eslint-disable react/display-name */\r\nimport React, { useState, forwardRef } from 'react';\r\nimport { NavLink as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { ListItem, Button, Collapse, colors } from '@mui/material';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\r\n\r\nconst CustomRouterLink = forwardRef((props, ref) => (\r\n\t
\r\n\t\t\r\n\t
\r\n));\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\titem: {\r\n\t\tdisplay: 'block',\r\n\t\tpaddingTop: 0,\r\n\t\tpaddingBottom: 0,\r\n\t},\r\n\titemLeaf: {\r\n\t\tdisplay: 'flex',\r\n\t\tpaddingTop: 0,\r\n\t\tpaddingBottom: 0,\r\n\t},\r\n\tbutton: {\r\n\t\tcolor: colors.blueGrey[800],\r\n\t\tpadding: '10px 8px',\r\n\t\tjustifyContent: 'flex-start',\r\n\t\ttextTransform: 'none',\r\n\t\tletterSpacing: 0,\r\n\t\twidth: '100%',\r\n\t},\r\n\tbuttonLeaf: {\r\n\t\tcolor: colors.blueGrey[800],\r\n\t\tpadding: '10px 8px',\r\n\t\tjustifyContent: 'flex-start',\r\n\t\ttextTransform: 'none',\r\n\t\tletterSpacing: 0,\r\n\t\twidth: '100%',\r\n\t\tfontWeight: theme.typography.fontWeightRegular,\r\n\t\t'&.depth-0': {\r\n\t\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t\t},\r\n\t},\r\n\ticon: {\r\n\t\tcolor: theme.palette.icon,\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\texpandIcon: {\r\n\t\tmarginLeft: 'auto',\r\n\t\theight: 16,\r\n\t\twidth: 16,\r\n\t},\r\n\tlabel: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tmarginLeft: 'auto',\r\n\t},\r\n\tactive: {\r\n\t\tcolor: theme.palette.primary.main,\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t\t'& $icon': {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst NavigationListItem = (props) => {\r\n\tconst {\r\n\t\ttitle,\r\n\t\thref,\r\n\t\tdepth,\r\n\t\tchildren,\r\n\t\ticon: Icon,\r\n\t\tclassName,\r\n\t\topen: openProp,\r\n\t\tlabel: Label,\r\n\t\ttarget,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [open, setOpen] = useState(openProp);\r\n\r\n\tconst handleToggle = () => {\r\n\t\tsetOpen((o) => !o);\r\n\t};\r\n\r\n\tlet paddingLeft = 8;\r\n\r\n\tif (depth > 0) {\r\n\t\tpaddingLeft = 32 + 8 * depth;\r\n\t}\r\n\r\n\tconst style = {\r\n\t\tpaddingLeft,\r\n\t};\r\n\r\n\tif (children) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{Icon && }\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\t{open ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t);\r\n\t} if (target) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t window.open(href, target)}\r\n\t\t\t\t>\r\n\t\t\t\t\t{Icon && }\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\t{Label && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{Icon && }\r\n\t\t\t\t{title}\r\n\t\t\t\t{Label && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nNavigationListItem.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\tclassName: PropTypes.string,\r\n\tdepth: PropTypes.number,\r\n\thref: PropTypes.string,\r\n\ticon: PropTypes.any,\r\n\tlabel: PropTypes.any,\r\n\topen: PropTypes.bool,\r\n\ttitle: PropTypes.string.isRequired,\r\n\ttarget: PropTypes.any\r\n};\r\n\r\nNavigationListItem.defaultProps = {\r\n\tdepth: 0,\r\n\topen: false,\r\n};\r\n\r\nexport default NavigationListItem;\r\n","/* eslint-disable react/no-multi-comp */\r\nimport React from 'react';\r\nimport { matchPath } from 'react-router-dom';\r\nimport _ from 'underscore';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { List, Typography } from '@mui/material';\r\n\r\nimport useRouter from 'utils/useRouter';\r\nimport { NavigationListItem } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginBottom: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst reduceChildRoutes = (props) => {\r\n\tconst { router, items, page, depth, userRole, userProjects } = props;\r\n\tif ((!page.roles || page.roles.includes(userRole)) && (!page.projects || _.intersection(page.projects, userProjects).length !== 0)) {\r\n\t\tif (page.children) {\r\n\t\t\tconst open = matchPath(router.location.pathname, {\r\n\t\t\t\tpath: page.href,\r\n\t\t\t\texact: false,\r\n\t\t\t});\r\n\r\n\t\t\titems.push(\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\titems.push(\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\treturn items;\r\n};\r\n\r\nconst NavigationList = (props) => {\r\n\tconst { pages, ...rest } = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{pages.reduce(\r\n\t\t\t\t(items, page) => reduceChildRoutes({ items, page, ...rest }),\r\n\t\t\t\t[]\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nNavigationList.propTypes = {\r\n\tdepth: PropTypes.number,\r\n\tpages: PropTypes.array,\r\n};\r\n\r\nconst Navigation = (props) => {\r\n\tconst { title, pages, className, component: Component, userRole, userProjects, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{title && {title}}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nNavigation.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tcomponent: PropTypes.any,\r\n\tpages: PropTypes.array.isRequired,\r\n\ttitle: PropTypes.string,\r\n\tuserRole: PropTypes.string,\r\n\tuserProjects: PropTypes.string\r\n};\r\n\r\nNavigation.defaultProps = {\r\n\tcomponent: 'nav',\r\n};\r\n\r\nexport default Navigation;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tList,\r\n\tListItem,\r\n\tListItemAvatar,\r\n\tListItemText,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\nimport AnnouncementIcon from '@mui/icons-material/Announcement';\r\nimport WarningIcon from '@mui/icons-material/Warning';\r\nimport ErrorIcon from '@mui/icons-material/Error';\r\nimport CheckIcon from '@mui/icons-material/CheckCircle';\r\n\r\nimport gradients from '../../../../utils/gradients';\r\n\r\nimport { NotificationMarkAsRead } from '../../../../actions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tlistItem: {\r\n\t\tcursor: 'pointer',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: theme.palette.background.default,\r\n\t\t},\r\n\t},\r\n\tavatarBlue: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t},\r\n\tavatarGreen: {\r\n\t\tbackgroundImage: gradients.green,\r\n\t},\r\n\tavatarOrange: {\r\n\t\tbackgroundImage: gradients.orange,\r\n\t},\r\n\tavatarRed: {\r\n\t\tbackgroundImage: gradients.red,\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tcolor: theme.palette.icon,\r\n\t},\r\n}));\r\n\r\nconst NotificationList = (props) => {\r\n\tconst { notifications, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\r\n\tconst avatars = {\r\n\t\tinfo: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\twarning: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\tsuccess: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\terror: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t};\r\n\r\n\tconst handleNotificationClick = (id) => {\r\n\t\tdispatch(NotificationMarkAsRead(id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{notifications.map((notification, i) => (\r\n\t\t\t\t (!notification.readed ? handleNotificationClick(notification.id) : {})}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{avatars[notification.icon]}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nNotificationList.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tnotifications: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default NotificationList;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\ttextAlign: 'center',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\timage: {\r\n\t\theight: 240,\r\n\t\tbackgroundImage: 'url(\"/images/undraw_empty_xct9.svg\")',\r\n\t\tbackgroundPositionX: 'right',\r\n\t\tbackgroundPositionY: 'center',\r\n\t\tbackgroundRepeat: 'no-repeat',\r\n\t\tbackgroundSize: 'cover',\r\n\t},\r\n}));\r\n\r\nconst EmptyList = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\tThere's nothing here...\r\n\t\t
\r\n\t);\r\n};\r\n\r\nEmptyList.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default EmptyList;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tPopover,\r\n\tCardHeader,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport { NotificationList, EmptyList } from './components';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\twidth: 350,\r\n\t\tmaxWidth: '100%',\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[50],\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n}));\r\n\r\nconst NotificationsPopover = (props) => {\r\n\tconst { notifications, anchorEl, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{notifications.length > 0 ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nNotificationsPopover.propTypes = {\r\n\tanchorEl: PropTypes.any,\r\n\tclassName: PropTypes.string,\r\n\tnotifications: PropTypes.array.isRequired,\r\n\tonClose: PropTypes.func.isRequired,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default NotificationsPopover;\r\n","/* eslint-disable no-undef */\r\nimport React, { useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport useRouter from 'utils/useRouter';\r\n\r\nconst { NODE_ENV } = process.env;\r\nconst GA_MEASUREMENT_ID = process.env.REACT_APP_GA_MEASUREMENT_ID;\r\n\r\nconst Page = (props) => {\r\n\tconst { title, children, ...rest } = props;\r\n\r\n\tconst router = useRouter();\r\n\r\n\tuseEffect(() => {\r\n\t\tif (NODE_ENV !== 'production') {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (window.gtag) {\r\n\t\t\twindow.gtag('config', GA_MEASUREMENT_ID, {\r\n\t\t\t\tpage_path: router.location.pathname,\r\n\t\t\t\tpage_name: title,\r\n\t\t\t});\r\n\t\t}\r\n\t}, [title, router]);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{title}\r\n\t\t\t\r\n\t\t\t{children}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPage.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\ttitle: PropTypes.string,\r\n};\r\n\r\nexport default Page;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport ReactPaginate from 'react-paginate';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\t...theme.typography.button,\r\n\t\tlistStyle: 'none',\r\n\t\tuserSelect: 'none',\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tactive: {},\r\n\tactiveLink: {},\r\n\tbreak: {},\r\n\tbreakLink: {},\r\n\tdisabled: {},\r\n\tnext: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tnextLink: {\r\n\t\tpadding: '6px 16px',\r\n\t\toutline: 'none',\r\n\t\tcursor: 'pointer',\r\n\t\tborderRadius: 4,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t},\r\n\t},\r\n\tpage: {},\r\n\tpageLink: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\tpadding: theme.spacing(1),\r\n\t\toutline: 'none',\r\n\t\tcursor: 'pointer',\r\n\t\twidth: 40,\r\n\t\theight: 40,\r\n\t\tborderRadius: '50%',\r\n\t\tdisplay: 'block',\r\n\t\ttextAlign: 'center',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t\tcolor: theme.palette.text.primary,\r\n\t\t},\r\n\t\t'&$activeLink': {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t\tcolor: theme.palette.text.primary,\r\n\t\t},\r\n\t},\r\n\tprevious: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tpreviousLink: {\r\n\t\tpadding: '6px 16px',\r\n\t\toutline: 'none',\r\n\t\tcursor: 'pointer',\r\n\t\tborderRadius: 4,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Paginate = (props) => {\r\n\tconst {\r\n\t\tpageCount,\r\n\t\tpageRangeDisplayed,\r\n\t\tonPageChange,\r\n\t\tclassName,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nPaginate.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonPageChange: PropTypes.func.isRequired,\r\n\tpageCount: PropTypes.number.isRequired,\r\n\tpageRangeDisplayed: PropTypes.number.isRequired,\r\n};\r\n\r\nPaginate.defaultProps = {\r\n\t// eslint-disable-next-line react/default-props-match-prop-types\r\n\tonPageChange: () => {},\r\n\t// eslint-disable-next-line react/default-props-match-prop-types\r\n\tpageRangeDisplayed: 5,\r\n};\r\n\r\nexport default Paginate;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Avatar, Link, Typography } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tbubble: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: theme.spacing(1),\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tborderRadius: theme.shape.borderRadius,\r\n\t\tbackgroundColor: theme.palette.background.default,\r\n\t},\r\n\theader: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\ttime: {\r\n\t\tmarginLeft: 'auto',\r\n\t},\r\n\tmessage: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst CommentBubble = (props) => {\r\n\tconst { comment, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{comment.author.name}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{moment(comment.created_at).fromNow()}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{comment.message}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCommentBubble.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tcomment: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default CommentBubble;\r\n","import React, { useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tDivider,\r\n\tIconButton,\r\n\tInput,\r\n\tPaper,\r\n\tTooltip,\r\n} from '@mui/material';\r\nimport SendIcon from '@mui/icons-material/Send';\r\nimport AddPhotoIcon from '@mui/icons-material/AddPhotoAlternate';\r\nimport AttachFileIcon from '@mui/icons-material/AttachFile';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tpaper: {\r\n\t\tflexGrow: 1,\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tpadding: theme.spacing(0.5, 2),\r\n\t},\r\n\tinput: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\twidth: 1,\r\n\t\theight: 24,\r\n\t},\r\n\tfileInput: {\r\n\t\tdisplay: 'none',\r\n\t},\r\n}));\r\n\r\nconst CommentForm = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst fileInputRef = useRef(null);\r\n\r\n\tconst [value, setValue] = useState('');\r\n\r\n\tconst sender = {\r\n\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t};\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetValue(event.target.value);\r\n\t};\r\n\r\n\tconst handleAttach = () => {\r\n\t\tfileInputRef.current.click();\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t{' '}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t 0 ? 'primary' : 'default'} size=\"large\">\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCommentForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default CommentForm;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tTypography,\r\n\tButton,\r\n\tIconButton,\r\n\tTooltip,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport FavoriteIcon from '@mui/icons-material/Favorite';\r\nimport FavoriteBorderIcon from '@mui/icons-material/FavoriteBorder';\r\nimport ShareIcon from '@mui/icons-material/Share';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tlikeButton: {},\r\n\tlikedButton: {\r\n\t\tcolor: colors.red[600],\r\n\t},\r\n\tshareButton: {\r\n\t\tmarginLeft: 'auto',\r\n\t},\r\n\tshareIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Reactions = (props) => {\r\n\tconst { post, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [liked, setLiked] = useState(post.liked);\r\n\tconst [likes, setLikes] = useState(post.likes);\r\n\r\n\tconst handleLike = () => {\r\n\t\tsetLiked(true);\r\n\t\tsetLikes((l) => l + 1);\r\n\t};\r\n\r\n\tconst handleUnlike = () => {\r\n\t\tsetLiked(false);\r\n\t\tsetLikes((l) => l - 1);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{liked ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{likes}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tShare\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nReactions.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tpost: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default Reactions;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActionArea,\r\n\tCardMedia,\r\n\tAvatar,\r\n\tLink,\r\n\tTypography,\r\n\tDivider,\r\n} from '@mui/material';\r\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\r\n\r\nimport { Reactions, CommentBubble, CommentForm } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsubheader: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\taccessTimeIcon: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\tfontSize: '14px',\r\n\t\theight: 14,\r\n\t\twidth: 14,\r\n\t\tmarginRight: 6,\r\n\t},\r\n\tcontent: {\r\n\t\tpaddingTop: 0,\r\n\t},\r\n\tmessage: {\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tmediaArea: {\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tmedia: {\r\n\t\theight: 400,\r\n\t\tbackgroundPosition: 'initial',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst PostCard = (props) => {\r\n\tconst { post, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tdisableTypography\r\n\t\t\t\tsubheader={(\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{moment(post.created_at).fromNow()}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\ttitle={(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{post.author.name}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{post.message}\r\n\t\t\t\t\r\n\t\t\t\t{post.media && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{post.comments && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{post.comments.map((comment) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPostCard.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tpost: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default PostCard;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tDialog,\r\n\tDivider,\r\n\tGrid,\r\n\tLink,\r\n\tPaper,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tmaxWidth: 600,\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(5),\r\n\t\tpadding: theme.spacing(2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tproduct: {\r\n\t\toverflow: 'unset',\r\n\t\tposition: 'relative',\r\n\t\tpadding: theme.spacing(5, 3),\r\n\t\tcursor: 'pointer',\r\n\t\ttransition: theme.transitions.create('transform', {\r\n\t\t\teasing: theme.transitions.easing.sharp,\r\n\t\t\tduration: theme.transitions.duration.leavingScreen,\r\n\t\t}),\r\n\t\t'&:hover': {\r\n\t\t\ttransform: 'scale(1.1)',\r\n\t\t},\r\n\t},\r\n\timage: {\r\n\t\tborderRadius: theme.shape.borderRadius,\r\n\t\tposition: 'absolute',\r\n\t\ttop: -24,\r\n\t\tleft: theme.spacing(3),\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t\tfontSize: 24,\r\n\t},\r\n\tdivider: {\r\n\t\tmargin: theme.spacing(2, 0),\r\n\t},\r\n\toptions: {\r\n\t\tlineHeight: '26px',\r\n\t},\r\n\trecommended: {\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\t'& *': {\r\n\t\t\tcolor: `${theme.palette.white} !important`,\r\n\t\t},\r\n\t},\r\n\tcontact: {\r\n\t\tmargin: theme.spacing(3, 0),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tstartButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst PricingModal = (props) => {\r\n\tconst { open, onClose, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tStart with Freelancer today. Boost up your services!\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWelcome to the first platform created for freelancers\r\n\t\t\t\t\t\tand agencies for showcasing and finding the best clients\r\n\t\t\t\t\t\tin the market. 30% of our income goes into Whale Charity\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tFreelancer\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t$5\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t/month\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tMax 1 user\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t20\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tproposals/month\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t10\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\ttemplates\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAnalytics\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tdashboard\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tEmail\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\talerts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAgency\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t$29\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t/month\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tMax 3 user\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t20\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tproposals/month\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t10\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\ttemplates\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAnalytics\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tdashboard\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tEmail\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\talerts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tEnterprise\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t$259\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t/month\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tUnlimited\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAll from above\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tUnlimited\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t24/7 support\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tPersonalised\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tPage\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAdvertise\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tyour profile\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHave a larger team?\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tContact us\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\tfor information about more enterprise options.\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tStart with freelancer\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPricingModal.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool,\r\n};\r\n\r\nexport default PricingModal;\r\n","import React, { useState } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tButton,\r\n\tCard,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tGrid,\r\n\tIconButton,\r\n\tLink,\r\n\tTooltip,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport ShareIcon from '@mui/icons-material/Share';\r\nimport FavoriteIcon from '@mui/icons-material/Favorite';\r\nimport FavoriteBorderIcon from '@mui/icons-material/FavoriteBorder';\r\n\r\nimport getInitials from 'utils/getInitials';\r\nimport { Label } from '..';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\theader: {\r\n\t\tpaddingBottom: 0,\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t\t'&:last-child': {\r\n\t\t\tpaddingBottom: 0,\r\n\t\t},\r\n\t},\r\n\tdescription: {\r\n\t\tpadding: theme.spacing(2, 3, 1, 3),\r\n\t},\r\n\ttags: {\r\n\t\tpadding: theme.spacing(0, 3, 1, 3),\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tlearnMoreButton: {\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t},\r\n\tlikedButton: {\r\n\t\tcolor: colors.red[600],\r\n\t},\r\n\tshareButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tdetails: {\r\n\t\tpadding: theme.spacing(1, 3),\r\n\t},\r\n}));\r\n\r\nconst ProjectCard = (props) => {\r\n\tconst { project, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [liked, setLiked] = useState(project.liked);\r\n\r\n\tconst handleLike = () => {\r\n\t\tsetLiked(true);\r\n\t};\r\n\r\n\tconst handleUnlike = () => {\r\n\t\tsetLiked(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t{getInitials(project.author.name)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tclassName={classes.header}\r\n\t\t\t\tdisableTypography\r\n\t\t\t\tsubheader={(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tby\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{project.author.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t| Updated:\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t{moment(project.updated_at).fromNow()}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\ttitle={(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{project.title}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWe're looking for experienced Developers and Product\r\n\t\t\t\t\t\tDesigners to come aboard and help us build succesful\r\n\t\t\t\t\t\tbusinesses through softare.\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{project.tags.map((tag) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t\t{project.price}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPer Project\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{project.location}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tLocation\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{project.type}\r\n\t\t\t\t\t\t\tType\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{liked ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tLearn more\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nProjectCard.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tproject: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default ProjectCard;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport StarIcon from '@mui/icons-material/Star';\r\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'inline-flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tstarIcon: {\r\n\t\tfontSize: 18,\r\n\t\theight: 18,\r\n\t\twidth: 18,\r\n\t},\r\n\tstarFilledIcon: {\r\n\t\tcolor: colors.amber[400],\r\n\t},\r\n\tstarBorderIcon: {\r\n\t\tcolor: theme.palette.icon,\r\n\t},\r\n}));\r\n\r\nconst ReviewStars = (props) => {\r\n\tconst { value, starCount, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst starNodes = [];\r\n\r\n\tfor (let i = 1; i <= starCount; i++) {\r\n\t\tconst key = uuid();\r\n\r\n\t\tconst starNode = i <= value ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t\r\n\t\t);\r\n\r\n\t\tstarNodes.push(starNode);\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{starNodes}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nReviewStars.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tstarCount: PropTypes.number,\r\n\tvalue: PropTypes.number,\r\n};\r\n\r\nReviewStars.defaultProps = {\r\n\tvalue: 0,\r\n\tstarCount: 5,\r\n};\r\n\r\nexport default ReviewStars;\r\n","/* eslint-disable react/no-multi-comp */\r\nimport React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tooltip, Button } from '@mui/material';\r\nimport { alpha } from '@mui/material/styles';\r\nimport CodeIcon from '@mui/icons-material/Code';\r\nimport FormatListBulletedIcon from '@mui/icons-material/FormatListBulleted';\r\nimport FormatListNumberedIcon from '@mui/icons-material/FormatListNumbered';\r\nimport FormatItalicIcon from '@mui/icons-material/FormatItalic';\r\nimport FormatBoldIcon from '@mui/icons-material/FormatBold';\r\nimport FormatUnderlined from '@mui/icons-material/FormatUnderlined';\r\nimport FormatQuoteIcon from '@mui/icons-material/FormatQuote';\r\nimport FormatAlignLeftIcon from '@mui/icons-material/FormatAlignLeft';\r\nimport FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter';\r\nimport FormatAlignRightIcon from '@mui/icons-material/FormatAlignRight';\r\nimport FormatAlignJustifyIcon from '@mui/icons-material/FormatAlignJustify';\r\n\r\nconst useStyles1 = makeStyles((theme) => ({\r\n\troot: {},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n}));\r\n\r\nconst useStyles2 = makeStyles((theme) => ({\r\n\tbutton: {\r\n\t\tpadding: 0,\r\n\t\twidth: 32,\r\n\t\theight: 32,\r\n\t\tminWidth: 32,\r\n\t\tcolor: theme.palette.icon,\r\n\t\t'& + &': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tactiveButton: {\r\n\t\tbackgroundColor: alpha(theme.palette.primary.main, 0.1),\r\n\t\tcolor: theme.palette.primary.main,\r\n\t},\r\n}));\r\n\r\nconst BLOCK_TYPES = [\r\n\t{\r\n\t\tblockType: 'header-one',\r\n\t\ttooltip: 'Heading 1',\r\n\t\ttext: 'H1',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-two',\r\n\t\ttooltip: 'Heading 2',\r\n\t\ttext: 'H2',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-three',\r\n\t\ttooltip: 'Heading 3',\r\n\t\ttext: 'H3',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-four',\r\n\t\ttooltip: 'Heading 4',\r\n\t\ttext: 'H4',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-five',\r\n\t\ttooltip: 'Heading 5',\r\n\t\ttext: 'H5',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-six',\r\n\t\ttooltip: 'Heading 6',\r\n\t\ttext: 'H6',\r\n\t},\r\n\t{\r\n\t\tblockType: 'blockquote',\r\n\t\ttooltip: 'Blockquote',\r\n\t\ticon: FormatQuoteIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'unordered-list-item',\r\n\t\ttooltip: 'Unordered list',\r\n\t\ticon: FormatListBulletedIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'ordered-list-item',\r\n\t\ttooltip: 'Ordered list',\r\n\t\ticon: FormatListNumberedIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'code-block',\r\n\t\ttooltip: 'Code Block',\r\n\t\ticon: CodeIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'left',\r\n\t\ttooltip: 'Align left',\r\n\t\ticon: FormatAlignLeftIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'center',\r\n\t\ttooltip: 'Align center',\r\n\t\ticon: FormatAlignCenterIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'right',\r\n\t\ttooltip: 'Align right',\r\n\t\ticon: FormatAlignRightIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'justify',\r\n\t\ttooltip: 'Justify',\r\n\t\ticon: FormatAlignJustifyIcon,\r\n\t},\r\n];\r\n\r\nconst INLINE_STYLES = [\r\n\t{\r\n\t\tinlineStyle: 'BOLD',\r\n\t\ttooltip: 'Bold',\r\n\t\ticon: FormatBoldIcon,\r\n\t},\r\n\t{\r\n\t\tinlineStyle: 'ITALIC',\r\n\t\ttooltip: 'Italic',\r\n\t\ticon: FormatItalicIcon,\r\n\t},\r\n\t{\r\n\t\tinlineStyle: 'UNDERLINE',\r\n\t\ttooltip: 'Underline',\r\n\t\ticon: FormatUnderlined,\r\n\t},\r\n\t{\r\n\t\tinlineStyle: 'CODE',\r\n\t\ttooltip: 'Monospace',\r\n\t\ticon: CodeIcon,\r\n\t},\r\n];\r\n\r\nconst ButtonBase = (props) => {\r\n\tconst { active, tooltip, children, ...rest } = props;\r\n\r\n\tconst classes = useStyles2();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nButtonBase.propTypes = {\r\n\tactive: PropTypes.bool,\r\n\tchildren: PropTypes.node,\r\n\tonClick: PropTypes.func,\r\n\ttooltip: PropTypes.string,\r\n};\r\n\r\nconst BlockTypeButtons = (props) => {\r\n\tconst { editorState, onToggle } = props;\r\n\r\n\tconst handleClick = (event, blockType) => {\r\n\t\tevent.preventDefault();\r\n\r\n\t\tonToggle('blockType', blockType);\r\n\t};\r\n\r\n\tconst selection = editorState.getSelection();\r\n\tconst blockType = editorState\r\n\t\t.getCurrentContent()\r\n\t\t.getBlockForKey(selection.getStartKey())\r\n\t\t.getType();\r\n\tconst blockData = editorState\r\n\t\t.getCurrentContent()\r\n\t\t.getBlockForKey(selection.getStartKey())\r\n\t\t.getData();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{BLOCK_TYPES.map((button) => {\r\n\t\t\t\tlet active = false;\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\t['left', 'center', 'right', 'justify'].includes(\r\n\t\t\t\t\t\tbutton.blockType\r\n\t\t\t\t\t)\r\n\t\t\t\t) {\r\n\t\t\t\t\tactive = blockData.get('text-align') === button.blockType;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tactive = button.blockType === blockType;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t handleClick(event, button.blockType)}\r\n\t\t\t\t\t\ttooltip={button.tooltip}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{button.icon ? : button.text}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n};\r\n\r\nBlockTypeButtons.propTypes = {\r\n\teditorState: PropTypes.any.isRequired,\r\n\tonToggle: PropTypes.func,\r\n};\r\n\r\nconst InlineStyleButtons = (props) => {\r\n\tconst { editorState, onToggle } = props;\r\n\r\n\tconst handleClick = (event, inlineStyle) => {\r\n\t\tevent.preventDefault();\r\n\t\tonToggle('inlineStyle', inlineStyle);\r\n\t};\r\n\r\n\tconst currentStyle = editorState.getCurrentInlineStyle();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{INLINE_STYLES.map((button) => (\r\n\t\t\t\t handleClick(event, button.inlineStyle)}\r\n\t\t\t\t\ttooltip={button.tooltip}\r\n\t\t\t\t>\r\n\t\t\t\t\t{button.icon ? : button.text}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nInlineStyleButtons.propTypes = {\r\n\teditorState: PropTypes.any.isRequired,\r\n\tonToggle: PropTypes.func,\r\n};\r\n\r\nconst EditorToolbar = (props) => {\r\n\tconst { editorState, onToggle, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles1();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nEditorToolbar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\teditorState: PropTypes.any.isRequired,\r\n\tonToggle: PropTypes.func,\r\n};\r\n\r\nexport default EditorToolbar;\r\n","import { Map } from 'immutable';\r\nimport { EditorState, DefaultDraftBlockRenderMap, Modifier } from 'draft-js';\r\n\r\nexport function setBlockData(editorState, data) {\r\n\tconst newContentState = Modifier.setBlockData(\r\n\t\teditorState.getCurrentContent(),\r\n\t\teditorState.getSelection(),\r\n\t\tdata\r\n\t);\r\n\r\n\treturn EditorState.push(editorState, newContentState, 'change-block-data');\r\n}\r\n\r\nconst newBlockRenderMap = Map({\r\n\tunstyled: {\r\n\t\telement: 'p',\r\n\t},\r\n\tparagraph: {\r\n\t\telement: 'p',\r\n\t},\r\n});\r\n\r\n// TODO:\r\n// 1. DraftJS uses 'div' tags inside every block.\r\n// When we use 'p' tag for paragraphs, we get a warning because \"div\" tag cannot be inside a \"p\" tag.\r\n\r\nexport const blockRenderMap = DefaultDraftBlockRenderMap.merge(\r\n\tnewBlockRenderMap\r\n);\r\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\nimport React, { useState, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport {\r\n\tEditor,\r\n\tEditorState,\r\n\tRichUtils,\r\n\tModifier,\r\n\tgetDefaultKeyBinding,\r\n} from 'draft-js';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Paper, Divider } from '@mui/material';\r\n\r\nimport { EditorToolbar } from './components';\r\nimport { blockRenderMap } from './utils';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\teditorContainer: {\r\n\t\tpadding: theme.spacing(2),\r\n\t\tminHeight: 400,\r\n\t\t'& .public-DraftEditorPlaceholder-root': {\r\n\t\t\t...theme.typography.body2,\r\n\t\t},\r\n\t\t'& .public-DraftEditorPlaceholder-hasFocus': {\r\n\t\t\tdisplay: 'none',\r\n\t\t},\r\n\t\t'& .public-DraftEditor-content': {\r\n\t\t\t'& p': {\r\n\t\t\t\t...theme.typography.body1,\r\n\t\t\t},\r\n\t\t\t'& h1': {\r\n\t\t\t\t...theme.typography.h1,\r\n\t\t\t},\r\n\t\t\t'& h2': {\r\n\t\t\t\t...theme.typography.h2,\r\n\t\t\t},\r\n\t\t\t'& h3': {\r\n\t\t\t\t...theme.typography.h3,\r\n\t\t\t},\r\n\t\t\t'& h4': {\r\n\t\t\t\t...theme.typography.h4,\r\n\t\t\t},\r\n\t\t\t'& h5': {\r\n\t\t\t\t...theme.typography.h5,\r\n\t\t\t},\r\n\t\t\t'& h6': {\r\n\t\t\t\t...theme.typography.h6,\r\n\t\t\t},\r\n\t\t\t'& blockquote': {\r\n\t\t\t\t...theme.typography.subtitle1,\r\n\t\t\t},\r\n\t\t\t'& ul': {\r\n\t\t\t\t...theme.typography.body1,\r\n\t\t\t\tmarginLeft: theme.spacing(4),\r\n\t\t\t},\r\n\t\t\t'& ol': {\r\n\t\t\t\t...theme.typography.body1,\r\n\t\t\t\tmarginLeft: theme.spacing(4),\r\n\t\t\t},\r\n\t\t\t'& pre': {\r\n\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.05)',\r\n\t\t\t\tfontFamily: '\"Inconsolata\", \"Menlo\", \"Consolas\", monospace',\r\n\t\t\t\tfontSize: 16,\r\n\t\t\t\tpadding: 2,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\ttextAlignLeft: {\r\n\t\ttextAlign: 'left',\r\n\t},\r\n\ttextAlignCenter: {\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\ttextAlignRight: {\r\n\t\ttextAlign: 'right',\r\n\t},\r\n\ttextAlignJustify: {\r\n\t\ttextAlign: 'justify',\r\n\t},\r\n}));\r\n\r\nconst capitalize = (string) => string.charAt(0).toUpperCase() + string.slice(1);\r\n\r\nconst RichEditor = (props) => {\r\n\tconst { placeholder, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst editorRef = useRef(null);\r\n\r\n\tconst [editorState, setEditorState] = useState(EditorState.createEmpty());\r\n\r\n\tconst handleContainerClick = () => {\r\n\t\teditorRef.current.focus();\r\n\t};\r\n\r\n\tconst handleToolbarToggle = (type, value) => {\r\n\t\tif (type === 'blockType') {\r\n\t\t\tif (['left', 'center', 'right', 'justify'].includes(value)) {\r\n\t\t\t\tconst newContentState = Modifier.setBlockData(\r\n\t\t\t\t\teditorState.getCurrentContent(),\r\n\t\t\t\t\teditorState.getSelection(),\r\n\t\t\t\t\t{ 'text-align': value }\r\n\t\t\t\t);\r\n\r\n\t\t\t\tconst newEditorState = EditorState.push(\r\n\t\t\t\t\teditorState,\r\n\t\t\t\t\tnewContentState,\r\n\t\t\t\t\t'change-block-data'\r\n\t\t\t\t);\r\n\r\n\t\t\t\tsetEditorState(newEditorState);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tsetEditorState(RichUtils.toggleBlockType(editorState, value));\r\n\t\t} else {\r\n\t\t\tsetEditorState(RichUtils.toggleInlineStyle(editorState, value));\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleEditorChange = (es) => {\r\n\t\tsetEditorState(es);\r\n\t};\r\n\r\n\tconst handleKeyCommand = (command, es) => {\r\n\t\tconst newState = RichUtils.handleKeyCommand(es, command);\r\n\r\n\t\tif (newState) {\r\n\t\t\thandleEditorChange(newState);\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst mapKeyToEditorCommand = (event) => {\r\n\t\tif (event.keyCode === 9) {\r\n\t\t\tconst newEditorState = RichUtils.onTab(event, editorState, 4);\r\n\r\n\t\t\tif (newEditorState !== editorState) {\r\n\t\t\t\thandleEditorChange(newEditorState);\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line consistent-return\r\n\t\treturn getDefaultKeyBinding(event);\r\n\t};\r\n\r\n\tfunction blockStyleFn(contentBlock) {\r\n\t\tconst textAlign = contentBlock.getData().get('text-align');\r\n\r\n\t\tif (textAlign) {\r\n\t\t\t// eslint-disable-next-line no-shadow\r\n\t\t\tconst className = `textAlign${capitalize(textAlign)}`;\r\n\r\n\t\t\treturn classes[className];\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t blockStyleFn()}\r\n\t\t\t\t\teditorState={editorState}\r\n\t\t\t\t\thandleKeyCommand={handleKeyCommand}\r\n\t\t\t\t\tkeyBindingFn={mapKeyToEditorCommand}\r\n\t\t\t\t\tonChange={handleEditorChange}\r\n\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\tref={editorRef}\r\n\t\t\t\t\tspellCheck\r\n\t\t\t\t/>\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nRichEditor.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tplaceholder: PropTypes.string\r\n};\r\n\r\nexport default RichEditor;\r\n","import { useEffect } from 'react';\r\n\r\nimport useRouter from 'utils/useRouter';\r\n\r\nconst ScrollReset = () => {\r\n\tconst router = useRouter();\r\n\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0);\r\n\t}, [router.location.pathname]);\r\n\r\n\treturn null;\r\n};\r\n\r\nexport default ScrollReset;\r\n","/* eslint-disable jsx-a11y/control-has-associated-label */\r\n/* eslint-disable jsx-a11y/no-static-element-interactions */\r\nimport React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tChip,\r\n\tCollapse,\r\n\tDivider,\r\n\tDrawer,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tRadioGroup,\r\n\tSlider,\r\n\tTextField,\r\n\tTypography,\r\n\tToggleButton, ToggleButtonGroup } from '@mui/material';\r\n\r\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport DeleteIcon from '@mui/icons-material/DeleteOutlined';\r\nimport AddIcon from '@mui/icons-material/Add';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t},\r\n\tdrawer: {\r\n\t\twidth: 420,\r\n\t\tmaxWidth: '100%',\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(2, 1),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tbuttonIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 3),\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tcontentSection: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t},\r\n\tcontentSectionHeader: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tcursor: 'pointer',\r\n\t},\r\n\tcontentSectionContent: {},\r\n\tformGroup: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t},\r\n\tfieldGroup: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tfield: {\r\n\t\tmarginTop: 0,\r\n\t\tmarginBottom: 0,\r\n\t},\r\n\tflexGrow: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\taddButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\ttags: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tminAmount: {\r\n\t\tmarginRight: theme.spacing(3),\r\n\t},\r\n\tmaxAmount: {\r\n\t\tmarginLeft: theme.spacing(3),\r\n\t},\r\n\tradioGroup: {},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\t'& > * + *': {\r\n\t\t\tmarginTop: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Filter = (props) => {\r\n\tconst { open, onClose, onFilter, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst initialValues = {\r\n\t\tpaymentStatus: '',\r\n\t\ttag: '',\r\n\t\ttags: ['Full-Time'],\r\n\t\tamount: [1, 7],\r\n\t\tprojectStatus: 'ended',\r\n\t\tcustomerName: '',\r\n\t\tcustomerType: 'freelancer',\r\n\t\tcustomerEmail: '',\r\n\t\tcustomerPhone: '',\r\n\t\tcustomerAge: '',\r\n\t};\r\n\r\n\tconst [expandProject, setExpandProject] = useState(true);\r\n\tconst [expandCustomer, setExpandCustomer] = useState(false);\r\n\tconst [values, setValues] = useState({ ...initialValues });\r\n\r\n\tconst handleClear = () => {\r\n\t\tsetValues({ ...initialValues });\r\n\t};\r\n\r\n\tconst handleFieldChange = (event, field, value) => {\r\n\t\tsetValues((items) => ({\r\n\t\t\t...items,\r\n\t\t\t[field]: value,\r\n\t\t}));\r\n\t};\r\n\r\n\tconst handleTagAdd = () => {\r\n\t\tsetValues((items) => {\r\n\t\t\tconst newValues = { ...items };\r\n\r\n\t\t\tif (newValues.tag && !newValues.tags.includes(newValues.tag)) {\r\n\t\t\t\tnewValues.tags = [...newValues.tags];\r\n\t\t\t\tnewValues.tags.push(newValues.tag);\r\n\t\t\t}\r\n\r\n\t\t\tnewValues.tag = '';\r\n\r\n\t\t\treturn newValues;\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleTagDelete = (tag) => {\r\n\t\tsetValues((items) => {\r\n\t\t\tconst newValues = { ...items };\r\n\r\n\t\t\tnewValues.tags = newValues.tags.filter((t) => t !== tag);\r\n\r\n\t\t\treturn newValues;\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleToggleProject = () => {\r\n\t\tsetExpandProject((ep) => !ep);\r\n\t};\r\n\r\n\tconst handleToggleCustomer = () => {\r\n\t\tsetExpandCustomer((ec) => !ec);\r\n\t};\r\n\r\n\tconst handleSubmit = (event) => {\r\n\t\tevent.preventDefault();\r\n\t\t// eslint-disable-next-line no-unused-expressions\r\n\t\tonFilter && onFilter(values);\r\n\t};\r\n\r\n\tconst paymentStatusOptions = [\r\n\t\t'Pending',\r\n\t\t'Canceled',\r\n\t\t'Completed',\r\n\t\t'Rejected',\r\n\t];\r\n\tconst customerAgeOption = ['18 - 30', '30 - 45', '50 - 60', '60+'];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tProject\r\n\t\t\t\t\t\t\t{expandProject ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t'paymentStatus',\r\n\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\tselect\r\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line react/jsx-sort-props\r\n\t\t\t\t\t\t\t\t\t\tSelectProps={{ native: true }}\r\n\t\t\t\t\t\t\t\t\t\tvalue={values.paymentStatus}\r\n\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'tag',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.tag}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tAdd\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{values.tags.map((tag) => (\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tkey={tag}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={tag}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonDelete={() => handleTagDelete(tag)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tProject amount\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t\t\t\t\t{values.amount[0]}\r\n\t\t\t\t\t\t\t\t\t\t\tK\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'amount',\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.amount}\r\n\t\t\t\t\t\t\t\t\t\t\tvalueLabelDisplay=\"auto\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t\t\t\t\t{values.amount[1]}\r\n\t\t\t\t\t\t\t\t\t\t\tK\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tProject status\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'projectStatus',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.projectStatus}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"Ended\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"ended\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"On-Going\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"onGoing\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"In Review\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"inReview\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"Competed\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"completed\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCustomer\r\n\t\t\t\t\t\t\t{expandCustomer ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'customerName',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerName}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t value\r\n\t\t\t\t\t\t\t\t\t\t\t\t&& handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'customerType',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerType}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tProject owner\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tFreelancer\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'customerEmail',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerEmail}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'customerPhone',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerPhone}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'customerAge',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tselect\r\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line react/jsx-sort-props\r\n\t\t\t\t\t\t\t\t\t\t\tSelectProps={{ native: true }}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerAge}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tApply filters\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nFilter.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonClose: PropTypes.func,\r\n\tonFilter: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default Filter;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Paper, Button, Input } from '@mui/material';\r\nimport SearchIcon from '@mui/icons-material/Search';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tsearch: {\r\n\t\tflexGrow: 1,\r\n\t\theight: 42,\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tsearchIcon: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t\tcolor: theme.palette.icon,\r\n\t},\r\n\tsearchInput: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tsearchButton: {\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst Search = (props) => {\r\n\tconst { onSearch, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tSearch\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nSearch.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonSearch: PropTypes.func,\r\n};\r\n\r\nexport default Search;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Button } from '@mui/material';\r\nimport FilterListIcon from '@mui/icons-material/FilterList';\r\n\r\nimport { Search, Filter } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tsearch: {\r\n\t\tflexGrow: 1,\r\n\t\tmaxWidth: 480,\r\n\t\tflexBasis: 480,\r\n\t},\r\n\tfilterButton: {\r\n\t\tmarginLeft: 'auto',\r\n\t},\r\n\tfilterIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst SearchBar = (props) => {\r\n\tconst { onFilter, onSearch, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [openFilter, setOpenFilter] = useState(false);\r\n\r\n\tconst handleFilterOpen = () => {\r\n\t\tsetOpenFilter(true);\r\n\t};\r\n\r\n\tconst handleFilterClose = () => {\r\n\t\tsetOpenFilter(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\tShow\r\n\t\t\t\t\tfilters\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nSearchBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonFilter: PropTypes.func,\r\n\tonSearch: PropTypes.func,\r\n};\r\n\r\nexport default SearchBar;\r\n","import React, { memo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tooltip, Avatar } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\tpaddingLeft: 20,\r\n\t},\r\n\tavatar: {\r\n\t\tborder: `3px solid ${theme.palette.white}`,\r\n\t\tmarginLeft: -20,\r\n\t\t'&:hover': {\r\n\t\t\tzIndex: 2,\r\n\t\t},\r\n\t},\r\n\tmore: {\r\n\t\tbackgroundColor: theme.palette.error.main,\r\n\t\tcolor: theme.palette.error.contrastText,\r\n\t\tfontSize: 14,\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n}));\r\n\r\nconst StackAvatars = (props) => {\r\n\tconst { avatars, limit, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst avatarNodes = avatars.slice(0, limit).map((item) => (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t));\r\n\r\n\tif (avatars.length > limit) {\r\n\t\tavatarNodes.push(\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t+\r\n\t\t\t\t\t{avatars.length - limit}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{avatarNodes}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nStackAvatars.propTypes = {\r\n\tavatars: PropTypes.array.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tlimit: PropTypes.number.isRequired,\r\n};\r\n\r\nStackAvatars.defaultProps = {\r\n\t// eslint-disable-next-line react/default-props-match-prop-types\r\n\tlimit: 3,\r\n};\r\n\r\nexport default memo(StackAvatars);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'inline-block',\r\n\t\tborderRadius: '50%',\r\n\t\tflexGrow: 0,\r\n\t\tflexShrink: 0,\r\n\t},\r\n\tsmall: {\r\n\t\theight: theme.spacing(1),\r\n\t\twidth: theme.spacing(1),\r\n\t},\r\n\tmedium: {\r\n\t\theight: theme.spacing(2),\r\n\t\twidth: theme.spacing(2),\r\n\t},\r\n\tlarge: {\r\n\t\theight: theme.spacing(3),\r\n\t\twidth: theme.spacing(3),\r\n\t},\r\n\tdefault: {\r\n\t\tbackgroundColor: colors.grey[50],\r\n\t},\r\n\tprimary: {\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t},\r\n\tinfo: {\r\n\t\tbackgroundColor: colors.lightBlue[600],\r\n\t},\r\n\twarning: {\r\n\t\tbackgroundColor: colors.orange[900],\r\n\t},\r\n\terror: {\r\n\t\tbackgroundColor: theme.palette.error.main,\r\n\t},\r\n\tsuccess: {\r\n\t\tbackgroundColor: colors.green[600],\r\n\t},\r\n}));\r\n\r\nconst StatusBullet = (props) => {\r\n\tconst { className, size, color, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst rootClassName = clsx(\r\n\t\t{\r\n\t\t\t[classes.root]: true,\r\n\t\t\t[classes[size]]: size,\r\n\t\t\t[classes[color]]: color,\r\n\t\t},\r\n\t\tclassName\r\n\t);\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nStatusBullet.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tcolor: PropTypes.oneOf([\r\n\t\t'default',\r\n\t\t'primary',\r\n\t\t'info',\r\n\t\t'success',\r\n\t\t'warning',\r\n\t\t'error',\r\n\t]),\r\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\r\n};\r\n\r\nStatusBullet.defaultProps = {\r\n\tsize: 'medium',\r\n\tcolor: 'default',\r\n};\r\n\r\nexport default StatusBullet;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Drawer, Grid, Typography, Button, Hidden } from '@mui/material';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport DeleteIcon from '@mui/icons-material/DeleteOutline';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n\tbuttonIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TableEditBar = (props) => {\r\n\tconst {\r\n\t\tselected,\r\n\t\tclassName,\r\n\t\tonMarkPaid,\r\n\t\tonMarkUnpaid,\r\n\t\tonDelete,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst open = selected.length > 0;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selected.length}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tselected\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nTableEditBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonDelete: PropTypes.func,\r\n\tonMarkPaid: PropTypes.func,\r\n\tonMarkUnpaid: PropTypes.func,\r\n\tselected: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default TableEditBar;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Backdrop, CircularProgress } from '@mui/material';\r\nimport makeStyles from '@mui/styles/makeStyles';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tbackdrop: {\r\n\t\tzIndex: theme.zIndex.drawer + 999999,\r\n\t\tcolor: '#fff',\r\n\t},\r\n}));\r\n\r\nconst Loading = () => {\r\n\tconst classes = useStyles();\r\n\tconst isLoading = useSelector(state => state.session.isLoading);\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Loading;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Typography } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { module, view, actions, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{module}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{view}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{actions\r\n\t\t\t\t\t&& (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{actions}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tmodule: PropTypes.string,\r\n\tview: PropTypes.string,\r\n\tactions: PropTypes.object\r\n};\r\n\r\nHeader.defaultProps = {};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { CircularProgress, Typography, Box } from '@mui/material';\r\n\r\nconst CircularProgressWithLabel = (props) => {\r\n\tconst { value } = props;\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{`${Math.round(\r\n\t\t\t\t\t\tvalue,\r\n\t\t\t\t\t)}%`}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nCircularProgressWithLabel.propTypes = {\r\n\t/**\r\n * The value of the progress indicator for the determinate variant.\r\n * Value between 0 and 100.\r\n */\r\n\tvalue: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default CircularProgressWithLabel;\r\n","import React from 'react';\r\nimport DateAdapter from '@mui/lab/AdapterMoment';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\nimport DatePicker from './DatePicker';\r\nimport Calendar from './Calendar';\r\nimport TimePicker from './TimePicker';\r\n\r\nconst CalendarIndex = (props) => (\r\n\t\r\n\t\t\r\n\t\r\n);\r\n\r\nconst DatePickerIndex = (props) => (\r\n\t\r\n\t\t\r\n\t\r\n);\r\n\r\nconst TimePickerIndex = (props) => (\r\n\t\r\n\t\t\r\n\t\r\n);\r\n\r\nexport {\r\n\tCalendarIndex,\r\n\tDatePickerIndex,\r\n\tTimePickerIndex\r\n};\r\n\r\nexport default DatePickerIndex;\r\n","import React, { useSate } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Paper } from '@mui/material';\r\nimport withStyles from '@mui/styles/withStyles';\r\nimport CalendarPicker from '@mui/lab/CalendarPicker';\r\n\r\nconst styles = theme => ({\r\n\ticonButton: {\r\n\t\tbackgroundColor: '#465A65'\r\n\t}\r\n});\r\n\r\nconst Calendar = ({\r\n\tselectedDate,\r\n\thandleDateChange,\r\n\tclasses,\r\n\t...rest\r\n}) => {\r\n\tconst [selectedStateDate, setSelectedDate] = useSate({\r\n\t\tdate: selectedDate,\r\n\t\tonChange: handleDateChange\r\n\t});\r\n\r\n\tconst handleChange = date => {\r\n\t\tsetSelectedDate(date);\r\n\t\thandleDateChange(date);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCalendar.propTypes = {\r\n\tselectedDate: PropTypes.any.isRequired,\r\n\thandleDateChange: PropTypes.func.isRequired,\r\n\tclasses: PropTypes.object.isRequired\r\n};\r\n\r\nexport default withStyles(styles)(Calendar);\r\n","import React, { useRef, useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, colors, Paper, Tooltip, IconButton, InputBase } from '@mui/material';\r\nimport AttachFileIcon from '@mui/icons-material/AttachFile';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: '2px 4px',\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\twidth: '100%',\r\n\t\theight: '100%',\r\n\t},\r\n\tinput: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t\tflex: 1,\r\n\t},\r\n\ticonButton: {\r\n\t\tpadding: 10,\r\n\t},\r\n\tdivider: {\r\n\t\theight: 28,\r\n\t\tmargin: 4,\r\n\t},\r\n}));\r\n\r\nconst FilePicker = (props) => {\r\n\tconst { value, onChange, accept } = props;\r\n\tconst classes = useStyles();\r\n\tconst inputFile = useRef(null);\r\n\r\n\tconst _selectFile = () => {\r\n\t\tinputFile.current.click();\r\n\t};\r\n\r\n\tconst _onChange = (event) => {\r\n\t\tonChange(event);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t { inputFile.current = ref; }} onChange={_onChange} style={{ display: 'none' }} />\r\n\t\t\r\n\t);\r\n};\r\n\r\nFilePicker.propTypes = {\r\n\tvalue: PropTypes.string,\r\n\tonChange: PropTypes.func.isRequired,\r\n\taccept: PropTypes.string,\r\n};\r\n\r\nexport default FilePicker;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { PowerBIEmbed } from 'powerbi-client-react';\r\nimport { models } from 'powerbi-client';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '80vh',\r\n\t},\r\n}));\r\n\r\nconst PowerBIDashboard = (props) => {\r\n\tconst { url, reportId, accessToken } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tuseEffect(() => {\r\n\t}, [url]);\r\n\r\n\tif (!url) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t { console.log('Report loaded'); }],\r\n\t\t\t\t\t['rendered', () => { console.log('Report rendered'); }],\r\n\t\t\t\t\t['error', (event) => { console.log(event.detail); }]\r\n\t\t\t\t])\r\n\t\t\t} */\r\n\t\t\tcssClassName={classes.root}\r\n\t\t\tgetEmbeddedComponent={(embeddedReport) => {\r\n\t\t\t\twindow.report = embeddedReport;\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nPowerBIDashboard.propTypes = {\r\n\turl: PropTypes.string.isRequired,\r\n\treportId: PropTypes.string.isRequired,\r\n\taccessToken: PropTypes.string.isRequired\r\n};\r\n\r\nexport default PowerBIDashboard;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tChip,\r\n\tCollapse,\r\n\tDivider,\r\n\tDrawer,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tRadioGroup,\r\n\tSlider,\r\n\tTextField,\r\n\tTypography,\r\n\tToggleButton, ToggleButtonGroup } from '@mui/material';\r\n\r\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport DeleteIcon from '@mui/icons-material/DeleteOutlined';\r\nimport AddIcon from '@mui/icons-material/Add';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t},\r\n\tdrawer: {\r\n\t\twidth: 420,\r\n\t\tmaxWidth: '100%',\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(2, 1),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tbuttonIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 3),\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tcontentSection: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t},\r\n\tcontentSectionHeader: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tcursor: 'pointer',\r\n\t},\r\n\tcontentSectionContent: {},\r\n\tformGroup: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t},\r\n\tfieldGroup: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tfield: {\r\n\t\tmarginTop: 0,\r\n\t\tmarginBottom: 0,\r\n\t},\r\n\tflexGrow: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\taddButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\ttags: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tminAmount: {\r\n\t\tmarginRight: theme.spacing(3),\r\n\t},\r\n\tmaxAmount: {\r\n\t\tmarginLeft: theme.spacing(3),\r\n\t},\r\n\tradioGroup: {},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\t'& > * + *': {\r\n\t\t\tmarginTop: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst FiltersDrawer = (props) => {\r\n\tconst { open, onClose, onFilter, className, children, filterDisabled, onClear, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{children}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{onClear && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tApply filters\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nFiltersDrawer.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonClose: PropTypes.func,\r\n\tonFilter: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n\tchildren: PropTypes.object,\r\n\tfilterDisabled: PropTypes.bool,\r\n\tonClear: PropTypes.func\r\n};\r\n\r\nexport default FiltersDrawer;\r\n","export const ENQUEUE_SNACKBAR = 'ENQUEUE_SNACKBAR';\r\nexport const CLOSE_SNACKBAR = 'CLOSE_SNACKBAR';\r\nexport const REMOVE_SNACKBAR = 'REMOVE_SNACKBAR';\r\n\r\nexport const enqueueSnackbar = (notification) => {\r\n\tconst key = notification.options && notification.options.key;\r\n\r\n\treturn {\r\n\t\ttype: ENQUEUE_SNACKBAR,\r\n\t\tnotification: {\r\n\t\t\t...notification,\r\n\t\t\tkey: key || new Date().getTime() + Math.random(),\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const closeSnackbar = key => ({\r\n\ttype: CLOSE_SNACKBAR,\r\n\tdismissAll: !key, // dismiss all if no key has been defined\r\n\tkey,\r\n});\r\n\r\nexport const removeSnackbar = key => ({\r\n\ttype: REMOVE_SNACKBAR,\r\n\tkey,\r\n});\r\n","const config = {\r\n\tAPI_URL: process.env.REACT_APP_API_URL,\r\n\tTOKEN_KEY: process.env.REACT_APP_TOKEN_KEY,\r\n};\r\n\r\nexport default config;\r\n","import _ from 'underscore';\r\nimport axios from 'axios';\r\nimport config from 'configuration/configuration.js';\r\n\r\nimport { SetLoading, RedirectToError } from 'actions/sessionActions';\r\n\r\nexport const interceptor = (store) => {\r\n\t// Add a request interceptor\r\n\taxios.interceptors.request.use((configuration) => {\r\n\t\t// Do something before request is sent\r\n\t\tif (!configuration.headers.Authorization) {\r\n\t\t\tconst token = localStorage.getItem(config.TOKEN_KEY);\r\n\t\t\tif (token) {\r\n\t\t\t\t// eslint-disable-next-line no-param-reassign\r\n\t\t\t\tconfiguration.headers.Authorization = `Bearer ${token}`;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (configuration.hasLoading !== false || configuration.hasLoading === undefined) {\r\n\t\t\tstore.dispatch(SetLoading(true));\r\n\t\t}\r\n\r\n\t\treturn configuration;\r\n\t}, (error) => {\r\n\t\t// Do something with request error\r\n\t\tstore.dispatch(SetLoading(false));\r\n\t\treturn Promise.reject(error);\r\n\t});\r\n\r\n\t// Add a response interceptor\r\n\taxios.interceptors.response.use((response) => {\r\n\t\t// Any status code that lie within the range of 2xx cause this function to trigger\r\n\t\t// Do something with response data\r\n\t\tstore.dispatch(SetLoading(false));\r\n\t\treturn response;\r\n\t}, (error) => {\r\n\t\t// Any status codes that falls outside the range of 2xx cause this function to trigger\r\n\t\t// Do something with response error\r\n\t\tconst { request, response } = error;\r\n\t\tconst statusCode = response ? response.status : request.status;\r\n\r\n\t\tstore.dispatch(SetLoading(false));\r\n\t\tif (statusCode === 401) {\r\n\t\t\tstore.dispatch(RedirectToError('/errors/error-401'));\r\n\t\t\treturn Promise.reject();\r\n\t\t}\r\n\r\n\t\tif (statusCode === 404) {\r\n\t\t\tstore.dispatch(RedirectToError('/errors/error-404'));\r\n\t\t\treturn Promise.reject();\r\n\t\t}\r\n\r\n\t\tif (statusCode < 599 && statusCode >= 500) {\r\n\t\t\tstore.dispatch(RedirectToError('/errors/error-500'));\r\n\t\t\treturn Promise.reject();\r\n\t\t}\r\n\r\n\t\tconst errorObject = {\r\n\t\t\t// eslint-disable-next-line no-nested-ternary\r\n\t\t\tmessage: error.response ? (_.isString(error.response.data) ? error.response.data : 'Something went wrong!') : 'Network error!',\r\n\t\t\t// eslint-disable-next-line no-nested-ternary\r\n\t\t\tvariant: error.response ? (statusCode === 599 ? 'warning' : 'error') : 'error'\r\n\t\t};\r\n\r\n\t\treturn Promise.reject(errorObject);\r\n\t});\r\n};\r\n\r\nexport default axios;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, colors } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'inline-flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t\tflexGrow: 0,\r\n\t\tflexShrink: 0,\r\n\t\tborderRadius: theme.shape.borderRadius,\r\n\t\tlineHeight: '10px',\r\n\t\tfontSize: '10px',\r\n\t\theight: 20,\r\n\t\tminWidth: 20,\r\n\t\twhiteSpace: 'nowrap',\r\n\t\tpadding: theme.spacing(0.5, 1),\r\n\t},\r\n\trounded: {\r\n\t\tborderRadius: 10,\r\n\t\tpadding: theme.spacing(0.5),\r\n\t},\r\n}));\r\n\r\nconst Label = (props) => {\r\n\tconst { className, variant, color, shape, children, style, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst rootClassName = clsx(\r\n\t\t{\r\n\t\t\t[classes.root]: true,\r\n\t\t\t[classes.rounded]: shape === 'rounded',\r\n\t\t},\r\n\t\tclassName\r\n\t);\r\n\r\n\tconst finalStyle = { ...style };\r\n\r\n\tif (variant === 'contained') {\r\n\t\tfinalStyle.backgroundColor = color;\r\n\t\tfinalStyle.color = '#FFF';\r\n\t} else {\r\n\t\tfinalStyle.border = `1px solid ${color}`;\r\n\t\tfinalStyle.color = color;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};\r\n\r\nLabel.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\tclassName: PropTypes.string,\r\n\tcolor: PropTypes.string,\r\n\tshape: PropTypes.oneOf(['square', 'rounded']),\r\n\tstyle: PropTypes.object,\r\n\tvariant: PropTypes.oneOf(['contained', 'outlined']),\r\n};\r\n\r\nLabel.defaultProps = {\r\n\tstyle: {},\r\n\tcolor: colors.grey[600],\r\n\tvariant: 'contained',\r\n\tshape: 'square',\r\n};\r\n\r\nexport default Label;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport tableau from 'tableau-api';\r\n\r\nlet viz;\r\n\r\nexport const ShowExportPDFDialog = () => {\r\n\tviz.showExportPDFDialog();\r\n};\r\n\r\nconst TableauDashboard = (props) => {\r\n\tconst { url } = props;\r\n\t// const url = \"https://public.tableau.com/views/VacationHome/VacationHome?:embed=y&:display_count=yes\";\r\n\r\n\tconst _initViz = () => {\r\n\t\tif (viz) {\r\n\t\t\tviz.dispose();\r\n\t\t}\r\n\r\n\t\tconst containerDiv = document.getElementById('dashboard');\r\n\t\tconst options = {\r\n\t\t\t// hideTabs: true,\r\n\t\t\thideToolbar: true,\r\n\t\t\twidth: '100%',\r\n\t\t\theight: '100vh',\r\n\t\t\tonFirstVizSizeKnown(innerHeight) {\r\n\t\t\t\tcontainerDiv.setAttribute('style', `height:${innerHeight}px`);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tviz = new window.tableau.Viz(containerDiv, url, options);\r\n\t\t// Create a viz object and embed it in the container div.\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (url) {\r\n\t\t\t_initViz();\r\n\t\t}\r\n\t}, [url]);\r\n\r\n\tif (!url) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t);\r\n};\r\n\r\nTableauDashboard.propTypes = {\r\n\turl: PropTypes.string.isRequired\r\n};\r\n\r\nexport default TableauDashboard;\r\n","import React from 'react';\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport Checkbox from '@mui/material/Checkbox';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst propTypes = {\r\n\tid: PropTypes.string,\r\n\tname: PropTypes.string,\r\n\tcolor: PropTypes.string,\r\n\tchecked: PropTypes.bool,\r\n\tonCheck: PropTypes.func,\r\n\tdisabled: PropTypes.bool,\r\n\tlabel: PropTypes.object,\r\n\tlabelPlacement: PropTypes.string,\r\n\tlabelStyle: PropTypes.object,\r\n};\r\n\r\nconst MaterialCheckbox = ({\r\n\tid,\r\n\tcolor = 'primary',\r\n\tchecked = false,\r\n\tonCheck,\r\n\tdisabled = false,\r\n\tlabel = '',\r\n\tlabelPlacement = 'end',\r\n\tlabelStyle,\r\n\t...rest\r\n}) => (\r\n\t\r\n\t\t)}\r\n\t\tlabel={label}\r\n\t\tlabelPlacement={labelPlacement}\r\n\t\tstyle={labelStyle}\r\n\t/>\r\n);\r\n\r\nMaterialCheckbox.muiName = 'Checkbox';\r\nMaterialCheckbox.displayName = Checkbox.muiName;\r\n\r\nMaterialCheckbox.propTypes = propTypes;\r\n\r\nexport default MaterialCheckbox;\r\n","import axios from 'axios';\r\n\r\nconst instance = axios.create();\r\n\r\nexport default instance;\r\n","import { useContext } from 'react';\r\nimport { __RouterContext } from 'react-router';\r\n\r\nexport default () => useContext(__RouterContext);\r\n","import { colors } from '@mui/material';\r\n\r\nconst buildGradient = (start, end) => `linear-gradient(180deg, ${start} 0%, ${end} 100%)`;\r\n\r\nconst grey = buildGradient(colors.grey[400], colors.grey[600]);\r\nconst blue = buildGradient(colors.blue[700], colors.blue[900]);\r\nconst indigo = buildGradient(colors.indigo[400], colors.indigo[600]);\r\nconst green = buildGradient(colors.green[400], colors.green[600]);\r\nconst orange = buildGradient(colors.orange[400], colors.orange[700]);\r\nconst red = buildGradient(colors.red[500], colors.red[700]);\r\n\r\nexport default {\r\n\tgrey,\r\n\tblue,\r\n\tindigo,\r\n\tgreen,\r\n\torange,\r\n\tred,\r\n};\r\n","import React, { Fragment, useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport _ from 'underscore';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport jwt from 'jwt-decode';\r\nimport config from 'configuration/configuration.js';\r\n\r\nimport useRouter from 'utils/useRouter';\r\n\r\nimport { RedirectToError } from 'actions';\r\n\r\n// Example of user roles: ['GUEST', 'USER', 'ADMIN'];\r\n\r\nconst AuthGuard = (props) => {\r\n\tconst { roles, children, operators, projects } = props;\r\n\tconst loggedIn = useSelector((state) => state.session.loggedIn);\r\n\tconst link = useSelector((state) => state.session.link);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst { history } = router;\r\n\tconst token = localStorage.getItem(config.TOKEN_KEY);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (token) {\r\n\t\t\tconst decoded = jwt(token);\r\n\t\t\t// const currentDate = moment().add(1, 'year').toDate().getTime() / 1000;\r\n\t\t\tconst currentDate = new Date().getTime() / 1000;\r\n\t\t\tif (decoded.exp < currentDate) {\r\n\t\t\t\thistory.push('/auth/login');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\thistory.push('/auth/login');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!loggedIn || !user) {\r\n\t\t\thistory.push('/auth/login');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (link) {\r\n\t\t\tdispatch(RedirectToError());\r\n\t\t\thistory.push(link);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ((roles && !roles.includes(user.role)) || (operators && !operators.includes(user.operator)) || (projects && user.projects && _.intersection(projects, user.projects).length === 0)) {\r\n\t\t\thistory.push('/errors/error-401');\r\n\t\t}\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [router]);\r\n\r\n\treturn <>{children};\r\n};\r\n\r\nAuthGuard.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\troles: PropTypes.array.isRequired,\r\n\toperators: PropTypes.array,\r\n\tprojects: PropTypes.array,\r\n};\r\n\r\nexport default AuthGuard;\r\n","import AxiosRequest from 'utils/AxiosRequest';\r\nimport config from '../configuration/configuration.js';\r\n\r\nexport const SESSION_LOGIN = 'SESSION_LOGIN';\r\nexport const SESSION_LOGOUT = 'SESSION_LOGOUT';\r\nexport const SET_NOTIFICATIONS = 'SET_NOTIFICATIONS';\r\nexport const USER_INFO = 'USER_INFO';\r\nexport const SET_LOADING = 'SET_LOADING';\r\nexport const REDIRECT_TO_ERROR = 'REDIRECT_TO_ERROR';\r\nexport const SET_DOWNLOADS = 'SET_DOWNLOADS';\r\nexport const SET_UPLOADS = 'SET_UPLOADS';\r\n\r\nconst onSetNotifications = (value) => ({\r\n\ttype: SET_NOTIFICATIONS,\r\n\tnotifications: value\r\n});\r\n\r\nconst onLogin = () => ({\r\n\ttype: SESSION_LOGIN,\r\n});\r\n\r\nconst onGetUserInfo = (value) => ({\r\n\ttype: USER_INFO,\r\n\tuser: value\r\n});\r\n\r\nconst onSetLoading = (value) => ({\r\n\ttype: SET_LOADING,\r\n\tisLoading: value\r\n});\r\n\r\nconst onRedirectToError = (value) => ({\r\n\ttype: REDIRECT_TO_ERROR,\r\n\tlink: value\r\n});\r\n\r\nconst onSetDownloads = (downloads, downloadskey) => ({\r\n\ttype: SET_DOWNLOADS,\r\n\tdownloads,\r\n\tdownloadskey\r\n});\r\n\r\nconst onSetUploads = (uploads, uploadskey) => ({\r\n\ttype: SET_UPLOADS,\r\n\tuploads,\r\n\tuploadskey\r\n});\r\n\r\nexport const getUserInfo = (token) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: `${config.API_URL}account/GetUserInfo`,\r\n\t\t\t\theaders: { Authorization: `Bearer ${token}` }\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(onGetUserInfo(response.data));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const login = (email, password) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `${config.API_URL}auth/login`,\r\n\t\t\tdata: { email, password }\r\n\t\t}).then(response => {\r\n\t\t\tlocalStorage.setItem(config.TOKEN_KEY, response.data.token);\r\n\t\t\tdispatch(onRedirectToError());\r\n\t\t\tdispatch(getUserInfo(response.data.token));\r\n\t\t\tdispatch(onLogin());\r\n\t\t});\r\n\t} catch (error) {\r\n\t\tthrow new Error(error ? error.message : 'Network error!');\r\n\t}\r\n};\r\n\r\nexport const logout = () => (dispatch) => {\r\n\tlocalStorage.removeItem(config.TOKEN_KEY);\r\n\tdispatch({\r\n\t\ttype: SESSION_LOGOUT,\r\n\t});\r\n};\r\n\r\nexport const RedirectToError = (link) => (dispatch) => {\r\n\tdispatch(onRedirectToError(link));\r\n};\r\n\r\nexport const recover = (email) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `${config.API_URL}auth/recover`,\r\n\t\t\tdata: {\r\n\t\t\t\temail\r\n\t\t\t}\r\n\t\t}).then(response => response);\r\n\t} catch (error) {\r\n\t\tthrow new Error(error ? error.message : 'Network error!');\r\n\t}\r\n};\r\n\r\nexport const CompleteRegistration = (password, rpassword, token, email) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `${config.API_URL}auth/completeRegistration`,\r\n\t\t\tdata: {\r\n\t\t\t\tpassword,\r\n\t\t\t\trpassword,\r\n\t\t\t\ttoken,\r\n\t\t\t\tuser: email\r\n\t\t\t}\r\n\t\t}).then(response => {\r\n\t\t\tlocalStorage.setItem(config.TOKEN_KEY, response.data.token);\r\n\t\t\tdispatch(onLogin());\r\n\t\t\tdispatch(getUserInfo(response.data.token));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\tthrow new Error(error ? error.message : 'Network error!');\r\n\t}\r\n};\r\n\r\nexport const ResetPassword = (password, rpassword, token, email) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `${config.API_URL}auth/recoverconfirmation`,\r\n\t\t\tdata: {\r\n\t\t\t\tpassword,\r\n\t\t\t\trpassword,\r\n\t\t\t\ttoken,\r\n\t\t\t\tuser: email\r\n\t\t\t}\r\n\t\t}).then(response => {\r\n\t\t\tlocalStorage.setItem(config.TOKEN_KEY, response.data.token);\r\n\t\t\tdispatch(onLogin());\r\n\t\t\tdispatch(getUserInfo(response.data.token));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\tthrow new Error(error ? error.message : 'Network error!');\r\n\t}\r\n};\r\n\r\nexport const FetchNotifications = () => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: `${config.API_URL}Notification/Notifications`,\r\n\t\t\t\thasLoading: false\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(onSetNotifications(response.data));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const FetchDownloads = (userId, key) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: `${config.API_URL}File/GetDownloads`,\r\n\t\t\t\tparams: { userId, key },\r\n\t\t\t\thasLoading: false\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(onSetDownloads(response.data, key));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const FetchUploads = (userId, key) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: `${config.API_URL}File/GetUploads`,\r\n\t\t\t\tparams: { userId, key },\r\n\t\t\t\thasLoading: false\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(onSetUploads(response.data, key));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const NotificationMarkAsRead = (id) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'PUT',\r\n\t\t\t\turl: `${config.API_URL}Notification/MarkAsRead/${id}`,\r\n\t\t\t\thasLoading: false\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(FetchNotifications());\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const SetLoading = (isLoading) => dispatch => {\r\n\tdispatch(onSetLoading(isLoading));\r\n};\r\n\r\nexport const UploadFile = (file) => {\r\n\tconst formData = new FormData();\r\n\tformData.append('file', file);\r\n\treturn AxiosRequest({\r\n\t\tmethod: 'POST',\r\n\t\turl: `${config.API_URL}File/Upload`,\r\n\t\tdata: formData,\r\n\t\theaders: {\r\n\t\t\t'Content-Type': 'multipart/form-data'\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst ShowFile = (response) => {\r\n\tconst blob = response.data;\r\n\tconst filename = decodeURIComponent(response.headers['content-disposition'].split('\\'')[2]);\r\n\t// It is necessary to create a new blob object with mime-type\r\n\t// explicitly set otherwise only Chrome works like it should\r\n\tconst newBlob = new Blob([blob], { type: 'application/force-download' });\r\n\r\n\t// IE doesn't allow using a blob object directly as link href\r\n\t// instead it is necessary to use msSaveOrOpenBlob\r\n\tif (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n\t\twindow.navigator.msSaveOrOpenBlob(newBlob);\r\n\t\treturn;\r\n\t}\r\n\r\n\t// For other browsers:\r\n\t// Create a link pointing to the ObjectURL containing the blob.\r\n\tconst data = window.URL.createObjectURL(newBlob);\r\n\tconst link = document.createElement('a');\r\n\tlink.href = data;\r\n\tlink.download = filename;\r\n\tdocument.body.appendChild(link);\r\n\tlink.click();\r\n\tsetTimeout(() => {\r\n\t\t// For Firefox it is necessary to delay revoking the ObjectURL\r\n\t\tdocument.body.removeChild(link);\r\n\t\twindow.URL.revokeObjectURL(data);\r\n\t}, 100);\r\n};\r\n\r\nexport const DownloadFile = (filePath) => async dispatch => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: `${config.API_URL}File/Download?file=${filePath}`,\r\n\t\t\t\tresponseType: 'blob'\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tShowFile(response);\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n","export default (bytes, decimals = 2) => {\r\n\tif (bytes === 0) return '0 Bytes';\r\n\r\n\tconst k = 1024;\r\n\tconst dm = decimals < 0 ? 0 : decimals;\r\n\tconst sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\r\n\tconst i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n\t// eslint-disable-next-line no-restricted-properties\r\n\treturn `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\r\n};\r\n"],"sourceRoot":""}