{"version":3,"sources":["utils/getInitials.js","actions/sessionActions.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/Dashboard/requests/DashboardInspectRequests.js","views/Dashboard/actions/DashboardInspectActions.js","views/Dashboard/reducers/DashboardInspectReducer.js","components/Map/actions/MapActions.js","components/Map/reducers/MapReducer.js","views/UploadModule/requests/UploadModuleRequests.js","views/UploadModule/actions/UploadModuleActions.js","views/UploadModule/reducers/UploadModuleReducer.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/components/DeleteUserDialog/DeleteUserDialog.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/Dashboard/components/Inspect/components/OptionsButton/OptionsButton.js","views/Dashboard/components/Inspect/DashboardInspect.js","views/UploadModule/components/components/FileUpload.js","views/UploadModule/components/UploadModule.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/DataTable/DataTable.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/DatePicker/Calendar.js","components/FilePicker/FilePicker.js","components/PowerBIDashboard/PowerBIDashboard.js","components/FiltersDrawer/FiltersDrawer.js","actions/notifierActions.js","configuration/configuration.js","components/Label/Label.js","components/TableauDashboard/TableauDashboard.js","utils/AxiosRequest.js","components/Checkbox/Checkbox.js","utils/axios.js","utils/bytesToSize.js","utils/useRouter.js","components/AuthGuard/AuthGuard.js","utils/gradients.js"],"names":["name","replace","split","slice","map","v","toUpperCase","join","SESSION_LOGIN","SESSION_LOGOUT","SET_NOTIFICATIONS","USER_INFO","SET_LOADING","REDIRECT_TO_ERROR","onLogin","type","onRedirectToError","value","link","getUserInfo","token","dispatch","a","AxiosRequest","method","url","config","API_URL","headers","Authorization","then","response","data","user","login","email","password","localStorage","setItem","TOKEN_KEY","Error","message","logout","removeItem","RedirectToError","recover","CompleteRegistration","rpassword","ResetPassword","FetchNotifications","hasLoading","notifications","NotificationMarkAsRead","id","SetLoading","isLoading","UploadFile","file","formData","FormData","append","ShowFile","blob","filename","decodeURIComponent","newBlob","Blob","window","navigator","msSaveOrOpenBlob","URL","createObjectURL","document","createElement","href","download","body","appendChild","click","setTimeout","removeChild","revokeObjectURL","DownloadFile","filePath","responseType","white","black","primary","contrastText","dark","colors","blue","main","light","secondary","A400","error","red","text","blueGrey","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","MuiTableCell","typography","borderBottom","MuiTableRow","MuiToggleButton","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","MuiTypography","gutterBottom","marginBottom","theme","createTheme","components","overrides","getItem","initialState","loggedIn","loadingCount","decoded","jwt","currentDate","Date","getTime","exp","sessionReducer","state","action","actionTypes","role","defaultState","GetUsersRequest","params","GetRolesRequest","GetOperatorProjectsRequest","operatorIds","GetUserRequest","userId","ResendConfirmationEmailRequest","DeactivateUserRequest","DeleteUserRequest","GET_USERS","GET_USERS_STATS","TOGGLE_ADD_EDIT_USER_DIALOG","TOGGLE_DELETE_USER_DIALOG","GET_ROLES","GET_OPERATORS","GET_OPERATOR_PROJECTS","SET_FORM_STATE","GET_USER","GetUsers","users","catch","enqueueSnackbar","options","variant","GetUsersStats","usersStats","ToggleAddEditUserDialog","openAddEditUserDialog","openAddEditUserDialogId","onToggleAddEditUserDialog","ToggleDeleteUserDialog","openDeleteUserDialog","openDeleteUserDialogId","onToggleDeleteUserDialog","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","DashboardInspectRequest","dashboardId","DASHBOARD_INSPECT","dashboard","reportsReducer","UPDATE_COORDINATES","ADD_MAP","UPDATE_TOPOLOGY","UPDATE_LEGEND","UPDATE_POPUP","UPDATE_OVERLAYS","lat","lon","zoom","maps","mapUpdated","undefined","zoomToUpdate","AddNewMap","mapAlreadyExists","find","el","newAddMaps","filter","push","coordinates","CenterLatitude","CenterLongitude","topology","twoG","threeG","fourG","legend","legendElements","title","updateEnd","UpdateCoordinates","newUpdateMaps","item","newCoordinates","UpdateTopology","newTopologyMaps","newTopology","UpdateLegend","newLegendMaps","newLegend","UpdatePopup","newMaps","control","activePopup","UpdateOverlays","activeLayers","MapReducer","SaveExcelFileRequest","tempFilePath","SaveExcelFile","filesInfo","inputFilePath","UploadModuleReducer","rootReducer","combineReducers","session","notifierReducer","ENQUEUE_SNACKBAR","key","notification","CLOSE_SNACKBAR","dismissAll","dismissed","REMOVE_SNACKBAR","settingsReducer","dashboardInspectReducer","mapReducer","uploadModuleReducer","useStyles","makeStyles","Topbar","props","className","rest","classes","AppBar","clsx","Toolbar","to","alt","src","style","maxHeight","content","height","paddingTop","breakpoints","up","Auth","route","fallback","LinearProgress","renderRoutes","routes","startSignalRConnection","connection","origin","start","err","NotificationHub","useRef","useDispatch","NotificationRecieved","info","actions","Math","random","useEffect","current","urlRoot","connectionHub","HubConnectionBuilder","withUrl","build","on","onclose","stop","pages","HomeIcon","FolderIcon","CodeIcon","SupervisorAccountIcon","children","target","DesktopMacIcon","SettingsIcon","overflowY","spacing","profile","display","flexDirection","alignItems","minHeight","avatar","width","marginTop","navigation","NavBar","openMobile","onMobileClose","router","useRouter","useSelector","location","pathname","projects","projectsMenu","management","navigationConfig","hangfire","hangfireindex","findIndex","splice","managementIndex","navbarContent","Avatar","component","RouterLink","getInitials","firstname","lastname","Typography","Divider","list","includes","_","intersection","length","userRole","userProjects","Hidden","lgUp","Drawer","anchor","onClose","open","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","useState","pricingModalOpen","setPricingModalOpen","openNotifications","setOpenNotifications","shallowEqual","IconButton","onClick","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","responsive","maintainAspectRatio","animation","cutoutPercentage","layout","tooltips","enabled","mode","intersect","caretSize","yPadding","xPadding","titleFontColor","bodyFontColor","footerFontColor","callbacks","tooltipItem","items","index","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","DatePicker","maxDate","onAccept","date","isAfter","isBefore","onChange","defaultProps","circle1","stroke","fill","strokeWidth","circle2","strokeDasharray","CircularProgress","viewBox","d","details","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","task","deadline","now","deadlineMoment","diff","ListItemIcon","primaryTypographyProps","noWrap","avatars","members","limit","TeamTasks","tasks","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","maxWidth","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","DataTable","columns","viewColumns","filterType","customBodyRender","sortBy","val","Label","sort","empty","updateValue","rowsPerPage","tableBodyMaxHeight","tableBodyCellMaxWidth","selectableRows","expandableRows","DialogTitle","withStyles","closeButton","top","DialogContent","MuiDialogContent","ModalDialog","cancelLabel","confirmLabel","hasConfirm","onConfirmClicked","isDisabled","modal","autoScrollBodyContent","dialogProps","Dialog","fullWidth","disableEscapeKeyDown","DialogActions","disabled","schema","presence","allowEmpty","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","DeleteUserDialog","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","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","General","oldpassword","newpassword","confirmnewpassword","equality","Security","overview","productImage","notice","Settings","OptionsButton","exportPdf","fullScreen","DashboardInspect","match","pageTitle","headerHidden","handle","useFullScreenHandle","_getDashboard","_fullScreen","enter","hidden","ShowExportPDFDialog","TableauDashboard","reportId","serverId","accessToken","generate","FileUpload","placeholder","UploadExcelFile","UploadModule","path","exact","AuthGuard","DashboardLayout","AuthLayout","lazy","ErrorLayout","DashboardAnalyticsView","DashboardDefaultView","OverviewView","PresentationView","displayed","Notifier","store","useSnackbar","React","forEach","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","indexOf","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","add","subscription","proposalsLeft","templatesLeft","invitesLeft","adsLeft","hasAnalytics","hasEmailAlerts","settings","draft","events","desc","end","allDay","conversations","otherUser","messages","sender","authUser","contentType","unread","groups","connections","group","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","activities","subject_type","action_type","action_desc","subscribers","cover","common_connections","posts","liked","likes","comments","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","injectFirst","ThemeProvider","maxSnack","autoHideDuration","LocalizationProvider","dateAdapter","DateAdapter","hostname","ReactDOM","render","getElementById","serviceWorker","ready","registration","unregister","chips","chip","formControlStyle","customRenderValue","setLabelWidth","InputLabelRef","offsetWidth","htmlFor","multiple","inputProps","renderValue","selected","showDownload","showPrint","outerTheme","actionColumnWidth","adaptV4Theme","MUIDataTable","MUIDataTableHead","MUIDataTableHeadCell","MUIDataTableHeadRow","MUIDataTableBody","MUIDataTableBodyRow","MUIDataTablePagination","MUIDataTableViewCol","MUIDataTableSearch","MUIDataTableToolbar","MUIDataTableFilter","MUIDataTableFilterList","getMuiTheme","rowsPerPageOptions","print","onRowSelectionChange","currentRowsSelected","allRowsSelected","rowsSelected","onRowSelection","dt","fileInput","AddPost","fileInputRef","setValue","handleAttach","Input","disableUnderline","shape","success","lightBlue","warning","paddingLeft","Alert","forwardRef","setOpen","Collapse","in","displayName","trimCode","codeLines","trim","indexOfFirstChar","output","line","substr","CodeBlock","async","source","language","Component","Prism","outline","CookiesNotification","Cookies","agreeButton","set","dropZone","border","cursor","dragActive","FilesDropzone","acceptedTypes","upload","maxSize","setFiles","handleDrop","acceptedFiles","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","avatarBlue","avatarGreen","avatarOrange","avatarRed","NotificationList","addedDate","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundSize","EmptyList","NotificationsPopover","Popover","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","comment","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","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","element","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","option","newValues","Chip","deleteIcon","onDelete","handleTagDelete","Slider","valueLabelDisplay","RadioGroup","FormControlLabel","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","iconButton","selectedDate","handleDateChange","useSate","selectedStateDate","setSelectedDate","CalendarPicker","FilePicker","InputBase","orientation","PowerBIDashboard","embedConfig","embedUrl","tokenType","models","TokenType","Aad","panes","filters","expanded","visible","BackgroundType","Default","cssClassName","getEmbeddedComponent","embeddedReport","report","rounded","finalStyle","viz","showExportPDFDialog","dispose","containerDiv","hideToolbar","onFirstVizSizeKnown","innerHeight","setAttribute","tableau","Viz","_initViz","interceptors","request","use","configuration","Promise","reject","statusCode","errorObject","isString","MaterialCheckbox","onCheck","labelPlacement","labelStyle","muiName","Checkbox","bytes","decimals","k","dm","sizes","log","parseFloat","pow","toFixed","useContext","__RouterContext","propTypes","PropTypes","node","array","isRequired","buildGradient"],"mappings":"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","file":"static/js/main.2cb5598a.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 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\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\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 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","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};\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_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\r\nexport const DeleteUserRequest = (userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/DeleteUser`,\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\tDeleteUserRequest\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 TOGGLE_DELETE_USER_DIALOG = 'TOGGLE_DELETE_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 onToggleDeleteUserDialog = (openDeleteUserDialog, openDeleteUserDialogId) => ({\r\n\ttype: TOGGLE_DELETE_USER_DIALOG,\r\n\topenDeleteUserDialog,\r\n\topenDeleteUserDialogId\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 ToggleDeleteUserDialog = (openDeleteUserDialog, openDeleteUserDialogId) => (dispatch) => {\r\n\tdispatch(onToggleDeleteUserDialog(openDeleteUserDialog, openDeleteUserDialogId));\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\r\nexport const DeleteUser = (userId, role) => async (dispatch) => {\r\n\tawait DeleteUserRequest(userId).then(response => {\r\n\t\tdispatch(GetUsers(role));\r\n\t\tdispatch(GetUsersStats());\r\n\t\tdispatch(ToggleDeleteUserDialog(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","import {\r\n\tGET_USERS,\r\n\tGET_USERS_STATS,\r\n\tTOGGLE_ADD_EDIT_USER_DIALOG,\r\n\tTOGGLE_DELETE_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\topenDeleteUserDialog: false,\r\n\topenDeleteUserDialogId: 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 TOGGLE_DELETE_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\topenDeleteUserDialog: action.openDeleteUserDialog,\r\n\t\t\t\t\t\t\topenDeleteUserDialogId: action.openDeleteUserDialogId\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 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","export const UPDATE_COORDINATES = 'UPDATE_COORDINATES';\r\nexport const ADD_MAP = 'ADD_MAP';\r\nexport const UPDATE_TOPOLOGY = 'UPDATE_TOPOLOGY';\r\nexport const UPDATE_LEGEND = 'UPDATE_LEGEND';\r\nexport const UPDATE_POPUP = 'UPDATE_POPUP';\r\nexport const UPDATE_OVERLAYS = 'UPDATE_OVERLAYS';\r\n\r\nexport const onAddMap = (value) => ({\r\n\ttype: ADD_MAP,\r\n\tvalue\r\n});\r\n\r\nexport const onUpdateCoordinates = (value) => ({\r\n\ttype: UPDATE_COORDINATES,\r\n\tvalue\r\n});\r\n\r\nexport const onUpdateTopology = (value) => ({\r\n\ttype: UPDATE_TOPOLOGY,\r\n\tvalue\r\n});\r\n\r\nexport const onUpdateLegend = (value) => ({\r\n\ttype: UPDATE_LEGEND,\r\n\tvalue\r\n});\r\n\r\nexport const onUpdatePopup = (value) => ({\r\n\ttype: UPDATE_POPUP,\r\n\tvalue\r\n});\r\n\r\nexport const onUpdateOverlays = (value) => ({\r\n\ttype: UPDATE_OVERLAYS,\r\n\tvalue\r\n});\r\n","import * as actionTypes from '../actions/MapActions.js';\r\n\r\n// 36.746675\r\n// -6.375104\r\nconst initialState = {\r\n\tlat: 38.741647270880264,\r\n\tlon: -9.204503840513995,\r\n\tzoom: 6,\r\n\tmaps: [],\r\n\tmapUpdated: undefined,\r\n\tzoomToUpdate: 9\r\n};\r\n\r\nconst AddNewMap = (state, action) => {\r\n\tconst mapAlreadyExists = state.maps.find((el) => el.id === action.value.id) !== undefined;\r\n\t// make a copy of the existing array\r\n\tlet newAddMaps = state.maps.slice();\r\n\r\n\tif (mapAlreadyExists) {\r\n\t\tnewAddMaps = newAddMaps.filter(map => map.id !== action.value.id);\r\n\t\tnewAddMaps.push({\r\n\t\t\t...action.value,\r\n\t\t\tcoordinates: {\r\n\t\t\t\tCenterLatitude: state.lat,\r\n\t\t\t\tCenterLongitude: state.lon,\r\n\t\t\t\tzoom: state.zoom\r\n\t\t\t},\r\n\t\t\ttopology: { twoG: [], threeG: [], fourG: [] },\r\n\t\t\tlegend: { legendElements: [], title: '' },\r\n\t\t\tupdateEnd: false\r\n\t\t});\r\n\t} else {\r\n\t\t// modify the COPY, not the original\r\n\t\tnewAddMaps.push({\r\n\t\t\t...action.value,\r\n\t\t\tcoordinates: {\r\n\t\t\t\tCenterLatitude: state.lat,\r\n\t\t\t\tCenterLongitude: state.lon,\r\n\t\t\t\tzoom: state.zoom\r\n\t\t\t},\r\n\t\t\ttopology: { twoG: [], threeG: [], fourG: [] },\r\n\t\t\tlegend: { legendElements: [], title: '' },\r\n\t\t\tupdateEnd: false\r\n\t\t});\r\n\t}\r\n\r\n\treturn {\r\n\t\t...state,\r\n\t\tmaps: newAddMaps\r\n\t};\r\n};\r\n\r\nconst UpdateCoordinates = (state, action) => {\r\n\tconst newUpdateMaps = state.maps.map((item) => {\r\n\t\tif (item.id !== action.value.id) {\r\n\t\t\t// This isn't the item we care about - keep it as-is\r\n\t\t\treturn item;\r\n\t\t}\r\n\t\t// Otherwise, this is the one we want - return an updated value\r\n\t\treturn {\r\n\t\t\t...item,\r\n\t\t\tcoordinates: action.value.newCoordinates,\r\n\t\t\tupdateEnd: false\r\n\t\t};\r\n\t});\r\n\treturn {\r\n\t\t...state,\r\n\t\tmaps: newUpdateMaps,\r\n\t\tmapUpdated: action.value.id,\r\n\t};\r\n};\r\n\r\nconst UpdateTopology = (state, action) => {\r\n\tconst newTopologyMaps = state.maps.map((item) => {\r\n\t\tif (item.id !== action.value.id) {\r\n\t\t\t// This isn't the item we care about - keep it as-is\r\n\t\t\treturn item;\r\n\t\t}\r\n\t\t// Otherwise, this is the one we want - return an updated value\r\n\t\treturn {\r\n\t\t\t...item,\r\n\t\t\ttopology: action.value.newTopology,\r\n\t\t\tupdateEnd: true\r\n\t\t};\r\n\t});\r\n\r\n\treturn {\r\n\t\t...state,\r\n\t\tmaps: newTopologyMaps,\r\n\t\tmapUpdated: action.value.id,\r\n\t};\r\n};\r\n\r\nconst UpdateLegend = (state, action) => {\r\n\t// console.log('update legend', action.value.id)\r\n\tconst newLegendMaps = state.maps.map((item) => {\r\n\t\tif (item.id !== action.value.id) {\r\n\t\t\t// This isn't the item we care about - keep it as-is\r\n\t\t\treturn item;\r\n\t\t}\r\n\t\t// Otherwise, this is the one we want - return an updated value\r\n\t\treturn {\r\n\t\t\t...item,\r\n\t\t\tlegend: action.value.newLegend,\r\n\t\t\tupdateEnd: true\r\n\t\t};\r\n\t});\r\n\r\n\treturn {\r\n\t\t...state,\r\n\t\tmaps: newLegendMaps,\r\n\t\tmapUpdated: action.value.id,\r\n\t};\r\n};\r\n\r\nconst UpdatePopup = (state, action) => {\r\n\tconst newMaps = state.maps.map((item) => {\r\n\t\tif (item.id !== action.value.id) {\r\n\t\t\t// This isn't the item we care about - keep it as-is\r\n\t\t\treturn item;\r\n\t\t}\r\n\t\t// Otherwise, this is the one we want - return an updated value\r\n\t\treturn {\r\n\t\t\t...item,\r\n\t\t\tcontrol: {\r\n\t\t\t\t...item.control,\r\n\t\t\t\tstate: {\r\n\t\t\t\t\t...item.control.state,\r\n\t\t\t\t\tactivePopup: [...action.value.activePopup]\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...state,\r\n\t\tmaps: newMaps,\r\n\t\tmapUpdated: null,\r\n\t};\r\n};\r\n\r\nconst UpdateOverlays = (state, action) => {\r\n\tconst newMaps = state.maps.map((item) => {\r\n\t\tif (item.id !== action.value.id) {\r\n\t\t\t// This isn't the item we care about - keep it as-is\r\n\t\t\treturn item;\r\n\t\t}\r\n\t\t// Otherwise, this is the one we want - return an updated value\r\n\t\treturn {\r\n\t\t\t...item,\r\n\t\t\tcontrol: {\r\n\t\t\t\t...item.control,\r\n\t\t\t\tstate: {\r\n\t\t\t\t\t...item.control.state,\r\n\t\t\t\t\tactiveLayers: [...action.value.activeLayers]\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...state,\r\n\t\tmaps: newMaps,\r\n\t\tmapUpdated: null,\r\n\t};\r\n};\r\n\r\nconst MapReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase actionTypes.ADD_MAP:\r\n\t\t\t\t\t\treturn AddNewMap(state, action);\r\n\t\t\t\t\tcase actionTypes.UPDATE_COORDINATES:\r\n\t\t\t\t\t\treturn UpdateCoordinates(state, action);\r\n\t\t\t\t\tcase actionTypes.UPDATE_TOPOLOGY:\r\n\t\t\t\t\t\treturn UpdateTopology(state, action);\r\n\t\t\t\t\tcase actionTypes.UPDATE_LEGEND:\r\n\t\t\t\t\t\treturn UpdateLegend(state, action);\r\n\t\t\t\t\tcase actionTypes.UPDATE_POPUP:\r\n\t\t\t\t\t\treturn UpdatePopup(state, action);\r\n\t\t\t\t\tcase actionTypes.UPDATE_OVERLAYS:\r\n\t\t\t\t\t\treturn UpdateOverlays(state, action);\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn state;\r\n\t}\r\n};\r\n\r\nexport default MapReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const SaveExcelFileRequest = (userId, tempFilePath) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}UploadModule/SaveExcelFile`,\r\n\tdata: { userId, tempFilePath }\r\n});\r\n","import { DownloadFile, enqueueSnackbar, UploadFile } from 'actions';\r\nimport { SaveExcelFileRequest } from '../requests/UploadModuleRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\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 SaveExcelFile = (userId, filePath) => async (dispatch) => {\r\n\tawait SaveExcelFileRequest(userId, filePath).then(response => {\r\n\t\t// dispatch(GetRepositoryFiles(userId,));\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 UploadExcelFile = (userId, file) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(SaveExcelFile(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","import {\r\n\tSET_FORM_STATE,\r\n} from '../actions/UploadModuleActions';\r\n\r\nconst initialState = {\r\n\tfilesInfo: [],\r\n\tformState: {\r\n\t\tvalues: {\r\n\t\t\tinputFilePath: ''\r\n\t\t},\r\n\t\tisValid: false,\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n};\r\n\r\nconst UploadModuleReducer = (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\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 UploadModuleReducer;\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 dashboardInspectReducer from '../views/Dashboard/reducers/DashboardInspectReducer';\r\nimport mapReducer from '../components/Map/reducers/MapReducer';\r\nimport uploadModuleReducer from '../views/UploadModule/reducers/UploadModuleReducer';\r\n\r\nconst rootReducer = combineReducers({\r\n\tsession: sessionReducer,\r\n\tusersReducer,\r\n\tnotifierReducer,\r\n\toperatorsReducer,\r\n\tsettingsReducer,\r\n\tdashboardInspectReducer,\r\n\tmapReducer,\r\n\tuploadModuleReducer\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 } 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\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\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// 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","/* eslint-disable react/no-multi-comp */\r\n/* eslint-disable react/display-name */\r\nimport React from 'react';\r\nimport { colors } from '@mui/material';\r\nimport BarChartIcon from '@mui/icons-material/BarChart';\r\nimport SupervisorAccountIcon from '@mui/icons-material/SupervisorAccount';\r\nimport CalendarTodayIcon from '@mui/icons-material/CalendarToday';\r\nimport ChatIcon from '@mui/icons-material/ChatOutlined';\r\nimport CodeIcon from '@mui/icons-material/Code';\r\nimport DashboardIcon from '@mui/icons-material/DashboardOutlined';\r\nimport ErrorIcon from '@mui/icons-material/ErrorOutline';\r\nimport FolderIcon from '@mui/icons-material/FolderOutlined';\r\nimport HomeIcon from '@mui/icons-material/HomeOutlined';\r\nimport ListAltIcon from '@mui/icons-material/ListAlt';\r\nimport LockOpenIcon from '@mui/icons-material/LockOpenOutlined';\r\nimport MailIcon from '@mui/icons-material/MailOutlined';\r\nimport PresentToAllIcon from '@mui/icons-material/PresentToAll';\r\nimport PeopleIcon from '@mui/icons-material/PeopleOutlined';\r\nimport PersonIcon from '@mui/icons-material/PersonOutlined';\r\nimport ReceiptIcon from '@mui/icons-material/ReceiptOutlined';\r\nimport SettingsIcon from '@mui/icons-material/SettingsOutlined';\r\nimport ViewModuleIcon from '@mui/icons-material/ViewModule';\r\nimport DesktopMacIcon from '@mui/icons-material/DesktopMac';\r\nimport AssignmentIcon from '@mui/icons-material/Assignment';\r\n\r\nimport { Label } from 'components';\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\t// projects: ['Operations'],\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\ttitle: 'Modules',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Upload',\r\n\t\t\t\thref: '/modules/uploadModule',\r\n\t\t\t\ticon: FolderIcon\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Planning Report',\r\n\t\t\t\thref: '/modules/test',\r\n\t\t\t\ticon: CodeIcon\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];\r\n","import React, { Fragment, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport _ from 'underscore';\r\nimport clsx from 'clsx';\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\n\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 === 'Modules');\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, useEffect } 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, ToggleDeleteUserDialog } 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 _deleteUser = (userId) => {\r\n\t\tdispatch(ToggleDeleteUserDialog(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 _deleteUser(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\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 PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport ModalDialog from '../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport { DeleteUser } 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 DeleteUserDialog = (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 openDeleteUserDialogId = useSelector((state) => state.usersReducer.openDeleteUserDialogId);\r\n\tconst title = 'Delete user';\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tdispatch(DeleteUser(openDeleteUserDialogId, rest.user.role));\r\n\t\tdispatch(enqueueSnackbar({ message: 'User deleted', options: { variant: 'info' } }));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t

Are you sure you want to delete this User?

\r\n\t\t\r\n\t);\r\n};\r\n\r\nDeleteUserDialog.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 DeleteUserDialog;\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\nimport DeleteUsersDialog from './components/DeleteUserDialog/DeleteUserDialog';\r\n\r\nimport { GetUsers, GetUsersStats, ToggleAddEditUserDialog, ToggleDeleteUserDialog } 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\tconst openDeleteUserDialog = useSelector((state) => state.usersReducer.openDeleteUserDialog);\r\n\r\n\tconst _addEditUserClose = () => {\r\n\t\tdispatch(ToggleAddEditUserDialog(false));\r\n\t};\r\n\r\n\tconst _deleteUserClose = () => {\r\n\t\tdispatch(ToggleDeleteUserDialog(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\t{openDeleteUserDialog && (\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, { 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 { DashboardInspect as DashboardInspectAction } 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\t// marginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst DashboardInspect = (props) => {\r\n\tconst { match, pageTitle, headerHidden, module } = 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(DashboardInspectAction(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' ? (\r\n\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t) : null}\r\n\t\t\t{dashboard.type === 'PowerBI' ? (\r\n\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t) : 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\tpageTitle: PropTypes.string,\r\n\theaderHidden: PropTypes.bool,\r\n\tmodule: PropTypes.string,\r\n};\r\n\r\nexport default DashboardInspect;\r\n","import React, { useEffect, useCallback, useState } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport FilterListIcon from '@mui/icons-material/FilterList';\r\nimport {\r\n\tcolors, Button, TextField, Typography,\r\n\tGrid, Select, Card, CardHeader, CardContent,\r\n\tDivider, Accordion, AccordionSummary, Checkbox,\r\n\tAccordionDetails, FormControlLabel, Tabs, Tab,\r\n\tFormControl, FormGroup\r\n} from '@mui/material';\r\nimport { Page, Header, SelectField, Label, SearchBar, FiltersDrawer, FilesDropzone, Alert, FilePicker } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, UploadExcelFile } from '../../actions/UploadModuleActions';\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\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 FileUpload = (props) => {\r\n\tconst { className, ...rest } = props;\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.uploadModuleReducer.formState);\r\n\tconst userId = useSelector(state => state.session.user.id);\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\tinputFilePath: 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 _saveExcelFile = (event) => {\r\n\t\tif (formState.values.inputFilePath) {\r\n\t\t\tif (formState.values.inputFilePath.size > 50000000) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 50MB', options: { variant: 'warning' } }));\r\n\t\t\t} else if (formState.values.inputFilePath === '') {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: 'No file selected', options: { variant: 'Info' } }));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(UploadExcelFile(userId, formState.values.inputFilePath));\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: 'File uploaded', options: { variant: 'info' } }));\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\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\r\n\t\t\t\t\t\t\t{/* New 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\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\tUpload\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\nFileUpload.propTypes = {\r\n\tclassName: PropTypes.array.isRequired\r\n};\r\n\r\nexport default FileUpload;\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 { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport FileUpload from './components/FileUpload';\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 UploadModule = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\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\nexport default UploadModule;\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 DashboardInspect from './views/Dashboard/components/Inspect/DashboardInspect.js';\r\nimport UploadModule from './views/UploadModule/components/UploadModule';\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\t// projects: ['Operations'],\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: '/modules',\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: '/modules/uploadModule',\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: UploadModule()\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: '/modules/test',\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({ match: { params: { id: 2 } }, pageTitle: 'Page Title', module: 'Modules' })\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// roles: ['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: '/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: '/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: '/dashboard/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: '/dashboard/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: '/manage/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: '/manage/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: '/manage/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: '/manage/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: '/manage/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: '/manage/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 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 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\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, { 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, placeholder } = 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\tplaceholder: 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 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 _ 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 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","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","import { useContext } from 'react';\r\nimport { __RouterContext } from 'react-router';\r\n\r\nexport default () => useContext(__RouterContext);\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 { 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"],"sourceRoot":""}