{"version":3,"sources":["components/Logo.js","slices/sidebarSlice.js","utils/objFromArray.js","utils/mock.js","__mocks__/account.js","__mocks__/calendar.js","__mocks__/chat.js","__mocks__/customers.js","__mocks__/invoices.js","__mocks__/kanban.js","__mocks__/mail.js","__mocks__/notifications.js","__mocks__/orders.js","__mocks__/products.js","__mocks__/project.js","__mocks__/reports.js","__mocks__/search.js","__mocks__/social.js","mixins/chartjs.js","serviceWorker.js","contexts/SettingsContext.js","components/GlobalStyles.js","hooks/useScrollReset.js","components/ScrollReset.js","hooks/useSettings.js","components/CookiesNotification.js","components/GoogleAnalytics.js","components/SettingsNotification.js","theme/shadows.js","theme/index.js","theme/typography.js","layouts/DashboardLayout/NavBar/NavItem.js","layouts/DashboardLayout/NavBar/NewSideBar.js","layouts/DashboardLayout/TopBar/SideBarSettings.js","layouts/DashboardLayout/NavBar/index.js","layouts/DashboardLayout/TopBar/Account.js","components/OnlineIndicator.js","layouts/DashboardLayout/TopBar/Contacts.js","layouts/DashboardLayout/TopBar/Notifications.js","layouts/DashboardLayout/TopBar/Search.js","layouts/DashboardLayout/TopBar/Settings.js","layouts/DashboardLayout/TopBar/index.js","layouts/DashboardLayout/index.js","layouts/DocsLayout/NavBar/NavItem.js","layouts/DocsLayout/NavBar/index.js","layouts/DocsLayout/TopBar.js","layouts/DocsLayout/mdx/Heading.js","layouts/DocsLayout/mdx/Paragraph.js","layouts/DocsLayout/mdx/List.js","layouts/DocsLayout/mdx/ListItem.js","layouts/DocsLayout/mdx/Blockquote.js","layouts/DocsLayout/mdx/Code.js","layouts/DocsLayout/mdx/InlineCode.js","layouts/DocsLayout/mdx/index.js","layouts/DocsLayout/index.js","layouts/MainLayout/TopBar.js","layouts/MainLayout/index.js","components/AuthGuard.js","components/GuestGuard.js","views/errors/ForbiddenView.js","routes.js","utils/removeConsole.js","lib/applicationVersionControl.js","App.js","utils/googleTagManager.js","index.js","slices/sidebarManagementSettingSlice.js","store/rootReducer.js","store/index.js","utils/routerUtils.js","utils/axios.js","constants.js","components/LoadingScreen.js","utils/wait.js","slices/contactUsersSlices.js","slices/chat.js","slices/notification.js","contexts/JWTAuthContext.js","utils/analytics.js","components/Page.js","contexts/PermissionsContext.js","slices/kanban.js","slices/mail.js","slices/ClaimsSlices/ClaimStatus.js","slices/userSlice.js","slices/ClaimsSlices/ClaimPriorities.js","slices/ClaimsSlices/ClaimTrackerTypes.js","slices/calendar.js","slices/driversSlice.js","slices/ClaimsSlices/ClaimCompanys.js","slices/driverBalanceSlice.js","slices/BookOrdersSlices/bookOrdersFilters.js","slices/Bank/destinationSlice.js","slices/PermissionsSlices/RolePermissionSlice.js","slices/BrokerFeeSlices/brokerTransactionStatusesSlice.js","slices/BrokerFeeSlices/brokerFeeSlice.js","slices/permissionsSlice.js","slices/claimsTracker.js","slices/truckvinSlice.js","slices/claimsTeamUsers.js","slices/ClaimsSlices/ClaimTracker.js","slices/allUsersSlice.js","slices/ClaimsSlices/ClaimsOrders.js","slices/ClaimsSlices/ClaimPrerequest.js","slices/BookOrdersSlices/bookOrderSlice.js","slices/ClaimsSlices/ClaimPrecent.js","slices/ClaimsSlices/ClaimDynamicChart.js","slices/ServiceTypes/estimatedChangesSlice.js","slices/Bank/chaseTransactionsSlice.js","slices/Bank/invoiceCategorySlice.js","slices/Bank/shipperSlice.js","components/SplashScreen.js","iconsConstants.js","hooks/useAuth.js"],"names":["Logo","props","useState","smallScreen","setSmallScreen","useEffect","mediqQuery","window","matchMedia","matches","handleMediaQueryChange","e","addEventListener","removeEventListener","alt","src","style","width","getSidebarData","createAsyncThunk","params","a","rejectWithValue","axios","get","response","data","value","sidebarSlice","createSlice","name","initialState","loading","error","success","extraReducers","builder","addCase","pending","state","fulfilled","action","payload","rejected","objFromArray","arr","key","reduce","accumulator","current","axiosMockAdapter","AxiosMockAdapter","delayResponse","restore","JWT_SECRET","users","id","avatar","canHire","country","email","isPublic","password","phone","roles","userType","tier","mock","onPost","reply","config","wait","JSON","parse","user","find","_user","message","accessToken","jwt","sign","userId","expiresIn","console","uuidv4","role","onGet","Authorization","headers","split","verify","err","settings","subscription","price","currency","proposalsLeft","templatesLeft","invitesLeft","adsLeft","hasAnalytics","hasEmailAlerts","events","allDay","color","colors","green","description","end","moment","subtract","hours","minutes","toDate","start","title","add","startOf","endOf","request","event","eventId","update","_","map","_event","assign","reject","contacts","isActive","lastActivity","getTime","username","threads","messages","attachments","body","contentType","createdAt","senderId","participants","type","unreadCount","findContactByUsername","_contact","findThreadById","threadId","_threadId","query","cleanQuery","toLowerCase","trim","results","forEach","contact","includes","push","threadKey","thread","participantId","_thread","_participant","recipientIds","participantIds","length","_participantIds","isEmpty","xor","findThreadByParticipantIds","recipientId","Error","customers","city","hasAcceptedMarketing","isProspect","isReturning","totalAmountSpent","totalOrders","updatedAt","customer","address1","address2","balance","creditCard","hasDiscountedPrices","isVerified","vatRate","zipCode","emails","invoices","issueDate","paymentMethod","status","logs","ip","method","route","totalAmount","invoice","address","company","taxId","dueDate","items","unitAmount","number","subtotalAmount","taxAmount","board","lists","cardIds","cards","checklists","checkItems","comments","cardId","memberId","cover","due","isSubscribed","listId","memberIds","members","list","_list","filter","card","_card","position","sourceList","pull","destinationList","splice","_cardId","comment","checklist","checklistId","_checklist","checkItem","each","checkItemId","_checkItem","labels","totalCount","blue","orange","mails","folder","isImportant","isStarred","isUnread","labelIds","subject","from","to","systemLabel","customLabel","label","_label","mail","filterMails","mailId","_mail","notifications","orders","order","coupon","billingCycle","quantity","products","attributes","category","image","inventoryType","isAvailable","isShippable","variants","projects","author","budget","caption","isLiked","likesCount","location","rating","membersCount","technology","statistics","nextPayout","totalIncome","visitorsToday","watchingNow","project","activities","applicants","commonConnections","endDate","files","mimeType","size","url","bio","reviews","startDate","tags","earnings","datasets","backgroundColor","technologies","tasks","deadline","conversionRate","subscriptions","referrals","blueGrey","initials","cyan","indigo","red","profile","connectedStatus","currentCity","currentJob","originCity","previousJob","profileProgress","quote","connections","posts","likes","media","Chart","helpers","extend","elements","Rectangle","prototype","draw","left","right","top","bottom","signX","signY","borderSkipped","radius","ctx","this","_chart","vm","_view","borderWidth","cornerRadius","options","horizontal","base","x","y","height","barSize","Math","min","abs","halfStroke","borderLeft","borderRight","borderTop","borderBottom","beginPath","fillStyle","strokeStyle","borderColor","lineWidth","corners","startCorner","indexOf","cornerAt","index","corner","moveTo","i","nextCornerId","floor","xTl","xTr","yTl","yTr","xBl","xBr","yBl","yBr","lineTo","quadraticCurveTo","fill","stroke","Boolean","hostname","match","defaultSettings","direction","responsiveFontSizes","theme","THEMES","ONE_DARK","storeSettings","localStorage","setItem","stringify","SettingsContext","createContext","saveSettings","SettingsProvider","children","currentSettings","setCurrentSettings","restoredSettings","storedData","getItem","restoreSettings","document","dir","Provider","mergedSettings","merge","Consumer","useStyles","makeStyles","createStyles","boxSizing","margin","padding","html","GlobalStyles","useScrollReset","useLocation","scrollTo","pathname","ScrollReset","useSettings","root","palette","common","black","white","maxWidth","spacing","outline","zIndex","process","REACT_APP_GA_MEASUREMENT_ID","useContext","strongShadows","baseOptions","typography","h1","fontWeight","fontSize","letterSpacing","h2","h3","h4","h5","h6","overline","overrides","MuiLinearProgress","borderRadius","overflow","MuiListItemIcon","minWidth","MuiChip","themesOptions","LIGHT","MuiInputBase","input","opacity","active","background","default","dark","paper","primary","main","secondary","text","shadows","hover","selected","disabled","disabledBackground","focus","UNICORN","item","display","paddingTop","paddingBottom","itemLeaf","button","justifyContent","textTransform","buttonLeaf","fontWeightRegular","fontWeightMedium","icon","alignItems","marginRight","NavItem","className","depth","href","Icon","Info","info","openProp","open","rest","classes","setOpen","paddingLeft","ListItem","clsx","disableGutters","Button","onClick","prevOpen","Collapse","in","activeClassName","component","RouterLink","exact","defaultProps","fontStyle","lineHeight","textAlign","Draggable","isDraggable","useDraggable","listeners","setNodeRef","transform","undefined","cursor","Box","ref","Droppable","onDrop","useDroppable","GroupPopOver","openSetting","anchorEl","onClose","selectedGroupId","setSelectedGroupId","handleClosePopOver","selectRenameState","setSelectRenameData","dispatch","useDispatch","enqueueSnackbar","useSnackbar","handleDeleteGroup","delete","deleteGroupReq","isDefaultgroup","setOptionSidebar","Array","isArray","variant","Popover","anchorOrigin","vertical","transformOrigin","flexDirection","border","boxShadow","fullWidth","fontFeatureSettings","NewSideBar","history","useHistory","useAuth","optionId","useSelector","sidebarManagement","staticPaths","flatMap","group","features","feature","uri","getPaths","routes","paths","path","nestedPaths","setName","expendListId","setExpendListId","openId","popoverState","setPopoverState","loadingReq","setLoadingReq","setSelectRenameState","selectRenameData","newGroupName","setNewGroupName","loadingNameChange","setLoadingNameChange","handleCreateNewGroup","post","createNewGroupReq","handleDragEnd","over","featureGroupId","featureId","Number","changeFeatureReq","handleChangeGroupName","put","groupId","onDragEnd","log","subheader","ListSubheader","disableSticky","LoadingScreen","TextField","defaultValue","onChange","target","InputProps","endAdornment","InputAdornment","IconButton","Close","CheckCircle","prev","Typography","defaultGroup","currentTarget","handleOpenPopOver","MoreVert","timeout","unmountOnExit","IconComponent","MuiIcons","URL","modifiedUrl","startsWith","handleCheckUrl","xmlns","viewBox","fill-rule","clip-rule","d","fill-opacity","placeholder","SideBarSettings","anchorRef","useRef","handleOpenSideBarManagementMenu","openSidebarSetting","handleClickButton","buttonKey","getAttribute","handleCloseChangeGroupsAndSettings","Fragment","gap","Cancel","stroke-linecap","stroke-linejoin","data-key","sections","BookOpenIcon","ROLES","DISPATCHER","MANAGER","ADMINISTRATOR","FINANCE","FINANCESUPER","FleetManager","CLAIMTRACKERTEAM","BookOrderApprover","DispatchManager","BarChart2Icon","BarChartIcon","DirectionsCarIcon","DRIVER","AttachMoneyIcon","BANKING","EventNoteIcon","AssignmentIcon","PlaylistAddCheck","AccountBalanceWallet","AnchorIcon","UserIcon","LocalShipping","Group","CalendarIcon","DescriptionRounded","ReceiptTwoTone","AccountBalance","SupervisedUserCircleIcon","LinkIcon","VpnKeyIcon","GridIcon","BriefcaseIcon","ShareIcon","TrelloIcon","MailIcon","MessageCircleIcon","Chip","LockIcon","UserPlusIcon","AlertCircleIcon","DollarSignIcon","EditIcon","LayoutIcon","mobileDrawer","desktopDrawer","NavBar","onMobileClose","openMobile","userTypes","sidebarData","section","Set","flat","some","r","content","suppressScrollX","Hidden","lgUp","p","Divider","bgcolor","Link","Drawer","anchor","mdDown","popover","Account","logout","isOpen","handleClose","handleLogout","ButtonBase","Avatar","smDown","Menu","keepMounted","PaperProps","getContentAnchorEl","MenuItem","flexGrow","flexShrink","small","medium","large","offline","grey","away","busy","online","OnlineIndicator","listItemText","whiteSpace","Contacts","contactUsersCall","filteredNotifArr","setFilteredNotifArr","search","setSearch","getOnlineMembers","getContacts","filteredArray","onlineUsers","firstName","lastName","Tooltip","SvgIcon","mt","Object","keys","disablePadding","el","userID","ListItemAvatar","round","textSizeRatio","ListItemText","disableTypography","underline","noWrap","callUserForContact","callContactUser","PackageIcon","MessageIcon","TruckIcon","contrastText","drawer","badge","marginTop","Settings","values","setValues","field","select","SelectProps","native","capitalCase","toolbar","minHeight","TopBar","onMobileNavOpen","AppBar","Toolbar","ml","wrapper","flex","breakpoints","up","contentContainer","DashboardLayout","isMobileNavOpen","setMobileNavOpen","renderNavItems","acc","reduceChildRoutes","divider","link","marginBottom","Heading","Paragraph","marginLeft","List","Component","Blockquote","Code","paddingRight","fontFamily","CodeInline","components","ul","ol","hr","li","blockquote","code","inlineCode","InlineCode","DocsLayout","Container","logo","APP_VERSION","MainLayout","AuthGuard","isAuthenticated","GuestGuard","maxHeight","ForbiddenView","useTheme","mobileDevice","useMediaQuery","down","Page","align","RenderRoutes","hasRole","fallback","Guard","guard","Layout","layout","render","roleMatch","anyRoute","ANY","isEmailVerified","resolveRouteByRole","lazy","excat","savedConsole","VersionControl","instance","envVersion","localVersion","toast","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","transition","Bounce","progressStyle","setTimeout","removeItem","clear","reload","jss","create","plugins","jssPreset","rtl","createBrowserHistory","App","themeOptions","warn","createMuiTheme","createTheme","versionControl","getInstance","checkVersion","handleGlobalClick","ThemeProvider","StylesProvider","utils","MomentUtils","dense","maxSnack","GoogleTagManager","TagManager","initialize","gtmId","enableES5","ReactDOM","store","getElementById","sidebarManagementSettingSlice","reducers","newOption","actions","rootReducer","combineReducers","calendar","calendarReducer","chat","chatReducer","form","formReducer","kanban","kanbanReducer","mailReducer","notificationReducer","brokerTransactionStatus","brokerTransactionStatusesSlice","reducer","brokerFee","brokerFeeSlice","userSlice","permissions","permissionsSlice","drivers","driversSlice","claimsTeamUsers","claimsTeamUsersSlice","claimsSubmit","claimsTrackerSubmit","truckVin","truckVinSlice","claimsAllDate","claimsAllDataSlice","claimCompanies","claimTrackerCompnaieSlice","claimPriorities","claimTrackerPrioritiesSlice","claimStatus","claimStatusSlice","claimTypes","claimTrackerTypeSlice","allUsers","allUsersSlice","claimOrders","claimOrdersSlice","claimPrequests","claimClaimPrequestsSlice","contactUsersSlices","bookOrders","bookOrdersReducer","bookOrderFilters","bookOrdersFiltersSlice","driverBalance","driverBalanceReducer","claimTrackerPrecent","claimTrackerPrecentSlice","claimTrackerDynamic","claimDynamicChartSlice","estimatedChanges","estimatedChangesSlice","destinationData","destinationReducer","chaseTransactions","chaseTransactionsSlice","invoiceCategory","invoiceCategorySlice","shipper","shipperSlice","allRolePermission","rolePermissionSlice","sidebarReducer","sidebarManagementSettingReducer","configureStore","devTools","ENABLE_REDUX_DEV_TOOLS","useReduxSelector","useReduxDispatch","axiosInstance","baseURL","interceptors","use","Promise","FLEETOWNER","LOADBOARDS","loadBoardName","loadBoardId","PAYMETHODS","PAYERS","CARRIERS","STATES","COUNTRIES","adornment","digits","phoneRegex","RegExp","emailRegex","NProgress","done","determinate","time","res","setOnlineUsers","baseUrl","dsipatch","connection","signalR","withUrl","withAutomaticReconnect","build","on","slice","activeThreadId","byId","allIds","recipients","getThreads","getThread","markThreadAsSeen","resetActiveThread","getParticipants","addRecipient","recipient","_recipient","removeRecipient","getNotifications","initialAuthState","isInitialised","isValidToken","decoded","jwtDecode","currentTime","Date","now","exp","setSession","defaults","AuthContext","login","resolve","initialise","register","AuthProvider","useReducer","firstname","lastname","googleRecaptchaToken","AccountId","resp","track","gtag","forwardRef","sendPageViewEvent","useCallback","page_path","Helmet","PermissionsContext","PermissionsProvider","setPermissions","permissionsObject","featureTitleLowCase","isLoaded","getBoard","createList","updateList","clearList","omit","deleteList","createCard","updateCard","moveCard","sourceListId","deleteCard","addComment","addChecklist","updateChecklist","deleteChecklist","addCheckItem","updateCheckItem","deleteCheckItem","isSidebarOpen","isComposeOpen","getLabels","getMails","getMail","openSidebar","closeSidebar","openCompose","closeCompose","getClaimsStatus","arg","isSuccess","errorMessage","getAllusers","getClaimsPriorities","getClaimsType","isModalOpen","selectedEventId","selectedRange","getEvents","createEvent","selectEvent","updateEvent","deleteEvent","selectRange","openModal","closeModal","getAllDriver","ShowDeleted","getClaimsCompanies","driverBalanceSlice","searchResults","searchValue","isActiveFilter","driverSecurity","endingBalance","getDriverBalanceStart","getDriverBalanceSuccess","getDriverBalanceFailure","searchDriverBalance","searchTerm","fullName","setDriverBalanceSearchValue","setDriverBalanceActiveFilter","setDriverBalanceSecurity","setDriverEndingBalance","getDriverBalanceApi","DispatcherId","DriverId","filtered","hasManagerRevieW","page","payOnDelivery","payOnPickup","showDeleted","showNotApproved","bookOrderFiltersSlice","setDispatcher","setDriver","setPeriod","setFrom","setHasManagerReview","setPage","setPayOnDelivery","setPayOnPickup","setPaymentMethod","setShowDeleted","setShowNotApproved","setSize","setTo","clearFilters","editSelectData","destinationSlice","setEditSelectData","getAllRolePermission","getBrokerTransactStatus","getBrokerTableData","Size","Search","Status","getAllPermissions","claimId","claimNumber","buttonOpen","getClaimInformation","getAllTruckVin","HideAssigned","getClaimsTeamUsers","getAllClaimsTracker","Filtered","selectedClaimLastWeek","From","selectedDateFrom","To","selectedDateTo","ClaimStatus","selectedClaimStatus","selectedDriver","ClaimType","selectedClaimTypes","ClaimPriority","selectedClaimPriorities","ClaimNumber","selectedClaimNumber","rowsPerPage","getAllUser","getClaimOrders","getClaimPrequests","getBookOrders","bookOrdersSlice","getClaimTrackerPrecentChartData","dateTo","dateForm","getClaimDynamicChart","getEstimatedChanges","ErrorMessage","getChaseTransactions","getInvoiceCategory","getShippers","SlashScreen","icons"],"mappings":"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","file":"static/js/main.224a845a.chunk.js","sourcesContent":["import React from 'react';\nimport { useEffect } from 'react';\nimport { useState } from 'react';\n\nconst Logo = (props) => {\n\n const [smallScreen, setSmallScreen] = useState(false)\n\n useEffect(() => {\n const mediqQuery = window.matchMedia('(max-width: 500px)')\n setSmallScreen(mediqQuery.matches)\n\n const handleMediaQueryChange = (e) => {\n setSmallScreen(e.matches)\n }\n\n mediqQuery.addEventListener('change', handleMediaQueryChange)\n\n return () => {\n mediqQuery.removeEventListener('change', handleMediaQueryChange)\n }\n }, [])\n\n \n return (\n \n );\n}\n\nexport default Logo;\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\nimport axios from 'src/utils/axios'\n\nexport const getSidebarData = createAsyncThunk(\n 'sidebar/get-data',\n async (params, { rejectWithValue }) => {\n try {\n const response = await axios.get('/api/Auth/features/get')\n return response.data?.value\n } catch (error) {\n return rejectWithValue(error)\n }\n }\n)\n\nconst sidebarSlice = createSlice({\n name: 'sidebar-data',\n initialState: {\n loading: false,\n data: null,\n error: null,\n success: null\n },\n extraReducers: (builder) => {\n builder\n .addCase(getSidebarData.pending, (state) => {\n state.loading = true\n state.success = null\n state.error = null\n })\n .addCase(getSidebarData.fulfilled, (state, action) => {\n state.loading = false\n state.data = action.payload\n state.success = 'Data loaded success'\n })\n .addCase(getSidebarData.rejected, (state, action) => {\n state.loading = false\n state.error = action.payload || 'Error loading Data'\n })\n }\n})\n\nexport default sidebarSlice.reducer","const objFromArray = (arr, key = 'id') => arr.reduce((accumulator, current) => {\n accumulator[current[key]] = current;\n return accumulator;\n}, {});\n\nexport default objFromArray;\n","import AxiosMockAdapter from 'axios-mock-adapter';\nimport axios from './axios';\n\nconst axiosMockAdapter = new AxiosMockAdapter(axios, { delayResponse: 0 });\n\naxiosMockAdapter.restore(); // Comment this line to switch on mock data located in: src/__mocks__/\n\nexport default axiosMockAdapter;\n","import jwt from 'jsonwebtoken';\nimport { v4 as uuidv4 } from 'uuid';\nimport mock from 'src/utils/mock';\nimport wait from 'src/utils/wait';\n\nconst JWT_SECRET = 'devias-top-secret-key';\nconst JWT_EXPIRES_IN = '2 days';\n\nconst users = [\n {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n canHire: false,\n country: 'USA',\n email: 'demo@devias.io',\n isPublic: true,\n name: 'Anri Nishnianidze',\n password: 'Password123',\n phone: '+40 777666555',\n roles: ['Dispatcher'],\n userType: 'DispatcherUserType',\n state: 'New York',\n tier: 'Premium',\n },\n];\n\nmock.onPost('/api/token').reply(async config => {\n try {\n await wait(1000);\n\n const { email, password } = JSON.parse(config.data);\n const user = users.find(_user => _user.email === email);\n\n if (!user) {\n return [400, { message: 'Please check your email and password' }];\n }\n\n if (user.password !== password) {\n return [400, { message: 'Invalid password' }];\n }\n\n const accessToken = jwt.sign({ userId: user.id }, JWT_SECRET, {\n expiresIn: JWT_EXPIRES_IN\n });\n\n return [\n 200,\n {\n accessToken,\n user: {\n id: user.id,\n avatar: user.avatar,\n email: user.email,\n name: user.name,\n tier: user.tier,\n roles: user.roles,\n userType: user.userType\n }\n }\n ];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/token/register').reply(async config => {\n try {\n await wait(1000);\n\n const { email, name, password } = JSON.parse(config.data);\n let user = users.find(_user => _user.email === email);\n\n if (user) {\n return [400, { message: 'User already exists' }];\n }\n\n user = {\n id: uuidv4(),\n avatar: null,\n canHire: false,\n country: null,\n email,\n isPublic: true,\n name,\n password,\n phone: null,\n role: 'admin',\n state: null,\n tier: 'Standard'\n };\n\n const accessToken = jwt.sign({ userId: user.id }, JWT_SECRET, {\n expiresIn: JWT_EXPIRES_IN\n });\n\n return [\n 200,\n {\n accessToken,\n user: {\n id: user.id,\n avatar: user.avatar,\n email: user.email,\n name: user.name,\n tier: user.tier\n }\n }\n ];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onGet('/api/token/me').reply(config => {\n try {\n const { Authorization } = config.headers;\n\n if (!Authorization) {\n return [401, { message: 'Authorization token missing' }];\n }\n\n const accessToken = Authorization.split(' ')[1];\n const { userId } = jwt.verify(accessToken, JWT_SECRET);\n const user = users.find(_user => _user.id === userId);\n\n if (!user) {\n return [401, { message: 'Invalid authorization token' }];\n }\n\n return [\n 200,\n {\n user: {\n id: user.id,\n avatar: user.avatar,\n email: user.email,\n name: user.name,\n tier: user.tier\n }\n }\n ];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onGet('/api/account/settings').reply(200, {\n settings: {}\n});\n\nmock.onGet('/api/account/subscription').reply(200, {\n subscription: {\n name: 'Premium',\n price: 29,\n currency: '$',\n proposalsLeft: 12,\n templatesLeft: 5,\n invitesLeft: 24,\n adsLeft: 10,\n hasAnalytics: true,\n hasEmailAlerts: true\n }\n});\n","import moment from 'moment';\nimport { v4 as uuidv4 } from 'uuid';\nimport _ from 'lodash';\nimport { colors } from '@material-ui/core';\nimport mock from 'src/utils/mock';\n\nlet events = [\n {\n id: '5e8882e440f6322fa399eeb8',\n allDay: false,\n color: colors.green['700'],\n description: 'Inform about new contract',\n end: moment()\n .subtract(6, 'days')\n .hours(19)\n .minutes(0)\n .toDate(),\n start: moment()\n .subtract(6, 'days')\n .hours(17)\n .minutes(30)\n .toDate(),\n title: 'Call Samantha'\n },\n {\n id: '5e8882eb5f8ec686220ff131',\n allDay: false,\n color: null,\n description: 'Discuss about new partnership',\n end: moment()\n .add(2, 'days')\n .hours(15)\n .minutes(30)\n .toDate(),\n start: moment()\n .add(2, 'days')\n .hours(12)\n .minutes(0)\n .toDate(),\n title: 'Meet with IBM'\n },\n {\n id: '5e8882f1f0c9216396e05a9b',\n allDay: false,\n color: null,\n description: 'Prepare docs',\n end: moment()\n .add(5, 'days')\n .hours(12)\n .minutes(0)\n .toDate(),\n start: moment()\n .add(5, 'days')\n .hours(8)\n .minutes(0)\n .toDate(),\n title: 'SCRUM Planning'\n },\n {\n id: '5e8882f6daf81eccfa40dee2',\n allDay: true,\n color: null,\n description: 'Meet with team to discuss',\n end: moment()\n .subtract(11, 'days')\n .startOf('day')\n .toDate(),\n start: moment()\n .subtract(12, 'days')\n .endOf('day')\n .toDate(),\n title: 'Begin SEM'\n },\n {\n id: '5e8882fcd525e076b3c1542c',\n allDay: false,\n color: colors.green['700'],\n description: 'Sorry, John!',\n end: moment()\n .add(3, 'days')\n .hours(7)\n .minutes(31)\n .toDate(),\n start: moment()\n .add(3, 'days')\n .hours(7)\n .minutes(30)\n .toDate(),\n title: 'Fire John'\n },\n {\n id: '5e888302e62149e4b49aa609',\n allDay: false,\n color: null,\n description: 'Discuss about the new project',\n end: moment()\n .subtract(6, 'days')\n .hours(9)\n .minutes(30)\n .toDate(),\n start: moment()\n .subtract(6, 'days')\n .hours(9)\n .minutes(0)\n .toDate(),\n title: 'Call Alex'\n },\n {\n id: '5e88830672d089c53c46ece3',\n allDay: false,\n color: colors.green['700'],\n description: 'Get a new quote for the payment processor',\n end: moment()\n .hours(17)\n .minutes(30)\n .toDate(),\n start: moment()\n .hours(15)\n .minutes(30)\n .toDate(),\n title: 'Visit Samantha'\n }\n];\n\nmock.onGet('/api/calendar/events').reply(200, { events });\n\nmock.onPost('/api/calendar/events/new').reply((request) => {\n try {\n const { allDay, description, end, start, title } = JSON.parse(request.data);\n const event = {\n id: uuidv4(),\n allDay,\n description,\n end,\n start,\n title\n };\n\n events = [...events, event];\n\n return [200, { event }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/calendar/events/update').reply((request) => {\n try {\n const { eventId, update } = JSON.parse(request.data);\n let event = null;\n\n events = _.map(events, (_event) => {\n if (_event.id === eventId) {\n _.assign(_event, { ...update });\n event = _event;\n }\n\n return _event;\n });\n\n return [200, { event }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/calendar/events/remove').reply((request) => {\n try {\n const { eventId } = JSON.parse(request.data);\n\n events = _.reject(events, { id: eventId });\n\n return [200, { eventId }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n","import { v4 as uuidv4 } from 'uuid';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport mock from 'src/utils/mock';\n\nlet contacts = [\n {\n id: '5e8891ab188cd2855e6029b7',\n avatar: '/static/images/avatars/avatar_1.png',\n isActive: true,\n lastActivity: moment()\n .toDate()\n .getTime(),\n name: 'Cooper Murray',\n username: 'cooper.murray'\n },\n {\n id: '5e887a62195cc5aef7e8ca5d',\n avatar: '/static/images/avatars/avatar_2.png',\n isActive: false,\n lastActivity: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n name: 'Ekaterina Tankova',\n username: 'ekaterina.tankova'\n },\n {\n id: '5e887ac47eed253091be10cb',\n avatar: '/static/images/avatars/avatar_3.png',\n isActive: false,\n lastActivity: moment()\n .subtract(15, 'minutes')\n .toDate()\n .getTime(),\n name: 'Cao Yu',\n username: 'cao.yu'\n },\n {\n id: '5e887b209c28ac3dd97f6db5',\n avatar: '/static/images/avatars/avatar_4.png',\n isActive: true,\n lastActivity: moment()\n .toDate()\n .getTime(),\n name: 'Alex Richardson',\n username: 'alex.richardson'\n },\n {\n id: '5e887b7602bdbc4dbb234b27',\n avatar: '/static/images/avatars/avatar_5.png',\n isActive: true,\n lastActivity: moment()\n .toDate()\n .getTime(),\n name: 'Anje Keizer',\n username: 'anje.keizer'\n },\n {\n id: '5e86805e2bafd54f66cc95c3',\n avatar: '/static/images/avatars/avatar_7.png',\n isActive: false,\n lastActivity: moment()\n .subtract(2, 'days')\n .toDate()\n .getTime(),\n name: 'Adam Denisov',\n username: 'adam.denisov'\n },\n {\n id: '5e887a1fbefd7938eea9c981',\n avatar: '/static/images/avatars/avatar_8.png',\n isActive: false,\n lastActivity: moment()\n .subtract(6, 'hours')\n .toDate()\n .getTime(),\n name: 'Miller Edwards',\n username: 'miller.edwards'\n },\n {\n id: '5e887d0b3d090c1b8f162003',\n avatar: '/static/images/avatars/avatar_9.png',\n isActive: true,\n lastActivity: moment()\n .toDate()\n .getTime(),\n name: 'Emilee Simchenko',\n username: 'emilee.simchenko',\n },\n {\n id: '5e88792be2d4cfb4bf0971d9',\n avatar: '/static/images/avatars/avatar_10.png',\n isActive: true,\n lastActivity: moment()\n .toDate()\n .getTime(),\n name: 'Elliott Stone',\n username: 'elliott.stone'\n },\n {\n id: '5e8877da9a65442b11551975',\n avatar: '/static/images/avatars/avatar_11.png',\n isActive: true,\n lastActivity: moment()\n .toDate()\n .getTime(),\n name: 'Shen Zhi',\n username: 'shen.zhi'\n },\n {\n id: '5e8680e60cba5019c5ca6fda',\n avatar: '/static/images/avatars/avatar_12.png',\n isActive: true,\n lastActivity: moment()\n .toDate()\n .getTime(),\n name: 'Merrile Burgett',\n username: 'merrile.burgett'\n }\n];\n\nlet threads = [\n {\n id: '5e867eb9de721aecaccf4f7b',\n messages: [\n {\n id: '5e867f0a5bc0ff2bfa07bfa6',\n attachments: [],\n body: 'Hey, nice projects! I really liked the one in react. What\\'s your quote on kinda similar project?',\n contentType: 'text',\n createdAt: moment()\n .subtract(10, 'hours')\n .toDate()\n .getTime(),\n senderId: '5e86805e2bafd54f66cc95c3'\n },\n {\n id: '5e867f167d5f78109ae9f2a4',\n attachments: [],\n body: 'I would need to know more details, but my hourly rate stats at $35/hour. Thanks!',\n contentType: 'text',\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n senderId: '5e86809283e28b96d2d38537'\n },\n {\n id: '5e867f1c9ca72084693528f4',\n attachments: [],\n body: 'Well it\\'s a really easy one, I\\'m sure we can make it half of the price.',\n contentType: 'text',\n createdAt: moment()\n .subtract(5, 'minutes')\n .toDate()\n .getTime(),\n senderId: '5e86805e2bafd54f66cc95c3'\n },\n {\n id: '5e867f22fd2e27a09849b4db',\n attachments: [],\n body: 'Then why don\\'t you make it if it\\'s that easy? Sorry I\\'m not interetes, have fantastic day Adam!',\n contentType: 'text',\n createdAt: moment()\n .subtract(3, 'minutes')\n .toDate()\n .getTime(),\n senderId: '5e86809283e28b96d2d38537'\n },\n {\n id: '5e867f28a34d45ac6eb5c41f',\n attachments: [],\n body: 'Last offer, $25 per hour',\n contentType: 'text',\n createdAt: moment()\n .subtract(1, 'minute')\n .toDate()\n .getTime(),\n senderId: '5e86805e2bafd54f66cc95c3'\n },\n {\n id: '5e867f2dba984a3f78b33526',\n attachments: [],\n body: '/static/images/projects/project_4.png',\n contentType: 'image',\n createdAt: moment()\n .subtract(1, 'minute')\n .toDate()\n .getTime(),\n senderId: '5e86805e2bafd54f66cc95c3'\n }\n ],\n participants: [\n {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith',\n username: 'katarina.smith'\n },\n {\n id: '5e86805e2bafd54f66cc95c3',\n avatar: '/static/images/avatars/avatar_7.png',\n name: 'Adam Denisov',\n username: 'adam.denisov'\n }\n ],\n type: 'ONE_TO_ONE',\n unreadCount: 2\n },\n {\n id: '5e867fa7082c3c5921403a26',\n messages: [\n {\n id: '5e867fc180837d901bd9bca1',\n attachments: [],\n body: 'Hey, would you like to collaborate?',\n contentType: 'text',\n createdAt: moment()\n .subtract(6, 'minutes')\n .toDate()\n .getTime(),\n senderId: '5e8680e60cba5019c5ca6fda'\n },\n {\n id: '5e8d6fb695df7971237fc173',\n attachments: [],\n body: 'Hi, Merrile!',\n contentType: 'text',\n createdAt: moment()\n .subtract(5, 'minutes')\n .toDate()\n .getTime(),\n senderId: '5e86809283e28b96d2d38537'\n },\n {\n id: '58825a290eb4d4271a54f188',\n attachments: [],\n body: 'Hello everyone 😀',\n contentType: 'text',\n createdAt: moment()\n .subtract(2, 'minutes')\n .toDate()\n .getTime(),\n senderId: '5e8891ab188cd2855e6029b7'\n }\n ],\n participants: [\n {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith',\n username: 'katarina.smith'\n },\n {\n id: '5e8680e60cba5019c5ca6fda',\n avatar: '/static/images/avatars/avatar_12.png',\n name: 'Merrile Burgett',\n username: 'merrile.burgett'\n },\n {\n id: '5e8891ab188cd2855e6029b7',\n avatar: '/static/images/avatars/avatar_1.png',\n name: 'Cooper Murray',\n username: 'cooper.murray'\n }\n ],\n type: 'GROUP',\n unreadCount: 0\n }\n];\n\nconst findContactByUsername = (username) => {\n const contact = contacts.find((_contact) => _contact.username === username);\n\n return contact || null;\n};\n\nconst findThreadById = (threadId) => {\n const thread = threads.find((_threadId) => _threadId.id === threadId);\n\n return thread || null;\n};\n\n// This means that we are looking for ONE_TO_ONE thread\nconst findThreadByOtherParticipantId = (participantId) => {\n const thread = threads.find((_thread) => {\n if (_thread.type !== 'ONE_TO_ONE') {\n return false;\n }\n\n const participant = _thread.participants.find((_participant) => _participant.id === participantId);\n\n return !!participant;\n });\n\n return thread || null;\n};\n\nconst findThreadByParticipantIds = (participantIds) => {\n const thread = threads.find((_thread) => {\n if (_thread.participants.length < participantIds.length) {\n return false;\n }\n\n let _participantIds = [];\n\n _thread.participants.forEach((_participant) => {\n _participantIds.push(_participant.id);\n });\n\n return _.isEmpty(_.xor(participantIds, _participantIds));\n });\n\n return thread || null;\n};\n\nmock.onGet('/api/chat/contacts').reply(200, { contacts });\n\nmock.onGet('/api/chat/search').reply((config) => {\n try {\n const { query } = config.params;\n const cleanQuery = query.toLowerCase().trim();\n const results = [];\n\n contacts.forEach((contact) => {\n if (!query) {\n return results.push(contact);\n }\n\n if (contact.name.toLowerCase().includes(cleanQuery)) {\n return results.push(contact);\n }\n });\n\n return [200, { results }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onGet('/api/chat/participants').reply((config) => {\n try {\n const { threadKey } = config.params;\n const participants = [];\n\n // Thread key might be an ID if thread type is GROUP\n // otherwise it represents an username\n const thread = findThreadById(threadKey);\n\n if (thread) {\n participants.push(...thread.participants);\n } else {\n const contact = findContactByUsername(threadKey);\n\n if (contact) {\n participants.push({\n id: contact.id,\n avatar: contact.avatar,\n name: contact.name,\n username: contact.username\n });\n }\n }\n\n return [200, { participants }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onGet('/api/chat/threads').reply(200, { threads });\n\nmock.onGet('/api/chat/thread').reply((config) => {\n try {\n const { threadKey } = config.params;\n \n // Thread key might be an ID if thread type is GROUP\n // otherwise it represents an username\n const thread = findThreadById(threadKey);\n\n if (thread) {\n return [200, { thread }];\n } else {\n // At this point, thread key should represent an existing contact\n // If no contact found, the user is trying a shady route\n // If contact exists, user might want to start a new conversation\n const contact = findContactByUsername(threadKey);\n\n if (!contact) {\n return [404, { message: 'Unable to find the contact' }];\n }\n\n // This could return a null if no thread found\n const thread = findThreadByOtherParticipantId(contact.id);\n\n return [200, { thread }];\n }\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onGet('/api/chat/thread/mark-as-seen').reply((config) => {\n try {\n const { threadId } = config.params;\n const thread = threads.find((_thread) => _thread.id === threadId);\n\n if (thread) {\n thread.unreadCount = 0;\n }\n\n return [200, true];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\n// Adding a new message to a thread can by done in 3 ways\n// 1) By specifying a thread id, this means that the thread already exists\n// 2) By specifying the other user id (if ONE_TO_ONE thread), thread might exist\n// 3) By specifying a list of receipients, thread might exist\nmock.onPost('/api/chat/messages/new').reply((request) => {\n try {\n const { threadId, recipientIds, body } = JSON.parse(request.data);\n\n // On server get current user from request\n const user = {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith',\n username: 'katarina.smith'\n };\n\n let thread = null;\n\n if (threadId) {\n thread = findThreadById(threadId);\n\n if (!thread) {\n return [400, { message: 'Invalid thread id' }];\n }\n }\n\n if (recipientIds) {\n const participantIds = [...recipientIds, user.id];\n\n thread = findThreadByParticipantIds(participantIds);\n }\n\n const message = {\n id: uuidv4(),\n attachments: [],\n body,\n contentType: 'text',\n createdAt: moment()\n .toDate()\n .getTime(),\n senderId: user.id\n };\n\n if (thread) {\n thread.messages = [...thread.messages, message];\n } else {\n const participants = [user];\n\n recipientIds.forEach((recipientId) => {\n const contact = contacts.find((_contact) => _contact.id === recipientId);\n\n if (!contact) {\n throw new Error('Contact not found');\n }\n\n participants.push({\n id: contact.id,\n avatar: contact.avatar,\n name: contact.name,\n username: contact.username\n });\n });\n\n thread = {\n id: uuidv4(),\n messages: [message],\n participants,\n type: participants.length === 2 ? 'ONE_TO_ONE' : 'GROUP',\n unreadCount: 0\n };\n }\n\n const responseData = {\n threadId: thread.id,\n message\n };\n\n return [200, responseData];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n","import moment from 'moment';\nimport mock from 'src/utils/mock';\n\nmock.onGet('/api/customers').reply(() => {\n const customers = [\n {\n id: '5e887ac47eed253091be10cb',\n avatar: '/static/images/avatars/avatar_3.png',\n city: 'Cleveland',\n country: 'USA',\n currency: '$',\n email: 'cao.yu@devias.io',\n hasAcceptedMarketing: true,\n isProspect: false,\n isReturning: true,\n name: 'Cao Yu',\n state: 'Ohio',\n totalAmountSpent: 300.00,\n totalOrders: 3,\n updatedAt: moment()\n .subtract(1, 'days')\n .subtract(7, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e887b209c28ac3dd97f6db5',\n avatar: '/static/images/avatars/avatar_4.png',\n city: 'Atlanta',\n country: 'USA',\n currency: '$',\n email: 'alex.richardson@devias.io',\n hasAcceptedMarketing: true,\n isProspect: true,\n isReturning: false,\n name: 'Alex Richardson',\n state: 'Georgia',\n totalAmountSpent: 0.00,\n totalOrders: 0,\n updatedAt: moment()\n .subtract(2, 'days')\n .subtract(1, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e887b7602bdbc4dbb234b27',\n avatar: '/static/images/avatars/avatar_5.png',\n city: 'North Canton',\n country: 'USA',\n currency: '$',\n email: 'anje.keizer@devias.io',\n hasAcceptedMarketing: false,\n isProspect: false,\n isReturning: false,\n name: 'Anje Keizer',\n state: 'Ohio',\n totalAmountSpent: 5600.00,\n totalOrders: 6,\n updatedAt: moment()\n .subtract(2, 'days')\n .subtract(4, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n city: 'Madrid',\n country: 'Spain',\n currency: '$',\n email: 'katarina.smith@devias.io',\n hasAcceptedMarketing: true,\n isProspect: false,\n isReturning: true,\n name: 'Katarina Smith',\n state: 'Madrid',\n totalAmountSpent: 500.00,\n totalOrders: 1,\n updatedAt: moment()\n .subtract(2, 'days')\n .subtract(11, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e86805e2bafd54f66cc95c3',\n avatar: '/static/images/avatars/avatar_7.png',\n city: 'San Diego',\n country: 'USA',\n currency: '$',\n email: 'adam.denisov@devias.io',\n hasAcceptedMarketing: true,\n isProspect: true,\n isReturning: false,\n name: 'Adam Denisov',\n totalAmountSpent: 0.00,\n totalOrders: 0,\n state: 'California',\n updatedAt: moment()\n .subtract(3, 'days')\n .subtract(7, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e887a1fbefd7938eea9c981',\n avatar: '/static/images/avatars/avatar_8.png',\n city: 'Berkeley',\n country: 'USA',\n currency: '$',\n email: 'miller.edwards@devias.io',\n hasAcceptedMarketing: false,\n isProspect: true,\n isReturning: false,\n name: 'Miller Edwards',\n state: 'California',\n totalAmountSpent: 0.00,\n totalOrders: 0,\n updatedAt: moment()\n .subtract(4, 'days')\n .subtract(5, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e887d0b3d090c1b8f162003',\n avatar: '/static/images/avatars/avatar_9.png',\n currency: '$',\n email: 'emilee.simchenko@devias.io',\n hasAcceptedMarketing: true,\n isProspect: false,\n isReturning: false,\n city: 'Carson City',\n country: 'USA',\n name: 'Emilee Simchenko',\n state: 'Nevada',\n totalAmountSpent: 100.00,\n totalOrders: 4,\n updatedAt: moment()\n .subtract(4, 'days')\n .subtract(15, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e88792be2d4cfb4bf0971d9',\n avatar: '/static/images/avatars/avatar_10.png',\n city: 'Los Angeles',\n country: 'USA',\n currency: '$',\n email: 'elliott.stone@devias.io',\n hasAcceptedMarketing: true,\n isProspect: false,\n isReturning: true,\n name: 'Elliott Stone',\n state: 'California',\n totalAmountSpent: 1000.00,\n totalOrders: 2,\n updatedAt: moment()\n .subtract(5, 'days')\n .subtract(2, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e8877da9a65442b11551975',\n avatar: '/static/images/avatars/avatar_11.png',\n city: 'Murray',\n country: 'USA',\n email: 'shen.zhi@devias.io',\n hasAcceptedMarketing: true,\n isProspect: true,\n isReturning: false,\n name: 'Shen Zhi',\n state: 'Utah',\n totalAmountSpent: 0.00,\n totalOrders: 0,\n updatedAt: moment()\n .subtract(6, 'days')\n .subtract(8, 'hours')\n .toDate()\n .getTime()\n },\n {\n id: '5e8680e60cba5019c5ca6fda',\n avatar: '/static/images/avatars/avatar_12.png',\n city: 'Salt Lake City',\n country: 'USA',\n currency: '$',\n email: 'merrile.burgett@devias.io',\n hasAcceptedMarketing: false,\n isProspect: false,\n isReturning: true,\n name: 'Merrile Burgett',\n state: 'Utah',\n totalAmountSpent: 200.00,\n totalOrders: 7,\n updatedAt: moment()\n .subtract(9, 'days')\n .subtract(1, 'hours')\n .toDate()\n .getTime()\n }\n ];\n\n return [200, { customers }];\n});\n\nmock.onGet('/api/customers/1').reply(() => {\n const customer = {\n id: '5e86805e2bafd54f66cc95c3',\n address1: 'Street John Wick, no. 7',\n address2: 'House #25',\n balance: 0,\n city: 'San Diego',\n country: 'USA',\n creditCard: '**** **** **** **** 4142',\n currency: '$',\n email: 'adam.denisov@devias.io',\n hasDiscountedPrices: false,\n isVerified: true,\n name: 'Adam Denisov',\n phone: '+55 748 327 439',\n state: 'New York',\n vatRate: 19,\n zipCode: '240355'\n };\n\n return [200, { customer }];\n});\n\nmock.onGet('/api/customers/1/emails').reply(() => {\n const emails = [\n {\n id: '5ece2ce3613486d95ffaea58',\n createdAt: moment()\n .subtract(3, 'days')\n .subtract(5, 'hours')\n .subtract(34, 'minutes')\n .toDate()\n .getTime(),\n description: 'Order confirmation'\n },\n {\n id: '5ece2ce8cebf7ad1d100c0cd',\n createdAt: moment()\n .subtract(4, 'days')\n .subtract(11, 'hours')\n .subtract(49, 'minutes')\n .toDate()\n .getTime(),\n description: 'Order confirmation'\n }\n ];\n\n return [200, { emails }];\n});\n\nmock.onGet('/api/customers/1/invoices').reply(() => {\n const invoices = [\n {\n id: '5ece2cef3e562cbd61996259',\n currency: '$',\n description: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\n issueDate: moment()\n .toDate()\n .getTime(),\n paymentMethod: 'Credit Card',\n status: 'paid',\n value: 5.25\n },\n {\n id: '5ece2cf461b9484866f2968c',\n currency: '$',\n description: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\n issueDate: moment()\n .toDate()\n .getTime(),\n paymentMethod: 'Credit Card',\n status: 'paid',\n value: 5.25\n }\n ];\n\n return [200, { invoices }];\n});\n\nmock.onGet('/api/customers/1/logs').reply(() => {\n const logs = [\n {\n id: '5ece2cfeb6e2ac847bba11ce',\n createdAt: moment()\n .subtract(2, 'days')\n .subtract(2, 'minutes')\n .subtract(56, 'seconds')\n .toDate()\n .getTime(),\n description: 'Purchase',\n ip: '84.234.243.42',\n method: 'POST',\n route: '/api/purchase',\n status: 200\n },\n {\n id: '5ece2d02510484b2952e1e05',\n createdAt: moment()\n .subtract(2, 'days')\n .subtract(2, 'minutes')\n .subtract(56, 'seconds')\n .toDate()\n .getTime(),\n description: 'Purchase',\n ip: '84.234.243.42',\n method: 'POST',\n route: '/api/purchase',\n status: 522\n },\n {\n id: '5ece2d08e2748e4e9788901a',\n createdAt: moment()\n .subtract(2, 'days')\n .subtract(8, 'minutes')\n .subtract(23, 'seconds')\n .toDate()\n .getTime(),\n description: 'Cart remove',\n ip: '84.234.243.42',\n method: 'DELETE',\n route: '/api/products/d65654e/remove',\n status: 200\n },\n {\n id: '5ece2d0c47214e342c2d7f28',\n createdAt: moment()\n .subtract(2, 'days')\n .subtract(20, 'minutes')\n .subtract(54, 'seconds')\n .toDate()\n .getTime(),\n description: 'Cart add',\n ip: '84.234.243.42',\n method: 'GET',\n route: '/api/products/d65654e/add',\n status: 200\n },\n {\n id: '5ece2d11e4060a97b2b57623',\n createdAt: moment()\n .subtract(2, 'days')\n .subtract(34, 'minutes')\n .subtract(16, 'seconds')\n .toDate()\n .getTime(),\n description: 'Cart add',\n ip: '84.234.243.42',\n method: 'GET',\n route: '/api/products/c85727f/add',\n status: 200\n },\n {\n id: '5ece2d16cf6d53d8e33656af',\n createdAt: moment()\n .subtract(2, 'days')\n .subtract(54, 'minutes')\n .subtract(30, 'seconds')\n .toDate()\n .getTime(),\n description: 'View product',\n ip: '84.234.243.42',\n method: 'GET',\n route: '/api/products/c85727f',\n status: 200\n },\n {\n id: '5ece2d1b2ec5071be9286a96',\n createdAt: moment()\n .subtract(2, 'days')\n .subtract(56, 'minutes')\n .subtract(40, 'seconds')\n .toDate()\n .getTime(),\n description: 'Get products',\n ip: '84.234.243.42',\n method: 'GET',\n route: '/api/products',\n status: 200\n },\n {\n id: '5ece2d22e68d5498917e47bc',\n createdAt: moment()\n .subtract(2, 'days')\n .subtract(57, 'minutes')\n .subtract(5, 'seconds')\n .toDate()\n .getTime(),\n description: 'Login',\n ip: '84.234.243.42',\n method: 'POST',\n route: '/api/login',\n status: 200\n }\n ];\n\n return [200, { logs }];\n});\n","import moment from 'moment';\nimport mock from 'src/utils/mock';\n\nmock.onGet('/api/invoices').reply(() => {\n const invoices = [\n {\n id: '5ecb868d0f437390ef3ac62c',\n currency: '$',\n customer: {\n email: 'contact@anahenisky.io',\n name: 'Ana Henisky'\n },\n issueDate: moment()\n .subtract(1, 'hours')\n .toDate()\n .getTime(),\n status: 'paid',\n totalAmount: 55.50\n },\n {\n id: '5ecb868ada8deedee0638502',\n currency: '$',\n customer: {\n email: 'sales@matt-jason.com',\n name: 'Matt Jason'\n },\n issueDate: moment()\n .subtract(2, 'days')\n .subtract(5, 'hours')\n .toDate()\n .getTime(),\n status: 'pending',\n totalAmount: 253.76\n },\n {\n id: '5ecb868700aba84d0f1c0e48',\n currency: '$',\n customer: {\n email: 'support@terrythomas.io',\n name: 'Terry Thomas'\n },\n issueDate: moment()\n .subtract(6, 'days')\n .subtract(4, 'hours')\n .toDate()\n .getTime(),\n status: 'canceled',\n totalAmount: 781.50\n },\n {\n id: '5ecb8682038e1ddf4e868764',\n currency: '$',\n customer: {\n email: 'contact@triv-shopper.co.uk',\n name: 'Triv Shopper'\n },\n issueDate: moment()\n .subtract(15, 'days')\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n status: 'paid',\n totalAmount: 96.64\n }\n ];\n\n return [200, { invoices }];\n});\n\nmock.onGet('/api/invoices/1').reply(() => {\n const invoice = {\n id: '5ecb86785312dcc69b5799ad',\n currency: '$',\n customer: {\n address: '271 Richmond Rd, Grey Lynn, Auckland 1022, New Zealand',\n company: 'Countdown Grey Lynn',\n email: 'contact@anahenisky.io',\n name: 'Ana Henisky',\n taxId: '6934656584231'\n },\n dueDate: moment()\n .toDate()\n .getTime(),\n issueDate: moment()\n .subtract(1, 'hours')\n .toDate()\n .getTime(),\n items: [\n {\n id: '5ecb8694db1760a701dfbf74',\n currency: '$',\n description: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\n unitAmount: 55.50\n }\n ],\n number: 'DEV-9483',\n status: 'paid',\n subtotalAmount: 50.00,\n taxAmount: 5.50,\n totalAmount: 55.50\n }\n\n return [200, { invoice }];\n});\n","import moment from 'moment';\nimport { v4 as uuidv4 } from 'uuid';\nimport _ from 'lodash';\nimport mock from 'src/utils/mock';\n\nconst board = {\n lists: [\n {\n id: '5e849c39325dc5ef58e5a5db',\n name: 'Incoming',\n cardIds: [\n '5e849c8708bd72683b454747',\n '5e849c90fabe1f1f4b3557f6',\n '5e849c977ef6265938bfd90b',\n '5e849c9e34ee93bc7255c599'\n ]\n },\n {\n id: '5e849c2b38d238c33e516755',\n name: 'In progress',\n cardIds: [\n '5e849ca7d063dc3830d4b49c',\n '5e849cb5d0c6e8894451fdfa'\n ]\n }\n ],\n cards: [\n {\n id: '5e849c8708bd72683b454747',\n attachments: [],\n checklists: [\n {\n id: '5e84a8175c48d3f5b1d01972',\n name: 'Update home page',\n checkItems: [\n {\n id: '5e85af37da584c5e4bd8a06c',\n name: 'An item',\n state: 'complete'\n }\n ]\n }\n ],\n comments: [\n {\n id: '15e849c5a35d4dff4f88ebff6',\n cardId: '5e849c8708bd72683b454747',\n createdAt: moment()\n .subtract(5, 'days')\n .toDate()\n .getTime(),\n memberId: '5e887ac47eed253091be10cb',\n message: 'This is a comment'\n }\n ],\n cover: '/static/images/projects/project_3.png',\n description: '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.',\n due: moment()\n .add(7, 'days')\n .toDate()\n .getTime(),\n isSubscribed: false,\n listId: '5e849c39325dc5ef58e5a5db',\n memberIds: ['5e86809283e28b96d2d38537'],\n name: 'Call with sales of HubSpot'\n },\n {\n id: '5e849c90fabe1f1f4b3557f6',\n attachments: [],\n checklists: [],\n comments: [],\n cover: null,\n description: 'We are looking for vue experience and of course node js strong knowledge',\n due: moment()\n .add(6, 'days')\n .toDate()\n .getTime(),\n isSubscribed: true,\n listId: '5e849c39325dc5ef58e5a5db',\n memberIds: ['5e887b209c28ac3dd97f6db5', '5e887a62195cc5aef7e8ca5d'],\n name: 'Interview for the Asis. Sales Manager'\n },\n {\n id: '5e849c977ef6265938bfd90b',\n attachments: [],\n checklists: [],\n comments: [],\n cover: null,\n description: 'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\n due: null,\n isSubscribed: false,\n listId: '5e849c39325dc5ef58e5a5db',\n memberIds: [],\n name: 'Change the height of the top bar because it looks too chunky',\n },\n {\n id: '5e849c9e34ee93bc7255c599',\n attachments: [],\n checklists: [],\n comments: [],\n cover: null,\n description: 'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\n due: null,\n isSubscribed: false,\n listId: '5e849c39325dc5ef58e5a5db',\n memberIds: ['5e887ac47eed253091be10cb', '5e86809283e28b96d2d38537'],\n name: 'Integrate Stripe API'\n },\n {\n id: '5e849ca7d063dc3830d4b49c',\n attachments: [],\n checklists: [],\n comments: [],\n cover: null,\n description: 'We need to make it aggresive with pricing because it’s in their interest to acquire us',\n due: null,\n isSubscribed: true,\n listId: '5e849c2b38d238c33e516755',\n memberIds: ['5e887a62195cc5aef7e8ca5d'],\n name: 'Update the customer API for payments'\n },\n {\n id: '5e849cb5d0c6e8894451fdfa',\n attachments: [],\n checklists: [],\n comments: [],\n cover: null,\n description: 'We need to make it aggresive with pricing because it’s in their interest to acquire us',\n due: null,\n isSubscribed: true,\n listId: '5e849c2b38d238c33e516755',\n memberIds: [],\n name: 'Redesign the landing page'\n }\n ],\n members: [\n {\n id: '5e887a62195cc5aef7e8ca5d',\n avatar: '/static/images/avatars/avatar_2.png',\n name: 'Ekaterina Tankova',\n },\n {\n id: '5e887ac47eed253091be10cb',\n avatar: '/static/images/avatars/avatar_3.png',\n name: 'Cao Yu'\n },\n {\n id: '5e887b209c28ac3dd97f6db5',\n avatar: '/static/images/avatars/avatar_4.png',\n name: 'Alex Richardson'\n },\n {\n id: '5e887b7602bdbc4dbb234b27',\n avatar: '/static/images/avatars/avatar_5.png',\n name: 'Anje Keizer'\n },\n {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith'\n }\n ]\n};\n\nmock.onGet('/api/kanban/board').reply(200, { board });\n\nmock.onPost('/api/kanban/lists/new').reply((request) => {\n try {\n const { name } = JSON.parse(request.data);\n const list = {\n id: uuidv4(),\n name,\n cardIds: []\n };\n\n _.assign(board, {\n lists: [...board.lists, list]\n });\n\n return [200, { list }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/list/update').reply((request) => {\n try {\n const { listId, update } = JSON.parse(request.data);\n const list = board.lists.find((_list) => _list.id === listId);\n\n _.assign(list, update);\n\n return [200, { list }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/lists/clear').reply((request) => {\n try {\n const { listId } = JSON.parse(request.data);\n\n _.assign(board, {\n lists: _.map(board.lists, (list) => {\n if (list.id === listId) {\n _.assign(list, {\n cardIds: []\n });\n }\n\n return list;\n }),\n cards: board.cards.filter((card) => card.listId !== listId)\n });\n\n return [200, { listId }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/lists/remove').reply((request) => {\n try {\n const { listId } = JSON.parse(request.data);\n\n _.assign(board, {\n lists: _.reject(board.lists, { id: listId }),\n cards: board.cards.filter((card) => card.listId !== listId)\n });\n\n return [200, { listId }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/cards/new').reply((request) => {\n try {\n const { listId, name } = JSON.parse(request.data);\n const card = {\n id: uuidv4(),\n attachments: [],\n checklists: [],\n comments: [],\n cover: null,\n description: null,\n due: null,\n isSubscribed: false,\n listId,\n memberIds: [],\n name\n };\n\n _.assign(board, {\n cards: [...board.cards, card],\n lists: _.map(board.lists, (list) => {\n if (list.id === listId) {\n _.assign(list, {\n cardIds: [...list.cardIds, card.id]\n });\n }\n\n return list;\n })\n });\n\n return [200, { card }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/cards/update').reply((request) => {\n try {\n const { cardId, update } = JSON.parse(request.data);\n const card = board.cards.find((_card) => _card.id === cardId);\n\n _.assign(card, update);\n\n return [200, { card }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/cards/move').reply((request) => {\n try {\n const { cardId, position, listId } = JSON.parse(request.data);\n const card = board.cards.find((_card) => _card.id === cardId);\n\n if (!card) {\n return [400, 'Card not found'];\n }\n\n const sourceList = board.lists.find((list) => list.id === card.listId);\n\n if (!sourceList) {\n return [500, 'List not found']\n }\n\n _.pull(sourceList.cardIds, cardId);\n\n if (listId) {\n const destinationList = board.lists.find((list) => list.id === card.listId);\n\n if (!destinationList) {\n return [500, 'List not found']\n }\n\n sourceList.cardIds.splice(position, 0, card.id);\n card.listId = destinationList.id;\n } else {\n sourceList.cardIds.splice(position, 0, card.id);\n }\n\n return [200, true];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/cards/remove').reply((request) => {\n try {\n const { cardId } = JSON.parse(request.data);\n\n _.assign(board, {\n cards: _.reject(board.cards, { id: cardId }),\n lists: _.map(board.lists, (list) => {\n _.assign(list, {\n cardIds: list.cardIds.filter((_cardId) => _cardId !== cardId)\n });\n\n return list;\n })\n });\n\n return [200, { cardId }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/comments/new').reply((request) => {\n try {\n const { cardId, message } = JSON.parse(request.data);\n const comment = {\n id: uuidv4(),\n cardId,\n createdAt: moment()\n .toDate()\n .getTime(),\n memberId: '5e86809283e28b96d2d38537', // On server get current user from request\n message\n };\n\n _.assign(board, {\n cards: _.map(board.cards, (card) => {\n if (card.id === cardId) {\n _.assign(card, {\n comments: [...card.comments, comment]\n });\n }\n\n return card;\n })\n });\n\n return [200, { comment }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/checklists/new').reply((request) => {\n try {\n const { cardId, name } = JSON.parse(request.data);\n const checklist = {\n id: uuidv4(),\n name,\n checkItems: []\n };\n\n _.assign(board, {\n cards: _.map(board.cards, (card) => {\n if (card.id === cardId) {\n _.assign(card, {\n checklists: [...card.checklists, checklist]\n });\n }\n\n return card;\n })\n });\n\n return [200, { checklist }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/checklists/update').reply((request) => {\n try {\n const { cardId, checklistId, update } = JSON.parse(request.data);\n let checklist = null;\n\n _.assign(board, {\n cards: _.map(board.cards, (card) => {\n if (card.id === cardId) {\n _.map(card.checklists, (_checklist) => {\n if (_checklist.id === checklistId) {\n _.assign(_checklist, { ...update });\n checklist = _checklist;\n }\n\n return _checklist;\n });\n }\n\n return card;\n })\n });\n\n return [200, { checklist }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/checklists/remove').reply((request) => {\n try {\n const { cardId, checklistId } = JSON.parse(request.data);\n\n _.assign(board, {\n cards: _.map(board.cards, (card) => {\n if (card.id === cardId) {\n _.assign(card, {\n checklists: _.reject(card.checklists, { id: checklistId }),\n });\n }\n\n return card;\n })\n });\n\n return [200, true];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/checkitems/new').reply((request) => {\n try {\n const { cardId, checklistId, name } = JSON.parse(request.data);\n const checkItem = {\n id: uuidv4(),\n checklistId,\n name,\n state: 'incomplete'\n };\n\n _.assign(board, {\n cards: _.map(board.cards, (card) => {\n if (card.id === cardId) {\n _.assign(card, {\n checklists: _.each(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: [...checklist.checkItems, checkItem]\n });\n }\n\n return checklist;\n })\n });\n }\n\n return card;\n })\n });\n\n return [200, { checkItem }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/checkitems/update').reply((request) => {\n try {\n const {\n cardId,\n checklistId,\n checkItemId,\n update\n } = JSON.parse(request.data);\n let checkItem = null;\n\n _.assign(board, {\n cards: _.map(board.cards, (card) => {\n if (card.id === cardId) {\n _.assign(card, {\n checklists: _.map(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: _.map(checklist.checkItems, (_checkItem) => {\n if (_checkItem.id === checkItemId) {\n _.assign(_checkItem, { ...update });\n checkItem = _checkItem;\n }\n\n return _checkItem;\n })\n });\n }\n\n return checklist;\n })\n });\n }\n\n return card;\n })\n });\n\n return [200, { checkItem }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onPost('/api/kanban/checkitems/remove').reply((request) => {\n try {\n const { cardId, checklistId, checkItemId } = JSON.parse(request.data);\n\n _.assign(board, {\n cards: _.map(board.cards, (card) => {\n if (card.id === cardId) {\n _.assign(card, {\n checklists: _.map(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: _.reject(checklist.checkItems, { id: checkItemId })\n });\n }\n\n return checklist;\n })\n });\n }\n\n return card;\n })\n });\n\n return [200, true];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n","import moment from 'moment';\nimport { colors } from '@material-ui/core';\nimport mock from 'src/utils/mock';\n\nconst labels = [\n {\n id: 'all',\n type: 'system_label',\n name: 'All Mail'\n },\n {\n id: 'inbox',\n type: 'system_label',\n name: 'Inbox',\n unreadCount: 1,\n totalCount: 0\n },\n {\n id: 'sent',\n type: 'system_label',\n name: 'Sent',\n unreadCount: 0,\n totalCount: 0\n },\n {\n id: 'drafts',\n type: 'system_label',\n name: 'Drafts',\n unreadCount: 0,\n totalCount: 0\n },\n {\n id: 'trash',\n type: 'system_label',\n name: 'Trash',\n unreadCount: 0,\n totalCount: 1\n },\n {\n id: 'spam',\n type: 'system_label',\n name: 'Spam',\n unreadCount: 1,\n totalCount: 1\n },\n {\n id: 'important',\n type: 'system_label',\n name: 'Important',\n unreadCount: 0,\n totalCount: 1\n },\n {\n id: 'starred',\n type: 'system_label',\n name: 'Starred',\n unreadCount: 1,\n totalCount: 1\n },\n {\n id: '5e892628d4bc60b4514d5d36',\n type: 'custom_label',\n name: 'Work',\n unreadCount: 1,\n totalCount: 1,\n color: colors.green[600]\n },\n {\n id: '5e8926820cf9ec6c834114ec',\n type: 'custom_label',\n name: 'Business',\n unreadCount: 0,\n totalCount: 2,\n color: colors.blue[600]\n },\n {\n id: '5e892696db60f561c43c6f81',\n type: 'custom_label',\n name: 'Personal',\n unreadCount: 0,\n totalCount: 1,\n color: colors.orange[600]\n }\n];\n\nconst mails = [\n {\n id: '5e86bcc3e1b53b6365d71638',\n folder: 'Business',\n isImportant: true,\n isStarred: false,\n isUnread: true,\n labelIds: ['5e8926820cf9ec6c834114ec', '5e892696db60f561c43c6f81'],\n subject: 'Website redesign. Interested in collaboration',\n message: `\nHi Matt, I saw your work on instagram and would be interested in getting a quote for Logo and slider\n\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.\n\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.\n\n\nKind regards,\n\nEkaterina Tankova\n `,\n from: {\n name: 'Ekaterina Tankova',\n email: 'ekaterina.tankova@devias.io',\n avatar: '/static/images/avatars/avatar_2.png'\n },\n to: [\n {\n name: 'Katarina Smith',\n email: 'katarina.smith@devias.io',\n avatar: null\n }\n ],\n createdAt: moment()\n .toDate()\n .getTime()\n },\n {\n id: '5e86bcbd8406cd3055f2b6c8',\n folder: 'spam',\n isImportant: false,\n isStarred: true,\n isUnread: false,\n labelIds: [],\n subject: 'Amazing work',\n message: `\nHey, nice projects! I really liked the one in react. What's your quote on kinda similar project?\n `,\n from: {\n name: 'Adam Denisov',\n email: 'adam.denisov@devias.io',\n avatar: '/static/images/avatars/avatar_7.png'\n },\n to: [\n {\n name: 'Katarina Smith',\n email: 'katarina.smith@devias.io',\n avatar: null\n }\n ],\n createdAt: moment()\n .toDate()\n .getTime()\n },\n {\n id: '5e86bcb9fee1ec12453fa13b',\n folder: 'inbox',\n isImportant: false,\n isStarred: false,\n isUnread: false,\n labelIds: ['5e892628d4bc60b4514d5d36'],\n subject: 'Flight reminder',\n message: `\nDear Shen, Your flight is coming up soon. Please don’t forget to check in for your scheduled flight.\n `,\n from: {\n name: 'Miller Edwards',\n email: 'miller.edwards@devias.io',\n avatar: '/static/images/avatars/avatar_8.png'\n },\n to: [\n {\n name: 'Katarina Smith',\n email: 'katarina.smith@devias.io',\n avatar: null\n }\n ],\n createdAt: moment()\n .toDate()\n .getTime()\n },\n {\n id: '5e86bcb5575181a5e527e24f',\n folder: 'trash',\n isImportant: false,\n isStarred: false,\n isUnread: true,\n labelIds: ['5e8926820cf9ec6c834114ec'],\n subject: 'Posible candidates for the position',\n message: `\nMy market leading client has another fantastic opportunity for an experienced Software Developer to join them on a heavily remote basis\n `,\n from: {\n name: 'Cao Yu',\n email: 'cao.yu@devias.io',\n avatar: '/static/images/avatars/avatar_3.png'\n },\n to: [\n {\n name: 'Katarina Smith',\n email: 'katarina.smith@devias.io',\n avatar: null\n }\n ],\n createdAt: moment()\n .toDate()\n .getTime()\n }\n];\n\nconst filterMails = (\n mails,\n labels,\n systemLabel,\n customLabel\n) => {\n if (customLabel) {\n const label = labels.find((_label) => _label.name === customLabel);\n\n if (!label) {\n return [];\n }\n\n return mails.filter((mail) => mail.labelIds.includes(label.id));\n }\n\n if (systemLabel === 'all') {\n return mails;\n }\n\n // \"Starred\" can be both folder and filter\n if (['starred', 'important'].includes(systemLabel)) {\n if (systemLabel === 'starred') {\n return mails.filter((mail) => mail.isStarred);\n }\n\n if (systemLabel === 'important') {\n return mails.filter((mail) => mail.isImportant);\n }\n }\n\n if (['inbox', 'sent', 'drafts', 'trash', 'spam', 'starred'].includes(systemLabel)) {\n return mails.filter((mail) => mail.folder === systemLabel);\n }\n\n return [];\n};\n\nmock.onGet('/api/mail/labels').reply(200, { labels });\n\nmock.onGet('/api/mail/mails').reply((config) => {\n try {\n const { systemLabel, customLabel } = config.params;\n const filteredMails = filterMails(\n mails,\n labels,\n systemLabel,\n customLabel\n );\n\n return [200, { mails: filteredMails }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n\nmock.onGet('/api/mail/mail').reply((config) => {\n try {\n const { mailId } = config.params;\n const mail = mails.find((_mail) => _mail.id === mailId);\n\n if (!mail) {\n return [404, { message: 'Mail not found' }];\n }\n\n return [200, { mail }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n","import moment from 'moment';\nimport mock from 'src/utils/mock';\n\nconst notifications = [\n {\n id: '5e8883f1b51cc1956a5a1ec0',\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n description: 'Dummy text',\n title: 'Your order is placed',\n type: 'order_placed'\n },\n {\n id: '5e8883f7ed1486d665d8be1e',\n createdAt: moment()\n .subtract(1, 'day')\n .toDate()\n .getTime(),\n description: 'You have 32 unread messages',\n title: 'New message received',\n type: 'new_message'\n },\n {\n id: '5e8883fca0e8612044248ecf',\n createdAt: moment()\n .subtract(3, 'days')\n .toDate()\n .getTime(),\n description: 'Dummy text',\n title: 'Your item is shipped',\n type: 'item_shipped'\n },\n {\n id: '5e88840187f6b09b431bae68',\n createdAt: moment()\n .subtract(7, 'days')\n .toDate()\n .getTime(),\n description: 'You have 32 unread messages',\n title: 'New message received',\n type: 'new_message'\n }\n];\n\nmock.onGet('/api/notifications').reply(200, { notifications });\n","import moment from 'moment';\nimport mock from 'src/utils/mock';\n\nmock.onGet('/api/orders').reply(() => {\n const orders = [\n {\n id: '5ecb8a6d9f53bfae09e16115',\n createdAt: moment()\n .subtract(32, 'minutes')\n .subtract(23, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Cao Yu'\n },\n number: 'DEV-102',\n paymentMethod: 'CreditCard',\n status: 'pending',\n totalAmount: 500.00\n },\n {\n id: '5ecb8a738aa6f3e577c2b3ec',\n createdAt: moment()\n .subtract(36, 'minutes')\n .subtract(51, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Alex Richardson'\n },\n number: 'DEV-101',\n paymentMethod: 'PayPal',\n status: 'completed',\n totalAmount: 500.00\n },\n {\n id: '5ecb8a795e53f134013eba3b',\n createdAt: moment()\n .subtract(38, 'minutes')\n .subtract(55, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Anje Keizer'\n },\n number: 'DEV-100',\n paymentMethod: 'CreditCard',\n status: 'pending',\n totalAmount: 500.00\n },\n {\n id: '5ecb8a7f738cc572a9ce0277',\n createdAt: moment()\n .subtract(40, 'minutes')\n .subtract(3, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Clarke Gillebert'\n },\n number: 'DEV-99',\n paymentMethod: 'PayPal',\n status: 'completed',\n totalAmount: 500.00\n },\n {\n id: '5e86805e2bafd54f66cc95c3',\n createdAt: moment()\n .subtract(45, 'minutes')\n .subtract(32, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Adam Denisov'\n },\n number: 'DEV-98',\n paymentMethod: 'PayPal',\n status: 'completed',\n totalAmount: 500.00\n },\n {\n id: '5ecb8a85a850c16fa413849c',\n createdAt: moment()\n .subtract(48, 'minutes')\n .subtract(57, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Miller Edwards'\n },\n status: 'pending',\n number: 'DEV-97',\n paymentMethod: 'CreditCard',\n totalAmount: 500.00\n },\n {\n id: '5ecb8a8e69ba2e409ea0168f',\n createdAt: moment()\n .subtract(49, 'minutes')\n .subtract(4, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Emilee Simchenko'\n },\n number: 'DEV-96',\n paymentMethod: 'CreditCard',\n status: 'completed',\n totalAmount: 500.00\n },\n {\n id: '5ecb8a9341c68839d387e1c4',\n createdAt: moment()\n .subtract(57, 'minutes')\n .subtract(43, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Elliott Stone'\n },\n number: 'DEV-95',\n paymentMethod: 'PayPal',\n status: 'rejected',\n totalAmount: 500.00\n },\n {\n id: '5ecb8a984bfbb97c9ae458e8',\n createdAt: moment()\n .subtract(59, 'minutes')\n .subtract(6, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Shen Zhi'\n },\n number: 'DEV-94',\n paymentMethod: 'CreditCard',\n status: 'canceled',\n totalAmount: 500.00\n },\n {\n id: '5ecb8aa08d9127dba654ce7a',\n createdAt: moment()\n .subtract(1, 'hour')\n .subtract(15, 'minutes')\n .subtract(43, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n name: 'Merrile Burgett'\n },\n number: 'DEV-93',\n paymentMethod: 'PayPal',\n status: 'canceled',\n totalAmount: 500.00\n }\n ];\n\n return [200, { orders }];\n});\n\nmock.onGet('/api/orders/1').reply(() => {\n const order = {\n id: '5ecb8a6879877087d4aa2690',\n coupon: null,\n createdAt: moment()\n .toDate()\n .getTime(),\n currency: '$',\n customer: {\n address1: 'Street John Wick, no. 7',\n address2: 'House #25',\n city: 'San Diego',\n country: 'USA',\n name: 'Adam Denisov'\n },\n items: [\n {\n id: '5ecb8abbdd6dfb1f9d6bf98b',\n billingCycle: 'monthly',\n currency: '$',\n name: 'Project Points',\n quantity: 25,\n unitAmount: 50.25\n },\n {\n id: '5ecb8ac10f116d04bed990eb',\n billingCycle: 'monthly',\n currency: '$',\n name: 'Freelancer Subscription',\n quantity: 1,\n unitAmount: 5.00\n }\n ],\n number: 'DEV-103',\n paymentMethod: 'CreditCard',\n status: 'pending',\n totalAmount: 500.00\n };\n\n return [200, { order }];\n});\n","import moment from 'moment';\nimport mock from 'src/utils/mock';\n\nlet products = [\n {\n id: '5ece2c077e39da27658aa8a9',\n attributes: ['Cotton'],\n category: 'dress',\n currency: '$',\n createdAt: moment()\n .subtract(1, 'days')\n .toDate()\n .getTime(),\n image: null,\n inventoryType: 'in_stock',\n isAvailable: true,\n isShippable: false,\n name: 'Charlie Tulip Dress',\n price: 23.99,\n quantity: 85,\n updatedAt: moment()\n .subtract(6, 'hours')\n .toDate()\n .getTime(),\n variants: 2\n },\n {\n id: '5ece2c0d16f70bff2cf86cd8',\n attributes: ['Cotton'],\n category: 'dress',\n currency: '$',\n createdAt: moment()\n .subtract(3, 'days')\n .toDate()\n .getTime(),\n image: null,\n inventoryType: 'out_of_stock',\n isAvailable: false,\n isShippable: true,\n name: 'Kate Leopard Dress',\n price: 95.00,\n quantity: 0,\n updatedAt: moment()\n .subtract(2, 'days')\n .subtract(8, 'hours')\n .toDate()\n .getTime(),\n variants: 1\n },\n {\n id: '5ece2c123fad30cbbff8d060',\n attributes: ['Variety of styles'],\n category: 'jewelry',\n currency: '$',\n createdAt: moment()\n .subtract(6, 'days')\n .toDate()\n .getTime(),\n image: null,\n inventoryType: 'in_stock',\n isAvailable: true,\n isShippable: false,\n name: 'Layering Bracelets Collection',\n price: 155.00,\n quantity: 48,\n updatedAt: moment()\n .subtract(1, 'days')\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n variants: 5\n },\n {\n id: '5ece2c1be7996d1549d94e34',\n attributes: ['Polyester and Spandex'],\n category: 'blouse',\n currency: '$',\n createdAt: moment()\n .subtract(12, 'days')\n .toDate()\n .getTime(),\n image: null,\n inventoryType: 'limited',\n isAvailable: false,\n isShippable: true,\n name: 'Flared Sleeve Floral Blouse',\n price: 17.99,\n quantity: 5,\n updatedAt: moment()\n .subtract(1, 'days')\n .subtract(7, 'hours')\n .toDate()\n .getTime(),\n variants: 1\n }\n];\n\nmock.onGet('/api/products').reply(200, { products });\n","import moment from 'moment';\nimport mock from 'src/utils/mock';\n\nmock.onGet('/api/projects/overview/projects').reply(() => {\n const projects = [\n {\n id: '5e8dcf105a6732b3ed82cf7a',\n author: {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith'\n },\n budget: 2394.00,\n caption: 'We\\'re looking for experienced Developers and Product Designers to come aboard and help us build succesful businesses through software.',\n currency: '$',\n isLiked: true,\n likesCount: 57,\n location: 'Europe',\n image: '/static/images/projects/project_3.png',\n rating: 3,\n membersCount: 5,\n technology: 'Angular JS',\n title: 'Ten80 Web Design',\n type: 'Full-Time',\n updatedAt: moment()\n .subtract(24, 'minutes')\n .toDate()\n .getTime()\n }\n ];\n\n return [200, { projects }];\n});\n\nmock.onGet('/api/projects/overview/statistics').reply(200, {\n statistics: {\n nextPayout: 4250,\n totalIncome: 12500,\n visitorsToday: 230,\n watchingNow: 5\n }\n});\n\nmock.onGet('/api/projects/projects').reply(() => {\n const projects = [\n {\n id: '5e8dcef8f95685ce21f16f3d',\n author: {\n id: '5e887b7602bdbc4dbb234b27',\n avatar: '/static/images/avatars/avatar_5.png',\n name: 'Anje Keizer'\n },\n budget: 6125.00,\n caption: 'We\\'re looking for experienced Developers and Product Designers to come aboard and help us build succesful businesses through software.',\n currency: '$',\n isLiked: true,\n likesCount: 7,\n location: 'Europe',\n image: '/static/images/projects/project_1.png',\n rating: 5,\n membersCount: 2,\n title: 'Mella Full Screen Slider',\n type: 'Full-Time',\n updatedAt: moment()\n .subtract(24, 'minutes')\n .toDate()\n .getTime()\n },\n {\n id: '5e8dcf076c50b9d8e756a5a2',\n author: {\n id: '5e887d0b3d090c1b8f162003',\n avatar: '/static/images/avatars/avatar_9.png',\n name: 'Emilee Simchenko'\n },\n budget: 4205.00,\n caption: 'We\\'re looking for experienced Developers and Product Designers to come aboard and help us build succesful businesses through software.',\n currency: '$',\n isLiked: true,\n likesCount: 12,\n location: 'Europe',\n image: '/static/images/projects/project_2.png',\n rating: 4.5,\n membersCount: 3,\n title: 'Dashboard Design',\n type: 'Full-Time',\n updatedAt: moment()\n .subtract(1, 'hour')\n .toDate()\n .getTime()\n },\n {\n id: '5e8dcf105a6732b3ed82cf7a',\n author: {\n id: '5e88792be2d4cfb4bf0971d9',\n avatar: '/static/images/avatars/avatar_10.png',\n name: 'Elliott Stone'\n },\n budget: 2394.00,\n caption: 'We\\'re looking for experienced Developers and Product Designers to come aboard and help us build succesful businesses through software.',\n currency: '$',\n isLiked: true,\n likesCount: 18,\n location: 'Europe',\n image: '/static/images/projects/project_3.png',\n rating: 4.7,\n membersCount: 8,\n title: 'Ten80 Web Design',\n type: 'Full-Time',\n updatedAt: moment()\n .subtract(16, 'hour')\n .toDate()\n .getTime()\n },\n {\n id: '5e8dcf1cc7155d0e947dc27f',\n author: {\n id: '5e8877da9a65442b11551975',\n avatar: '/static/images/avatars/avatar_11.png',\n name: 'Shen Zhi'\n },\n budget: 2784.00,\n caption: 'We\\'re looking for experienced Developers and Product Designers to come aboard and help us build succesful businesses through software.',\n currency: '$',\n image: '/static/images/projects/project_4.png',\n isLiked: false,\n likesCount: 1,\n location: 'Europe',\n membersCount: 10,\n rating: 2,\n title: 'Neura e-commerce UI Kit',\n type: 'Full-Time',\n updatedAt: moment()\n .subtract(3, 'days')\n .toDate()\n .getTime()\n },\n {\n id: '5e8dcf252313876001e83221',\n author: {\n id: '5e887ac47eed253091be10cb',\n avatar: '/static/images/avatars/avatar_3.png',\n name: 'Cao Yu'\n },\n budget: 5835.00,\n caption: 'We\\'re looking for experienced Developers and Product Designers to come aboard and help us build succesful businesses through software.',\n currency: '$',\n isLiked: false,\n likesCount: 7,\n location: 'Europe',\n image: '/static/images/projects/project_5.jpg',\n rating: 5,\n membersCount: 2,\n title: 'Administrator Dashboard',\n type: 'Full-Time',\n updatedAt: moment()\n .subtract(7, 'days')\n .toDate()\n .getTime()\n },\n {\n id: '5e8dcf4250d77c954b04902e',\n author: {\n id: '5e887b7602bdbc4dbb234b27',\n avatar: '/static/images/avatars/avatar_5.png',\n name: 'Anje Keizer'\n },\n budget: 4255.00,\n caption: 'We\\'re looking for experienced Developers and Product Designers to come aboard and help us build succesful businesses through software.',\n currency: '$',\n isLiked: true,\n likesCount: 4,\n location: 'Europe',\n image: null,\n rating: 4.2,\n membersCount: 12,\n title: 'Kalli UI Kit',\n type: 'Full-Time',\n updatedAt: moment()\n .subtract(8, 'days')\n .toDate()\n .getTime()\n }\n ];\n\n return [200, { projects }];\n});\n\nmock.onGet('/api/projects/projects/1').reply(() => {\n const project = {\n id: '5e8dcf076c50b9d8e756a5a2',\n activities: [\n {\n id: '5e8dd0828d628e6f40abdfe8',\n createdAt: moment()\n .subtract(23, 'minutes')\n .toDate()\n .getTime(),\n description: 'has uploaded a new file',\n subject: 'Project author',\n type: 'upload_file'\n },\n {\n id: '5e8dd0893a6725f2bb603617',\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n description: 'joined team as a Front-End Developer',\n subject: 'Adrian Stefan',\n type: 'join_team'\n },\n {\n id: '5e8dd08f44603e3300b75cf1',\n createdAt: moment()\n .subtract(9, 'hours')\n .toDate()\n .getTime(),\n description: 'joined team as a Full Stack Developer',\n subject: 'Alexndru Robert',\n type: 'join_team'\n },\n {\n id: '5e8dd0960f3f0fe04e64d8f4',\n createdAt: moment()\n .subtract(2, 'days')\n .toDate()\n .getTime(),\n description: 'raised the project budget',\n subject: 'Project author',\n type: 'price_change'\n },\n {\n id: '5e8dd09db94421c502c53d13',\n createdAt: moment()\n .subtract(4, 'days')\n .toDate()\n .getTime(),\n description: 'created',\n subject: 'Contest',\n type: 'contest_created'\n }\n ],\n applicants: [\n {\n id: '5e887a62195cc5aef7e8ca5d',\n avatar: '/static/images/avatars/avatar_2.png',\n commonConnections: 12,\n cover: '/static/images/covers/cover_2.jpg',\n labels: [\n 'User Experience',\n 'FrontEnd development',\n 'HTML5',\n 'VueJS',\n 'ReactJS'\n ],\n name: 'Ekaterina Tankova'\n },\n {\n id: '5e887ac47eed253091be10cb',\n avatar: '/static/images/avatars/avatar_3.png',\n commonConnections: 5,\n cover: '/static/images/covers/cover_3.jpg',\n labels: [\n 'User Interface',\n 'FullStack development',\n 'Angular',\n 'ExpressJS'\n ],\n name: 'Cao Yu'\n },\n {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n commonConnections: 17,\n cover: '/static/images/covers/cover_1.jpg',\n labels: [\n 'BackEnd development',\n 'Firebase',\n 'MongoDB',\n 'ExpressJS'\n ],\n name: 'Katarina Smith'\n }\n ],\n author: {\n id: '5e887d0b3d090c1b8f162003',\n avatar: '/static/images/avatars/avatar_9.png',\n name: 'Emilee Simchenko'\n },\n budget: 12500.00,\n caption: 'We\\'re looking for experienced Developers and Product Designers to come aboard and help us build succesful businesses through software.',\n currency: '$',\n description: `\nDesign files are attached in the files tab.\n\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.\n\nThere's not many screens we need designed, but there will be modals and various other system triggered events that will need to be considered.\n\nThe project has been created in Sketch so let me know if there are any problems opening this project and I'll try to convert into a usable file.\n `,\n endDate: moment()\n .add(14, 'days')\n .toDate()\n .getTime(),\n files: [\n {\n id: '5e8dd0721b9e0fab56d7238b',\n mimeType: 'image/png',\n name: 'example-project1.jpg',\n size: 1024 * 1024 * 3,\n url: '/static/images/projects/project_4.png'\n },\n {\n id: '5e8dd0784431995a30eb2586',\n mimeType: 'application/zip',\n name: 'docs.zip',\n size: 1024 * 1024 * 25,\n url: '#'\n },\n {\n id: '5e8dd07cbb62749296ecee1c',\n mimeType: 'image/png',\n name: 'example-project2.jpg',\n size: 1024 * 1024 * 2,\n url: '/static/images/projects/project_1.png'\n }\n ],\n isActive: true,\n isLiked: true,\n location: 'Europe',\n members: [\n {\n id: '5e887a62195cc5aef7e8ca5d',\n avatar: '/static/images/avatars/avatar_2.png',\n bio: 'Front End Developer',\n name: 'Ekaterina Tankova'\n },\n {\n id: '5e887ac47eed253091be10cb',\n avatar: '/static/images/avatars/avatar_3.png',\n bio: 'UX Designer',\n name: 'Cao Yu'\n },\n {\n id: '5e887b7602bdbc4dbb234b27',\n avatar: '/static/images/avatars/avatar_5.png',\n bio: 'Copyright',\n name: 'Anje Keizer'\n }\n ],\n rating: 5,\n reviews: [\n {\n id: '5f0366cd843161f193ebadd4',\n author: {\n avatar: '/static/images/avatars/avatar_2.png',\n name: 'Ekaterina Tankova'\n },\n comment: 'Great company, providing an awesome & easy to use product.',\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n value: 5\n },\n {\n id: 'to33twsyjphcfj55y3t07261',\n author: {\n avatar: '/static/images/avatars/avatar_7.png',\n name: 'Adam Denisov',\n },\n comment: 'Not the best people managers, poor management skills, poor career development programs. Communication from corporate & leadership isn\\'t always clear and is sometime one-sided. Low pay compared to FANG.',\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n value: 2\n },\n {\n id: '6z9dwxjzkqbmxuluxx2681jd',\n author: {\n avatar: '/static/images/avatars/avatar_3.png',\n name: 'Cao Yu',\n },\n comment: 'I have been working with this company full-time. Great for the work life balance. Cons, decentralized decision making process across the organization.',\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n value: 4\n }\n ],\n startDate: moment()\n .add(7, 'days')\n .toDate()\n .getTime(),\n tags: ['React JS'],\n title: 'Develop a PDF Export App',\n type: 'Full-Time',\n updatedAt: moment()\n .subtract(23, 'minutes')\n .toDate()\n .getTime()\n };\n\n return [200, { project }];\n});\n","import moment from 'moment';\nimport { colors } from '@material-ui/core';\nimport mock from 'src/utils/mock';\n\nmock.onGet('/api/reports/customer-activity').reply(() => {\n const activities = [\n {\n id: '5e89140bcc768199d1e0dc49',\n createdAt: moment()\n .subtract(23, 'minutes')\n .toDate()\n .getTime(),\n customer: {\n id: '5e887a62195cc5aef7e8ca5d',\n avatar: '/static/images/avatars/avatar_2.png',\n name: 'Ekaterina Tankova',\n },\n description: 'Created account',\n type: 'register'\n },\n {\n id: '5e891411b0290b175166cd32',\n createdAt: moment()\n .subtract(56, 'minutes')\n .toDate()\n .getTime(),\n customer: {\n id: '5e887ac47eed253091be10cb',\n name: 'Cao Yu',\n avatar: '/static/images/avatars/avatar_3.png'\n },\n description: 'Subscription Purchase',\n type: 'payment'\n },\n {\n id: '5e89141633dc5e52c923ef27',\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n customer: {\n id: '5e887b209c28ac3dd97f6db5',\n name: 'Alex Richardson',\n avatar: '/static/images/avatars/avatar_4.png'\n },\n description: 'Submitted a ticket',\n type: 'ticket_create'\n },\n {\n id: '5e89141bd975c7f33aee9f4b',\n createdAt: moment()\n .subtract(5, 'minutes')\n .toDate()\n .getTime(),\n customer: {\n id: '5e887b7602bdbc4dbb234b27',\n name: 'Anje Keizer',\n avatar: '/static/images/avatars/avatar_5.png'\n },\n description: 'Subscription Purchase',\n type: 'payment'\n },\n {\n id: '5e891421d7945778863cf9ca',\n createdAt: moment()\n .subtract(5, 'minutes')\n .toDate()\n .getTime(),\n customer: {\n id: '5e86809283e28b96d2d38537',\n name: 'Katarina Smith',\n avatar: '/static/images/avatars/avatar_6.png'\n },\n description: 'Subscription Purchase',\n type: 'payment'\n }\n ];\n\n return [200, { activities }];\n});\n\nmock.onGet('/api/reports/earnings').reply(200, {\n earnings: {\n datasets: [\n {\n data: [56, 24, 20],\n backgroundColor: ['#3d72eb', '#4b9e86', '#b658f5']\n }\n ],\n labels: ['Subscriptions', 'Affiliate', 'Sales']\n }\n});\n\nmock.onGet('/api/reports/latest-orders').reply(() => {\n const orders = [\n {\n id: '5eff2548979e396cb4b000ba',\n createdAt: moment()\n .subtract(7, 'minutes')\n .subtract(10, 'seconds')\n .toDate()\n .getTime(),\n customer: {\n email: 'ekaterina@devias.io',\n name: 'Ekaterina Tankova'\n },\n currency: '$',\n items: 7,\n number: 'DEV-1042',\n status: 'pending',\n totalAmount: 524.00\n },\n {\n id: '5eff254e46b753a166e7d7af',\n createdAt: moment()\n .subtract(2, 'hours')\n .subtract(12, 'minutes')\n .subtract(50, 'seconds')\n .toDate()\n .getTime(),\n customer: {\n email: 'cao.yu@devias.io',\n name: 'Cao Yu'\n },\n currency: '$',\n items: 8,\n number: 'DEV-1041',\n status: 'complete',\n totalAmount: 693.00\n },\n {\n id: '5eff2553e1c551e2e28a9205',\n createdAt: moment()\n .subtract(5, 'hours')\n .subtract(39, 'minutes')\n .subtract(12, 'seconds')\n .toDate()\n .getTime(),\n customer: {\n email: 'alex.richardson@devias.io',\n name: 'Alex Richardson'\n },\n currency: '$',\n items: 4,\n number: 'DEV-1040',\n status: 'rejected',\n totalAmount: 215.00\n },\n {\n id: '5eff25590f3e28f013c39a0e',\n createdAt: moment()\n .subtract(5, 'hours')\n .subtract(46, 'minutes')\n .subtract(21, 'seconds')\n .toDate()\n .getTime(),\n customer: {\n email: 'anje.keiser@devias.io',\n name: 'Anje Keizer'\n },\n currency: '$',\n items: 1,\n number: 'DEV-1039',\n status: 'pending',\n totalAmount: 25.00\n },\n {\n id: '5eff255f57499089243805d8',\n createdAt: moment()\n .subtract(8, 'hours')\n .subtract(19, 'minutes')\n .subtract(54, 'seconds')\n .toDate()\n .getTime(),\n customer: {\n name: 'Clarke Gillebert',\n email: 'clarke.gillebert@devias.io'\n },\n currency: '$',\n items: 5,\n number: 'DEV-1038',\n status: 'complete',\n totalAmount: 535.00\n },\n {\n id: '5eff25658d416fc5adb96a3a',\n createdAt: moment()\n .subtract(1, 'days')\n .subtract(45, 'minutes')\n .subtract(12, 'seconds')\n .toDate()\n .getTime(),\n customer: {\n email: 'merrile.burgett@devias.io',\n name: 'Merrile Burgett'\n },\n currency: '$',\n items: 2,\n number: 'DEV-1037',\n status: 'complete',\n totalAmount: 56.00\n }\n ];\n\n return [200, { orders }];\n});\n\nmock.onGet('/api/reports/latest-projects').reply(() => {\n const projects = [\n {\n id: '5eff24e675e7b3cba23e4be7',\n author: {\n avatar: '/static/images/avatars/avatar_5.png',\n name: 'Anje Keizer'\n },\n budget: 12500,\n createdAt: moment()\n .subtract(2, 'hours')\n .subtract(34, 'minutes')\n .subtract(10, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n technologies: ['angular'],\n title: 'Mella Full Screen Slider'\n },\n {\n id: '5eff24e98e2c9107e95cb827',\n author: {\n avatar: '/static/images/avatars/avatar_9.png',\n name: 'Emilee Simchenko'\n },\n budget: 15750,\n createdAt: moment()\n .subtract(10, 'hours')\n .subtract(56, 'minutes')\n .subtract(25, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n technologies: ['sketch', 'html-css'],\n title: 'Dashboard Design'\n },\n {\n id: '5eff24f0d97353e3576d3c26',\n author: {\n avatar: '/static/images/avatars/avatar_10.png',\n name: 'Elliott Stone'\n },\n budget: 15750,\n createdAt: moment()\n .subtract(1, 'days')\n .subtract(30, 'minutes')\n .subtract(50, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n technologies: ['react-js'],\n title: 'Ten80 Web Design'\n },\n {\n id: '5eff24f737bc6b191dd9bf58',\n author: {\n avatar: '/static/images/avatars/avatar_11.png',\n name: 'Shen Zhi'\n },\n budget: 12500,\n createdAt: moment()\n .subtract(1, 'days')\n .subtract(4, 'minutes')\n .subtract(30, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n technologies: ['vue-js'],\n title: 'Neura e-commerce UI Kit'\n },\n {\n id: '5eff24fb29fc5e37bdab3b2d',\n author: {\n avatar: '/static/images/avatars/avatar_3.png',\n name: 'Cao Yu'\n },\n budget: 15750,\n createdAt: moment()\n .subtract(1, 'days')\n .subtract(11, 'minutes')\n .subtract(6, 'seconds')\n .toDate()\n .getTime(),\n currency: '$',\n technologies: ['angular', 'figma'],\n title: 'Administrator Dashboard'\n }\n ];\n\n return [200, { projects }];\n});\n\nmock.onGet('/api/reports/latest-tasks').reply(() => {\n const tasks = [\n {\n id: '5eff24b501ba5281ddb5378c',\n deadline: moment()\n .add(1, 'days')\n .add(1, 'hour')\n .toDate()\n .getTime(),\n members: [\n {\n avatar: '/static/images/avatars/avatar_2.png',\n name: 'Ekaterina Tankova'\n },\n {\n avatar: '/static/images/avatars/avatar_3.png',\n name: 'Cao Yu'\n }\n ],\n title: 'Update the API for the project'\n },\n {\n id: '5eff24bb5bb3bd1beeddde78',\n deadline: moment()\n .add(2, 'day')\n .add(1, 'hour')\n .toDate()\n .getTime(),\n members: [\n {\n avatar: '/static/images/avatars/avatar_8.png',\n name: 'Miller Edwards'\n },\n {\n avatar: '/static/images/avatars/avatar_10.png',\n name: 'Elliott Stone'\n },\n {\n avatar: '/static/images/avatars/avatar_12.png',\n name: 'Merrile Burgett'\n }\n ],\n title: 'Redesign the landing page'\n },\n {\n id: '5eff24c019175119993fc1ff',\n deadline: moment()\n .toDate()\n .getTime(),\n members: [\n {\n avatar: '/static/images/avatars/avatar_7.png',\n name: 'Adam Denisov'\n }\n ],\n title: 'Solve the bug for the showState'\n },\n {\n id: '5eff24c52ce9fdadffa11959',\n deadline: null,\n members: [\n {\n avatar: '/static/images/avatars/avatar_2.png',\n name: 'Ekaterina Tankova'\n },\n {\n avatar: '/static/images/avatars/avatar_10.png',\n name: 'Elliott Stone'\n }\n ],\n title: 'Release v1.0 Beta'\n },\n {\n id: '5eff24ca3ffab939b667258b',\n deadline: null,\n members: [\n {\n avatar: '/static/images/avatars/avatar_5.png',\n name: 'Anje Keizer'\n },\n {\n avatar: '/static/images/avatars/avatar_2.png',\n name: 'Ekaterina Tankova'\n },\n {\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith'\n }\n ],\n title: 'GDPR Compliance'\n },\n {\n id: '5eff24cf8740fc9faca4e463',\n deadline: null,\n members: [\n {\n avatar: '/static/images/avatars/avatar_8.png',\n name: 'Miller Edwards'\n }\n ],\n title: 'Redesign Landing Page'\n }\n ];\n\n return [200, { tasks }];\n});\n\nmock.onGet('/api/reports/profitable-products').reply(() => {\n const products = [\n {\n id: '5eff2512c6f8737d08325676',\n conversionRate: 93,\n currency: '$',\n image: '/static/images/products/product_standard.svg',\n name: 'Freelancer Basic Subscription',\n price: 5.00,\n subscriptions: 13153\n },\n {\n id: '5eff2516247f9a6fcca9f151',\n conversionRate: 76,\n currency: '$',\n image: '/static/images/products/product_standard.svg',\n name: 'Freelancer Extra Subscription',\n price: 15.00,\n subscriptions: 10300\n },\n {\n id: '5eff251a3bb9ab7290640f18',\n conversionRate: 60,\n currency: '$',\n image: '/static/images/products/product_premium.svg',\n name: 'Agency Basic Subscription',\n price: 25.00,\n subscriptions: 5300\n },\n {\n id: '5eff251e297fd17f0dc18a8b',\n conversionRate: 46,\n currency: '$',\n image: '/static/images/products/product_extended.svg',\n name: 'Enterprise Basic Subscription',\n price: 205.00,\n subscriptions: 1203\n },\n {\n id: '5eff2524ef813f061b3ea39f',\n conversionRate: 41,\n currency: '$',\n image: '/static/images/products/product_extended.svg',\n name: 'Enterprise Extra Subscription',\n price: 500.00,\n subscriptions: 254\n }\n ];\n\n return [200, { products }];\n});\n\nmock.onGet('/api/reports/top-referrals').reply(() => {\n const referrals = [\n {\n color: colors.blueGrey['700'],\n initials: 'GT',\n name: 'GitHub',\n value: 53032\n },\n {\n color: colors.cyan['500'],\n initials: 'TW',\n name: 'Twitter',\n value: 39551\n },\n {\n color: colors.indigo[600],\n initials: 'HN',\n name: 'Hacker News',\n value: 23150\n },\n {\n color: colors.red['500'],\n initials: 'SO',\n name: 'Stack Overflow',\n value: 14093\n },\n {\n color: colors.orange['900'],\n initials: 'RD',\n name: 'Reddit.com',\n value: 7251\n },\n {\n color: colors.blueGrey['900'],\n initials: 'DE',\n name: 'Dev.to',\n value: 5694\n },\n {\n color: colors.blue['900'],\n initials: 'FB',\n name: 'Facebook',\n value: 3643\n },\n {\n color: colors.blueGrey['900'],\n initials: 'MD',\n name: 'Medium',\n value: 1654\n }\n ];\n\n return [200, { referrals }];\n});\n","import mock from 'src/utils/mock';\nimport wait from 'src/utils/wait';\n\nmock.onGet('/api/search').reply(async () => {\n try {\n await wait(1500);\n\n const results = [\n {\n description: 'Algolia broadly consists of two parts: search implementation and search analytics. We provide tools that make it easy for your developers...',\n title: 'What does Algolia do?'\n },\n {\n description: 'To be clear, search doesn’t know the direction that your business should take. However, it can help you gather information on what your customers want...',\n title: 'Search as a feedback loop'\n },\n {\n description: 'Algolia provides your users with a fast and rich search experience. Your Algolia search interface can contain a search bar, filters, infinite scrolling...',\n title: 'What can Algolia do for my users?'\n }\n ];\n\n return [200, { results }];\n } catch (err) {\n console.error(err);\n return [500, { message: 'Internal server error' }];\n }\n});\n","import moment from 'moment';\nimport mock from 'src/utils/mock';\n\nmock.onGet('/api/social/profile').reply(() => {\n const profile = {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n bio: 'Product Designer',\n connectedStatus: 'not_connected',\n cover: '/static/images/covers/cover_1.jpg',\n currentCity: 'Bucharest',\n currentJob: {\n company: 'Devias IO',\n title: 'Product Designer'\n },\n email: 'katarina.smith@devias.io',\n name: 'Katarina Smith',\n originCity: 'Rm. Valcea',\n previousJob: {\n company: 'Focus Aesthetic Dyanmics',\n title: 'UX Designer at'\n },\n profileProgress: 50,\n quote: 'Everyone thinks of changing the world, but no one thinks of changing himself.'\n };\n\n return [200, { profile }];\n});\n\nmock.onGet('/api/social/connections').reply(() => {\n const connections = [\n {\n id: '5e887ac47eed253091be10cb',\n avatar: '/static/images/avatars/avatar_3.png',\n commonConnections: 10,\n name: 'Cao Yu',\n status: 'rejected'\n },\n {\n id: '5e887b209c28ac3dd97f6db5',\n avatar: '/static/images/avatars/avatar_4.png',\n commonConnections: 8,\n name: 'Alex Richardson',\n status: 'pending'\n },\n {\n id: '5e86805e2bafd54f66cc95c3',\n avatar: '/static/images/avatars/avatar_7.png',\n commonConnections: 5,\n name: 'Adam Denisov',\n status: 'not_connected'\n },\n {\n id: '5e887a1fbefd7938eea9c981',\n avatar: '/static/images/avatars/avatar_8.png',\n commonConnections: 1,\n name: 'Miller Edwards',\n status: 'connected'\n }\n ];\n\n return [200, { connections }];\n});\n\nmock.onGet('/api/social/posts').reply(() => {\n const posts = [\n {\n id: '5e887faca2b7a1ddce01221a',\n author: {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith'\n },\n comments: [\n {\n id: '5e887fc17162ba254da30771',\n author: {\n id: '5e887b7602bdbc4dbb234b27',\n avatar: '/static/images/avatars/avatar_5.png',\n name: 'Anje Keizer'\n },\n createdAt: moment()\n .subtract(3, 'hours')\n .toDate()\n .getTime(),\n message: 'Could use some more statistics, but that’s me haha'\n },\n {\n id: '5e887fc759bebe8d5d54a2e5',\n author: {\n id: '5e887a1fbefd7938eea9c981',\n avatar: '/static/images/avatars/avatar_8.png',\n name: 'Miller Edwards'\n },\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n message: 'Hmm, honestly this looks nice but I would change the shadow though',\n }\n ],\n createdAt: moment()\n .subtract(4, 'hours')\n .toDate()\n .getTime(),\n isLiked: true,\n likes: 24,\n media: '/static/images/posts/post_1.png',\n message: 'Just made this home screen for a project, what-cha thinkin?'\n },\n {\n id: '5e887faf03e78a5359765636',\n author: {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith'\n },\n comments: [\n {\n id: '5e887fde4992eca63b9e9ef5',\n author: {\n id: '5e8877da9a65442b11551975',\n avatar: '/static/images/avatars/avatar_11.png',\n name: 'Shen Zhi'\n },\n createdAt: moment()\n .subtract(3, 'hours')\n .toDate()\n .getTime(),\n message: 'That’s actually deep. Thanks for the design, would you consider making an interaction?'\n },\n {\n id: '5e887feb11b7add1ebfcca78',\n author: {\n id: '5e887b209c28ac3dd97f6db5',\n avatar: '/static/images/avatars/avatar_4.png',\n name: 'Alex Richardson'\n },\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n message: 'Oh... so sentimental'\n }\n ],\n createdAt: moment()\n .subtract(7, 'hours')\n .toDate()\n .getTime(),\n isLiked: false,\n likes: 65,\n message: '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.'\n }\n ];\n\n return [200, { posts }];\n});\n\nmock.onGet('/api/social/feed').reply(() => {\n const posts = [\n {\n id: '5e887fa38598b6fe61667757',\n author: {\n id: '5e88792be2d4cfb4bf0971d9',\n avatar: '/static/images/avatars/avatar_10.png',\n name: 'Elliott Stone'\n },\n comments: [\n {\n id: '5e887fb6c648772b52f860a8',\n author: {\n id: '5e8680e60cba5019c5ca6fda',\n avatar: '/static/images/avatars/avatar_12.png',\n name: 'Merrile Burgett'\n },\n createdAt: moment()\n .subtract(3, 'hours')\n .toDate()\n .getTime(),\n message: 'I\\'ve been using Angular for the past 3 years'\n }\n ],\n createdAt: moment()\n .subtract(16, 'minutes')\n .toDate()\n .getTime(),\n isLiked: true,\n likes: 1,\n message: 'Hey guys! What\\'s your favorite framework?'\n },\n {\n id: '5e887faca2b7a1ddce01221a',\n author: {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Zhi'\n },\n comments: [\n {\n id: '5e887fc17162ba254da30771',\n author: {\n id: '5e887b7602bdbc4dbb234b27',\n avatar: '/static/images/avatars/avatar_5.png',\n name: 'Anje Keizer'\n },\n createdAt: moment()\n .subtract(3, 'hours')\n .toDate()\n .getTime(),\n message: 'Could use some more statistics, but that’s me haha'\n },\n {\n id: '5e887fc759bebe8d5d54a2e5',\n author: {\n id: '5e887a1fbefd7938eea9c981',\n avatar: '/static/images/avatars/avatar_8.png',\n name: 'Miller Edwards'\n },\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n message: 'Hmm, honestly this looks nice but I would change the shadow though'\n }\n ],\n createdAt: moment()\n .subtract(4, 'hours')\n .toDate()\n .getTime(),\n isLiked: true,\n likes: 24,\n media: '/static/images/posts/post_1.png',\n message: 'Just made this home screen for a project, what-cha thinkin?'\n },\n {\n id: '5e887faf03e78a5359765636',\n author: {\n id: '5e86809283e28b96d2d38537',\n avatar: '/static/images/avatars/avatar_6.png',\n name: 'Katarina Smith'\n },\n comments: [\n {\n id: '5e887fde4992eca63b9e9ef5',\n author: {\n id: '5e8877da9a65442b11551975',\n name: 'Shen Zhi',\n avatar: '/static/images/avatars/avatar_11.png'\n },\n createdAt: moment()\n .subtract(3, 'hours')\n .toDate()\n .getTime(),\n message: 'That’s actually deep. Thanks for the design, would you consider making an interaction?'\n },\n {\n id: '5e887feb11b7add1ebfcca78',\n author: {\n id: '5e887b209c28ac3dd97f6db5',\n name: 'Alex Richardson',\n avatar: '/static/images/avatars/avatar_4.png'\n },\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n message: 'Oh... so sentimental'\n }\n ],\n createdAt: moment()\n .subtract(7, 'hours')\n .toDate()\n .getTime(),\n isLiked: false,\n likes: 65,\n message: '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.'\n }\n ];\n\n return [200, { posts }];\n});\n","import { Chart } from 'react-chartjs-2';\n\n// ChartJS extension rounded bar chart\n// https://codepen.io/jedtrow/full/ygRYgo\nfunction draw() {\n const { ctx } = this._chart;\n const vm = this._view;\n let { borderWidth } = vm;\n\n let left;\n let right;\n let top;\n let bottom;\n let signX;\n let signY;\n let borderSkipped;\n let radius;\n\n // If radius is less than 0 or is large enough to cause drawing errors a max\n // radius is imposed. If cornerRadius is not defined set it to 0.\n let { cornerRadius } = this._chart.config.options;\n if (cornerRadius < 0) {\n cornerRadius = 0;\n }\n\n if (typeof cornerRadius === 'undefined') {\n cornerRadius = 0;\n }\n\n if (!vm.horizontal) {\n // bar\n left = vm.x - vm.width / 2;\n right = vm.x + vm.width / 2;\n top = vm.y;\n bottom = vm.base;\n signX = 1;\n signY = bottom > top ? 1 : -1;\n borderSkipped = vm.borderSkipped || 'bottom';\n } else {\n // horizontal bar\n left = vm.base;\n right = vm.x;\n top = vm.y - vm.height / 2;\n bottom = vm.y + vm.height / 2;\n signX = right > left ? 1 : -1;\n signY = 1;\n borderSkipped = vm.borderSkipped || 'left';\n }\n\n // Canvas doesn't allow us to stroke inside the width so we can\n // adjust the sizes to fit if we're setting a stroke on the line\n if (borderWidth) {\n // borderWidth shold be less than bar width and bar height.\n const barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\n borderWidth = borderWidth > barSize ? barSize : borderWidth;\n const halfStroke = borderWidth / 2;\n // Adjust borderWidth when bar top position is near vm.base(zero).\n const borderLeft = left + (borderSkipped !== 'left' ? halfStroke * signX : 0);\n const borderRight = right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\n const borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);\n const borderBottom = bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\n // not become a vertical line?\n if (borderLeft !== borderRight) {\n top = borderTop;\n bottom = borderBottom;\n }\n // not become a horizontal line?\n if (borderTop !== borderBottom) {\n left = borderLeft;\n right = borderRight;\n }\n }\n\n ctx.beginPath();\n ctx.fillStyle = vm.backgroundColor;\n ctx.strokeStyle = vm.borderColor;\n ctx.lineWidth = borderWidth;\n\n // Corner points, from bottom-left to bottom-right clockwise\n // | 1 2 |\n // | 0 3 |\n const corners = [[left, bottom], [left, top], [right, top], [right, bottom]];\n\n // Find first (starting) corner with fallback to 'bottom'\n const borders = ['bottom', 'left', 'top', 'right'];\n let startCorner = borders.indexOf(borderSkipped, 0);\n if (startCorner === -1) {\n startCorner = 0;\n }\n\n function cornerAt(index) {\n return corners[(startCorner + index) % 4];\n }\n\n // Draw rectangle from 'startCorner'\n let corner = cornerAt(0);\n ctx.moveTo(corner[0], corner[1]);\n\n for (let i = 1; i < 4; i += 1) {\n corner = cornerAt(i);\n let nextCornerId = i + 1;\n if (nextCornerId === 4) {\n nextCornerId = 0;\n }\n\n const width = corners[2][0] - corners[1][0];\n const height = corners[0][1] - corners[1][1];\n const x = corners[1][0];\n const y = corners[1][1];\n\n radius = cornerRadius;\n // Fix radius being too large\n if (radius > Math.abs(height) / 2) {\n radius = Math.floor(Math.abs(height) / 2);\n }\n if (radius > Math.abs(width) / 2) {\n radius = Math.floor(Math.abs(width) / 2);\n }\n\n if (height < 0) {\n // Negative values in a standard bar chart\n const xTl = x;\n const xTr = x + width;\n const yTl = y + height;\n const yTr = y + height;\n\n const xBl = x;\n const xBr = x + width;\n const yBl = y;\n const yBr = y;\n\n // Draw\n ctx.moveTo(xBl + radius, yBl);\n ctx.lineTo(xBr - radius, yBr);\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\n ctx.lineTo(xTr, yTr + radius);\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\n ctx.lineTo(xTl + radius, yTl);\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\n ctx.lineTo(xBl, yBl - radius);\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\n } else if (width < 0) {\n // Negative values in a horizontal bar chart\n const xTl = x + width;\n const xTr = x;\n const yTl = y;\n const yTr = y;\n\n const xBl = x + width;\n const xBr = x;\n const yBl = y + height;\n const yBr = y + height;\n\n // Draw\n ctx.moveTo(xBl + radius, yBl);\n ctx.lineTo(xBr - radius, yBr);\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\n ctx.lineTo(xTr, yTr + radius);\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\n ctx.lineTo(xTl + radius, yTl);\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\n ctx.lineTo(xBl, yBl - radius);\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\n } else {\n // Positive Value\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(\n x + width,\n y + height,\n x + width - radius,\n y + height\n );\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n }\n }\n\n ctx.fill();\n if (borderWidth) {\n ctx.stroke();\n }\n}\n\nChart.helpers.extend(Chart.elements.Rectangle.prototype, {\n draw\n});\n","/* eslint-disable */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in projection, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'projection' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}","import React, {\n createContext,\n useEffect,\n useState\n} from 'react';\nimport _ from 'lodash';\nimport { THEMES } from 'src/constants';\n\nconst defaultSettings = {\n direction: 'ltr',\n responsiveFontSizes: true,\n theme: THEMES.ONE_DARK\n};\n\nexport const restoreSettings = () => {\n let settings = null;\n\n try {\n const storedData = window.localStorage.getItem('settings');\n\n if (storedData) {\n settings = JSON.parse(storedData);\n }\n } catch (err) {\n console.error(err);\n // If stored data is not a strigified JSON this will fail,\n // that's why we catch the error\n }\n\n return settings;\n};\n\nexport const storeSettings = (settings) => {\n window.localStorage.setItem('settings', JSON.stringify(settings));\n};\n\nconst SettingsContext = createContext({\n settings: defaultSettings,\n saveSettings: () => { }\n});\n\nexport const SettingsProvider = ({ settings, children }) => {\n const [currentSettings, setCurrentSettings] = useState(settings || defaultSettings);\n\n const handleSaveSettings = (update = {}) => {\n const mergedSettings = _.merge({}, currentSettings, update);\n\n setCurrentSettings(mergedSettings);\n storeSettings(mergedSettings);\n };\n\n useEffect(() => {\n const restoredSettings = restoreSettings();\n\n if (restoredSettings) {\n setCurrentSettings(restoredSettings);\n }\n }, []);\n\n useEffect(() => {\n document.dir = currentSettings.direction;\n }, [currentSettings]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const SettingsConsumer = SettingsContext.Consumer;\n\nexport default SettingsContext;\n","import { createStyles, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => createStyles({\n '@global': {\n '*': {\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n },\n html: {\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n height: '100%',\n width: '100%'\n },\n body: {\n height: '100%',\n width: '100%'\n },\n '#root': {\n height: '100%',\n width: '100%'\n }\n }\n}));\n\nconst GlobalStyles = () => {\n useStyles();\n\n return null;\n};\n\nexport default GlobalStyles;\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nconst useScrollReset = () => {\n const location = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [location.pathname]);\n\n return null;\n};\n\nexport default useScrollReset;\n","import useScrollReset from 'src/hooks/useScrollReset';\n\nconst ScrollReset = () => {\n useScrollReset();\n\n return null;\n};\n\nexport default ScrollReset;\n","import { useContext } from 'react'; \nimport SettingsContext from 'src/contexts/SettingsContext';\n\nconst useSettings = () => useContext(SettingsContext);\n\nexport default useSettings;\n","import React, {\n useState,\n useEffect\n} from 'react';\nimport Cookies from 'js-cookie';\nimport {\n Box,\n Button,\n Link,\n Portal,\n Typography,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.common.black,\n color: theme.palette.common.white,\n maxWidth: 600,\n position: 'fixed',\n bottom: 0,\n left: 0,\n margin: theme.spacing(3),\n padding: theme.spacing(3),\n outline: 'none',\n zIndex: 2000\n },\n action: {\n backgroundColor: theme.palette.common.white,\n color: theme.palette.common.black\n }\n}));\n\nconst CookiesNotification = () => {\n const classes = useStyles();\n const [open, setOpen] = useState(false);\n\n const handleClose = () => {\n Cookies.set('consent', 'true');\n setOpen(false);\n };\n\n useEffect(() => {\n const consent = Cookies.get('consent');\n\n if (!consent) {\n setOpen(true);\n }\n }, []);\n\n if (!open) {\n return null;\n }\n\n return (\n \n
\n \n We use Cookies to ensure that we give you the best experience on our\n website. Read our\n {' '}\n \n Privacy Policy\n \n .\n \n \n \n I Agree\n \n \n
\n
\n );\n};\n\nexport default CookiesNotification;\n","import React from 'react';\nimport { Helmet } from 'react-helmet';\n\nconst GA_MEASUREMENT_ID = process.env.REACT_APP_GA_MEASUREMENT_ID;\n\nconst GoogleAnalytics = () => {\n return (\n \n \n \n \n );\n};\n\nexport default GoogleAnalytics;\n","import React, {\n useState,\n useEffect\n} from 'react';\nimport Cookies from 'js-cookie';\nimport {\n Box,\n Button,\n Paper,\n Portal,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport useSettings from 'src/hooks/useSettings';\nimport { THEMES } from 'src/constants';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n maxWidth: 420,\n position: 'fixed',\n top: 0,\n right: 0,\n margin: theme.spacing(3),\n outline: 'none',\n zIndex: 2000,\n padding: theme.spacing(2)\n }\n}));\n\nconst SettingsNotification = () => {\n const classes = useStyles();\n const [isOpen, setOpen] = useState(false);\n const { saveSettings } = useSettings();\n\n const handleSwitch = () => {\n saveSettings({ theme: THEMES.LIGHT });\n Cookies.set('settingsUpdated', 'true');\n setOpen(false);\n };\n\n const handleClose = () => {\n Cookies.set('settingsUpdated', 'true');\n setOpen(false);\n };\n\n useEffect(() => {\n const settingsUpdated = Cookies.get('settingsUpdated');\n\n if (!settingsUpdated) {\n setOpen(true);\n }\n }, []);\n\n if (!isOpen) {\n return null;\n }\n\n return (\n \n \n \n Settings Updated\n \n \n We automatically updated your settings.\n You change the settings any time from your dashboard settings.\n \n \n \n \n Switch\n \n \n \n \n );\n};\n\nexport default SettingsNotification;\n","export const softShadows = [\n 'none',\n '0 0 0 1px rgba(63,63,68,0.05), 0 1px 2px 0 rgba(63,63,68,0.15)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 2px 2px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 8px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 5px 8px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 12px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 12px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 16px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 16px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 8px 18px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 9px 18px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 10px 20px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 11px 20px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 12px 22px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 13px 22px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 14px 24px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 16px 28px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 18px 30px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 20px 32px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 22px 34px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 24px 36px -8px rgba(0,0,0,0.25)'\n];\n\nexport const strongShadows = [\n 'none',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 2px 2px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 6px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 6px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 8px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 5px 8px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 6px 12px -4px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 7px 12px -4px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 6px 16px -4px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 7px 16px -4px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 8px 18px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 9px 18px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 10px 20px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 11px 20px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 12px 22px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 13px 22px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 14px 24px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 16px 28px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 18px 30px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 20px 32px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 22px 34px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 24px 36px -8px rgba(0,0,0,0.50)'\n];\n","import _ from 'lodash';\nimport {\n colors,\n createMuiTheme,\n responsiveFontSizes\n} from '@material-ui/core';\nimport { THEMES } from 'src/constants';\nimport { softShadows, strongShadows } from './shadows';\nimport typography from './typography';\n\nconst baseOptions = {\n direction: 'ltr',\n typography,\n overrides: {\n MuiLinearProgress: {\n root: {\n borderRadius: 3,\n overflow: 'hidden'\n }\n },\n MuiListItemIcon: {\n root: {\n minWidth: 32\n }\n },\n MuiChip: {\n root: {\n backgroundColor: 'rgba(0,0,0,0.075)'\n }\n }\n }\n};\n\nconst themesOptions = [\n {\n name: THEMES.LIGHT,\n overrides: {\n MuiInputBase: {\n input: {\n '&::placeholder': {\n opacity: 1,\n color: '#0c96a0' // Viridian Green for placeholder\n }\n }\n }\n },\n palette: {\n type: 'light',\n action: {\n active: '#0b1f26' // Dark Jungle Green for active actions\n },\n background: {\n default: '#ffffff', // White\n dark: '#f4f6f8',\n paper: '#ffffff' // White\n },\n primary: {\n main: '#0b1f26' // Dark Jungle Green\n },\n secondary: {\n main: '#0c96a0' // Pastel Yellow\n },\n text: {\n primary: '#0b1f26', // Dark Jungle Green\n secondary: '#0b1f26' // Viridian Green\n }\n },\n shadows: softShadows\n },\n {\n name: THEMES.ONE_DARK,\n palette: {\n type: 'dark',\n action: {\n active: '#fff29c', // Dark Jungle Green\n hover: '#0c96a0', // Viridian Green\n selected: '#0c96a0', // Viridian Green\n disabled: 'rgba(255, 255, 255, 0.26)', // White with opacity\n disabledBackground: 'rgba(255, 255, 255, 0.12)', // White with opacity\n focus: 'rgba(255, 255, 255, 0.12)' // White with opacity\n },\n background: {\n default: '#0b1f26', // Dark Jungle Green\n dark: '#091b22', // Viridian Green\n paper: '#0b1f26' // Dark Jungle Green\n },\n primary: {\n main: '#0c96a0' // Viridian Green\n },\n secondary: {\n main: '#fff29c' // Pastel Yellow\n },\n text: {\n primary: '#ffffff', // White\n secondary: '#ffffff' // White\n }\n },\n shadows: strongShadows\n },\n {\n name: THEMES.UNICORN,\n palette: {\n type: 'dark',\n action: {\n active: '#0b1f26', // Dark Jungle Green\n hover: '#0c96a0', // Viridian Green\n selected: '#0c96a0', // Viridian Green\n disabled: 'rgba(255, 255, 255, 0.26)', // White with opacity\n disabledBackground: 'rgba(255, 255, 255, 0.12)', // White with opacity\n focus: 'rgba(255, 255, 255, 0.12)' // White with opacity\n },\n background: {\n default: '#0b1f26', // Dark Jungle Green\n dark: '#0c96a0', // Viridian Green\n paper: '#0b1f26' // Dark Jungle Green\n },\n primary: {\n main: '#0c96a0' // Viridian Green\n },\n secondary: {\n main: '#fff29c' // Pastel Yellow\n },\n text: {\n primary: '#ffffff', // White\n secondary: '#ffffff' // White\n }\n },\n shadows: strongShadows\n }\n];\n\nexport const createTheme = (config = {}) => {\n let themeOptions = themesOptions.find((theme) => theme.name === config.theme);\n\n if (!themeOptions) {\n console.warn(new Error(`The theme ${config.theme} is not valid`));\n [themeOptions] = themesOptions;\n }\n\n let theme = createMuiTheme(\n _.merge(\n {},\n baseOptions,\n themeOptions,\n { direction: config.direction }\n )\n );\n\n if (config.responsiveFontSizes) {\n theme = responsiveFontSizes(theme);\n }\n\n return theme;\n}","export default {\n h1: {\n fontWeight: 500,\n fontSize: 35,\n letterSpacing: '-0.24px'\n },\n h2: {\n fontWeight: 500,\n fontSize: 29,\n letterSpacing: '-0.24px'\n },\n h3: {\n fontWeight: 500,\n fontSize: 24,\n letterSpacing: '-0.06px'\n },\n h4: {\n fontWeight: 500,\n fontSize: 20,\n letterSpacing: '-0.06px'\n },\n h5: {\n fontWeight: 500,\n fontSize: 16,\n letterSpacing: '-0.05px'\n },\n h6: {\n fontWeight: 500,\n fontSize: 14,\n letterSpacing: '-0.05px'\n },\n overline: {\n fontWeight: 500\n }\n};\n","import React, { useState } from 'react';\nimport { NavLink as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n Collapse,\n ListItem,\n makeStyles\n} from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\n\nconst useStyles = makeStyles((theme) => ({\n item: {\n display: 'block',\n paddingTop: 0,\n paddingBottom: 0\n },\n itemLeaf: {\n display: 'flex',\n paddingTop: 0,\n paddingBottom: 0\n },\n button: {\n color: theme.palette.text.secondary,\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%'\n },\n buttonLeaf: {\n color: theme.palette.text.secondary,\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%',\n fontWeight: theme.typography.fontWeightRegular,\n '&.depth-0': {\n '& $title': {\n fontWeight: theme.typography.fontWeightMedium\n }\n }\n },\n icon: {\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(1)\n },\n title: {\n marginRight: 'auto'\n },\n active: {\n color: theme.palette.secondary.main,\n '& $title': {\n fontWeight: theme.typography.fontWeightMedium\n },\n '& $icon': {\n color: theme.palette.secondary.main\n }\n }\n}));\n\nconst NavItem = ({\n children,\n className,\n depth,\n href,\n icon: Icon,\n info: Info,\n open: openProp,\n title,\n ...rest\n}) => {\n const classes = useStyles();\n const [open, setOpen] = useState(openProp);\n\n const handleToggle = () => {\n setOpen((prevOpen) => !prevOpen);\n };\n\n let paddingLeft = 8;\n\n if (depth > 0) {\n paddingLeft = 32 + 8 * depth;\n }\n\n const style = { paddingLeft };\n\n if (children) {\n return (\n \n \n {Icon && (\n \n )}\n \n {title}\n \n {open ? : }\n \n \n {children}\n \n \n );\n }\n\n return (\n \n \n {Icon && (\n \n )}\n \n {title}\n \n {Info && }\n \n \n );\n};\n\nNavItem.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n depth: PropTypes.number.isRequired,\n href: PropTypes.string,\n icon: PropTypes.elementType,\n info: PropTypes.elementType,\n open: PropTypes.bool,\n title: PropTypes.string.isRequired\n};\n\nNavItem.defaultProps = {\n open: false\n};\n\nexport default NavItem;\n","import React, { Fragment, useEffect, useRef, useState } from 'react'\nimport { Box, Button, Collapse, Grid, IconButton, InputAdornment, List, ListItem, ListSubheader, makeStyles, Popover, TextField, Typography } from '@material-ui/core'\nimport { Link as RouterLink, useHistory } from 'react-router-dom'\nimport clsx from 'clsx'\nimport { CheckCircle, Close, ExpandLess, ExpandMore, Menu, MoreVert } from '@material-ui/icons'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { setOptionSidebar } from 'src/slices/sidebarManagementSettingSlice'\nimport axios from 'src/utils/axios'\nimport { useSnackbar } from 'notistack'\nimport { getSidebarData } from 'src/slices/sidebarSlice'\nimport LoadingScreen from 'src/components/LoadingScreen'\nimport { DndContext, useDraggable, useDroppable } from '@dnd-kit/core'\nimport routes from 'src/routes'\nimport useAuth from 'src/hooks/useAuth'\nimport { MuiIcons } from 'src/iconsConstants'\n\nconst useStyles = makeStyles((theme) => ({\n item: {\n display: 'block',\n paddingTop: 0,\n paddingBottom: 0\n },\n itemLeaf: {\n display: 'flex',\n paddingTop: 0,\n paddingBottom: 0\n },\n button: {\n color: theme.palette.text.secondary,\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%'\n },\n buttonLeaf: {\n color: theme.palette.text.secondary,\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%',\n fontWeight: theme.typography.fontWeightRegular,\n '&.depth-0': {\n '& $title': {\n fontWeight: theme.typography.fontWeightMedium\n }\n }\n },\n icon: {\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(1)\n },\n title: {\n marginRight: 'auto',\n opacity: '0.80',\n fontSize: '14px',\n fontStyle: 'normal',\n fontWeight: '500',\n lineHeight: '16px',\n letterSpacing: '-0.28px',\n textAlign: 'start'\n },\n active: {\n color: theme.palette.secondary.main,\n '& $title': {\n fontWeight: theme.typography.fontWeightMedium\n },\n '& $icon': {\n color: theme.palette.secondary.main\n }\n }\n}))\n\nconst Draggable = ({ id, children, isDraggable }) => {\n\n const { attributes, listeners, setNodeRef, transform } = useDraggable({ id })\n\n const style = {\n transform: transform ? `translate3d(${transform.x}px, ${transform.y}px, 0)` : undefined,\n cursor: 'grab'\n }\n\n return isDraggable ? (\n \n {children}\n \n ) : (\n \n {children}\n \n )\n}\n\nconst Droppable = ({ id, onDrop, children }) => {\n \n const { setNodeRef } = useDroppable({ id })\n\n return (\n onDrop(id)}>\n {children}\n \n )\n}\n\nconst GroupPopOver = ({ openSetting, anchorEl, onClose, selectedGroupId, setSelectedGroupId, handleClosePopOver, selectRenameState, setSelectRenameData }) => {\n\n const dispatch = useDispatch()\n const { enqueueSnackbar } = useSnackbar()\n\n const handleDeleteGroup = async () => {\n try {\n const deleteGroupReq = await axios.delete(`/api/AccessManagements/groups/remove/${selectedGroupId?.id}`)\n\n if(deleteGroupReq.status === 200 || deleteGroupReq.status === 201 || deleteGroupReq.status === 202) {\n setSelectedGroupId({ id: null, isDefaultgroup: null })\n dispatch(getSidebarData())\n dispatch(setOptionSidebar(0))\n handleClosePopOver()\n }\n } catch (error) {\n if(Array.isArray(error?.messages)) {\n enqueueSnackbar(error?.messages[0]?.description, { variant: 'error' })\n } else {\n enqueueSnackbar(error?.message, { variant: 'error' })\n }\n }\n }\n\n return (\n \n \n {\n if(selectRenameState) {\n setSelectRenameData({\n id: selectRenameState?.id,\n name: selectRenameState?.name\n })\n handleClosePopOver()\n }\n }}\n >\n Rename Group\n \n \n Delete Group\n \n \n \n )\n}\n \nconst NewSideBar = ({ loading, data }) => {\n\n const dispatch = useDispatch()\n const classes = useStyles()\n const history = useHistory()\n const { user } = useAuth()\n const { enqueueSnackbar } = useSnackbar()\n\n const { optionId } = useSelector((state) => state.sidebarManagement)\n\n const getPaths = (routes) => {\n return routes.flatMap((route) => {\n const paths = route.path ? [route.path] : []\n \n if (route.routes) {\n const nestedPaths = getPaths(route.routes)\n return [...paths, ...nestedPaths]\n }\n \n return paths\n })\n }\n\n const dynamicPaths = data?.flatMap((group) => group?.features?.map((feature) => feature?.uri?.toLowerCase())) || []\n const staticPaths = getPaths(routes)?.map(path => typeof path === 'string' ? path.toLowerCase() : path)\n\n const [name, setName] = useState('')\n const [expendListId, setExpendListId] = useState(0)\n const [popoverState, setPopoverState] = useState({ openId: null, anchorEl: null })\n const [loadingReq, setLoadingReq] = useState(false)\n const [selectedGroupId, setSelectedGroupId] = useState({ id: null, isDefaultgroup: null })\n const [selectRenameState, setSelectRenameState] = useState(null)\n const [selectRenameData, setSelectRenameData] = useState(null)\n const [newGroupName, setNewGroupName] = useState('')\n const [loadingNameChange, setLoadingNameChange] = useState(false)\n\n const handleCreateNewGroup = async () => {\n setLoadingReq(true)\n try {\n const createNewGroupReq = await axios.post('/api/AccessManagements/groups/new', { name: name })\n\n if(createNewGroupReq.status === 200 || createNewGroupReq.status === 201 || createNewGroupReq.status === 202 ) {\n dispatch(setOptionSidebar(0))\n setName('')\n dispatch(getSidebarData())\n setLoadingReq(false)\n }\n } catch (error) {\n if(Array.isArray(error?.messages)) {\n enqueueSnackbar(error?.messages[0]?.description, { variant: 'error' })\n } else {\n enqueueSnackbar(error?.message, { variant: 'error' })\n }\n setLoadingReq(false)\n }\n }\n\n const handleOpenUpCollapse = (id) => {\n if(optionId !== 2) {\n setExpendListId((prev) => (prev === id) ? null : id)\n }\n }\n\n const handleOpenPopOver = (id, event, defaultGroup, elements) => {\n setSelectedGroupId({ id: id, isDefaultgroup: defaultGroup })\n setPopoverState({ openId: id, anchorEl: event.currentTarget })\n setSelectRenameState(elements)\n }\n\n const handleClosePopOver = () => {\n setPopoverState({ openId: null, anchorEl: null })\n setSelectRenameState(null)\n }\n\n const handleDragEnd = async (event) => {\n const { active, over } = event\n\n if (!active || !over || active.id === over.id) return\n\n const featureGroupId = over.id.split('-')[1]\n const featureId = active.id.split('-')[1]\n\n try {\n const changeFeatureReq = await axios.post('/api/AccessManagements/features/dnd-in-group', {\n featureGroupId: Number(featureGroupId),\n featureId: Number(featureId)\n })\n\n if(changeFeatureReq.status === 200 || changeFeatureReq.status === 201 || changeFeatureReq.status === 202) {\n dispatch(getSidebarData())\n }\n } catch (error) {\n if(Array.isArray(error?.messages)) {\n enqueueSnackbar(error?.messages[0]?.description, { variant: 'error' })\n } else {\n enqueueSnackbar(error?.message, { variant: 'error' })\n }\n }\n }\n\n const handleCheckUrl = (URL) => {\n\n let modifiedUrl = URL.startsWith('/') ? URL : `/${URL}`\n\n if(staticPaths?.includes(modifiedUrl?.toLowerCase())) {\n history.push(modifiedUrl)\n } else {\n history.push('/app/under-construction')\n }\n }\n\n const handleChangeGroupName = async () => {\n setLoadingNameChange(true)\n try {\n const response = await axios.put('/api/AccessManagements/groups/rename', {\n groupId: selectRenameData?.id,\n name: newGroupName\n })\n\n if(response.status === 200 || response.status === 200 || response.status === 201 || response.status === 202) {\n setNewGroupName('')\n setSelectRenameData(null)\n setSelectRenameState(null)\n setLoadingNameChange(false)\n dispatch(getSidebarData())\n }\n } catch (error) {\n setLoadingNameChange(false)\n enqueueSnackbar(error?.message, { variant: 'error' })\n }\n }\n\n useEffect(() => {\n if(selectRenameData && optionId === 0) {\n setSelectRenameData(null)\n }\n }, [optionId])\n\n useEffect(() => {\n if(selectRenameData && selectRenameState) {\n setNewGroupName(selectRenameData?.name)\n }\n }, [selectRenameData, selectRenameState])\n\n return (\n \n {\n // user?.roles?.includes('Administrator') && (\n !loading && data && data?.map(elements => (\n console.log(`Dropped on ${id}`)}>\n \n {selectRenameData !== null && elements?.id === selectRenameData?.id ? \n (\n \n {loadingNameChange ? :\n setNewGroupName(e.target.value)}\n InputProps={{\n endAdornment: (\n \n {\n setNewGroupName('')\n setSelectRenameData(null)\n setSelectRenameState(null)\n }}>\n \n \n handleChangeGroupName()}>\n \n \n \n )\n }}\n />\n }\n \n )\n : \n (\n handleOpenUpCollapse(elements?.id)}\n >\n \n {elements?.name}\n \n {optionId !== 2 ? \n expendListId === elements?.id ? : \n :\n handleOpenPopOver(elements?.id, e, elements?.isDefaultgroup, elements)}>\n \n \n }\n \n )}\n \n }\n > \n \n \n {elements?.features?.map(feature => {\n\n const IconComponent = MuiIcons[feature?.icon]\n\n return (\n \n \n {\n handleCheckUrl(feature?.uri)\n }\n })}\n >\n {optionId === 2 && (\n \n \n \n \n \n )}\n {IconComponent && (\n \n )}\n = 17 ? '12px' : ''\n // }}\n >\n {feature?.title}\n \n \n \n \n )\n })}\n \n \n \n ))\n }\n {optionId === 1 && (\n loadingReq ? \n \n :\n setName(e.target.value)}\n variant='standard'\n color='primary'\n size='small'\n InputProps={{\n endAdornment: (\n \n \n \n )\n }}\n />\n )}\n \n )\n}\n\nexport default NewSideBar","import { Box, Button, ListItem, Popover } from '@material-ui/core'\nimport { Cancel, CheckCircle } from '@material-ui/icons'\nimport React, { useRef } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { openSidebarSetting, setOptionSidebar } from 'src/slices/sidebarManagementSettingSlice'\n\nconst SideBarSettings = () => {\n\n const dispatch = useDispatch()\n const anchorRef = useRef(null)\n \n const { openSetting, optionId } = useSelector((state) => state.sidebarManagement)\n\n const handleOpenSideBarManagementMenu = () => {\n dispatch(openSidebarSetting(!openSetting))\n }\n\n const handleClickButton = (event) => {\n const buttonKey = event.currentTarget.getAttribute('data-key')\n dispatch(setOptionSidebar(Number(buttonKey)))\n if(buttonKey) {\n handleOpenSideBarManagementMenu()\n }\n }\n\n const handleCloseChangeGroupsAndSettings = () => {\n dispatch(setOptionSidebar(0))\n }\n\n return (\n \n \n {optionId === 2 ?\n \n \n \n \n :\n \n \n \n \n \n \n }\n \n \n \n \n \n Reorder Groups\n \n \n \n \n )\n}\n\nexport default SideBarSettings","\n/* eslint-disable no-use-before-define */\nimport React, { useEffect } from 'react';\nimport { useLocation, matchPath } from 'react-router-dom';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PerfectScrollbar from 'react-perfect-scrollbar';\nimport PropTypes from 'prop-types';\nimport {\n Avatar,\n Box,\n Button,\n Chip,\n Divider,\n Drawer,\n Hidden,\n Link,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n ListSubheader,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport ReceiptIcon from '@material-ui/icons/ReceiptOutlined';\nimport AssignmentIcon from '@material-ui/icons/Assignment';\nimport {\n Briefcase as BriefcaseIcon,\n Calendar as CalendarIcon,\n ShoppingCart as ShoppingCartIcon,\n Folder as FolderIcon,\n BarChart as BarChartIcon,\n Lock as LockIcon,\n UserPlus as UserPlusIcon,\n AlertCircle as AlertCircleIcon,\n Trello as TrelloIcon,\n User as UserIcon,\n Layout as LayoutIcon,\n Edit as EditIcon,\n BarChart2 as BarChart2Icon,\n DollarSign as DollarSignIcon,\n Mail as MailIcon,\n MessageCircle as MessageCircleIcon,\n PieChart as PieChartIcon,\n Share2 as ShareIcon,\n Users as UsersIcon,\n BookOpen as BookOpenIcon,\n Grid as GridIcon,\n Link as LinkIcon,\n Anchor as AnchorIcon,\n Truck as TruckIcon\n} from 'react-feather';\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\nimport AttachMoneyIcon from '@material-ui/icons/AttachMoney';\nimport EventNoteIcon from '@material-ui/icons/EventNote';\nimport VpnKeyIcon from '@material-ui/icons/VpnKey';\nimport SupervisedUserCircleIcon from '@material-ui/icons/SupervisedUserCircle';\nimport {\n AccountBalance,\n Group,\n LocalShipping,\n ReceiptTwoTone,\n PlaylistAddCheck,\n AccountBalanceWallet,\n DescriptionRounded\n} from '@material-ui/icons';\nimport Logo from 'src/components/Logo';\nimport useAuth from 'src/hooks/useAuth';\nimport NavItem from './NavItem';\nimport { ROLES } from 'src/constants';\nimport { useSelector, useDispatch } from 'react-redux'\nimport clsx from 'clsx';\nimport { getSidebarData } from 'src/slices/sidebarSlice';\nimport NewSideBar from './NewSideBar';\nimport SideBarSettings from '../TopBar/SideBarSettings';\n\nconst sections = [\n {\n subheader: 'Books',\n active: true,\n items: [\n {\n title: 'Book Orders',\n icon: BookOpenIcon,\n href: '/app/books/bookorders',\n roles: [ROLES.DISPATCHER, ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.BookOrderApprover, ROLES.DispatchManager]\n }\n // {\n // title: 'Other',\n // icon: BarChartIcon,\n // href: '/app/books/other',\n // roles: [ROLES.ADMINISTRATOR]\n // }\n ]\n },\n {\n subheader: 'Reports',\n active: true,\n items: [\n {\n title: 'Dashboard',\n href: '/app/dashboard',\n icon: BarChart2Icon,\n roles: [ \n ROLES.MANAGER,\n ROLES.FINANCE,\n ROLES.FINANCESUPER,\n ROLES.ADMINISTRATOR,\n ROLES.FleetManager,\n ROLES.CLAIMTRACKERTEAM,\n ROLES.DispatchManager]\n },\n {\n title: 'Weekly',\n icon: BarChartIcon,\n href: '/app/reports/weekly-report',\n roles: [ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER]\n },\n {\n title: 'Weekly-V2',\n icon: BarChartIcon,\n href: '/app/reports/weekly-finance',\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FleetManager, ROLES.FINANCE, ROLES.CLAIMTRACKERTEAM, ROLES.DispatchManager]\n },\n {\n title: 'Driver',\n icon: DirectionsCarIcon,\n href: '/app/reports/driver-report',\n roles: [ROLES.DRIVER, ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FleetManager]\n },\n {\n title: 'Dispatcher Salary',\n icon: AttachMoneyIcon,\n href: '/app/reports/dispatcher-salary-report',\n roles: [ROLES.DRIVER,\n ROLES.MANAGER,\n ROLES.ADMINISTRATOR,\n ROLES.DISPATCHER,\n ROLES.DispatchManager,\n ROLES.BANKING] //ROLES.DISPATCHER\n },\n {\n title: 'Event',\n icon: EventNoteIcon,\n href: '/app/reports/event-report',\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FleetManager, ROLES.DispatchManager]\n },\n {\n title: 'Evaluation',\n icon: BarChartIcon,\n href: '/app/reports/evaluation-report',\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER]\n },\n {\n title: 'Driver License',\n icon: AssignmentIcon,\n href: '/app/reports/driver-license',\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM]\n },\n {\n title: 'Claims Tracker',\n icon: PlaylistAddCheck,\n href: '/app/reports/claims-tracker',\n roles: [ROLES.CLAIMTRACKERTEAM, ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.DispatchManager]\n // permissions: ['Permission.ClaimTracker.View']\n },\n {\n title: 'Driver Balances',\n icon: AccountBalanceWallet,\n href: '/app/reports/driver-balance',\n roles: [ROLES.ADMINISTRATOR, ROLES.FINANCESUPER, ROLES.FINANCE, ROLES.FleetManager, ROLES.MANAGER, ROLES.CLAIMTRACKERTEAM]\n }\n ]\n },\n {\n subheader: 'Management',\n active: true,\n items: [\n {\n title: 'Shippers',\n icon: AnchorIcon,\n href: '/app/management/shipper-management',\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.DispatchManager]\n },\n {\n title: 'Users',\n icon: UserIcon,\n href: '/app/management/user-management',\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.DispatchManager]\n },\n {\n title: 'Vehicles',\n icon: LocalShipping,\n href: '/app/management/vehicles',\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM]\n },\n {\n title: 'Brokers',\n icon: Group,\n href: '/app/management/brokers',\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.DispatchManager]\n },\n {\n title: 'Performance Calendar',\n href: '/app/calendar',\n icon: CalendarIcon,\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FleetManager, ROLES.DispatchManager]\n // info: () => \n },\n {\n title: 'Carrier Management',\n icon: DescriptionRounded,\n href: '/app/management/carrier-management',\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER]\n }\n ]\n },\n {\n subheader: 'Finances',\n active: true,\n items: [\n // {\n // title: 'Driver Cash',\n // icon: AttachMoneyIcon,\n // href: '/app/finances/driver-receive-cash',\n // roles: [ROLES.ADMINISTRATOR, ROLES.FINANCESUPER]\n // },\n {\n title: 'Pay Bills',\n icon: AttachMoneyIcon,\n href: '/app/finances/pay-driver-bills',\n roles: [ROLES.ADMINISTRATOR, ROLES.FINANCESUPER, ROLES.MANAGER]\n },\n {\n title: 'Transactions',\n icon: ReceiptTwoTone,\n href: '/app/finances/driver-transactions',\n roles: [ROLES.FINANCESUPER, ROLES.FINANCE, ROLES.FleetManager, ROLES.MANAGER, ROLES.CLAIMTRACKERTEAM, ROLES.ADMINISTRATOR],\n // permissions: ['Permission.LocalTransaction.View']\n },\n {\n title: 'Bank',\n icon: AccountBalance,\n href: '/app/finances/match-transactions',\n roles: [ROLES.BANKING, ROLES.ADMINISTRATOR]\n },\n {\n title: 'Broker Fee',\n icon: SupervisedUserCircleIcon,\n href: '/app/broker-fee',\n roles: [\n ROLES.MANAGER,\n ROLES.FINANCE,\n ROLES.FINANCESUPER,\n ROLES.ADMINISTRATOR,\n ROLES.DispatchManager\n ]\n }\n ]\n },\n {\n subheader: 'Assignment',\n active: true,\n items: [\n {\n title: 'Driver-Dispatcher',\n icon: LinkIcon,\n href: '/app/management/driver-assignment',\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.DispatchManager]\n },\n {\n title: 'Vehicle & Card-Driver',\n icon: LinkIcon,\n href: '/app/management/vehicle-and-card-assignment',\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM]\n }\n ]\n },\n {\n subheader: 'Admin',\n active: true,\n items: [\n {\n title: 'Access Settings',\n icon: VpnKeyIcon,\n href: '/app/permissions',\n roles: [ROLES.ADMINISTRATOR]\n }\n ]\n },\n {\n subheader: 'Settings',\n active: true,\n items: [\n {\n title: 'Connected Apps',\n icon: GridIcon,\n href: '/app/settings',\n roles: [ROLES.ADMINISTRATOR]\n }\n ]\n },\n // {\n // subheader: 'Reports',\n // items: [\n // {\n // title: 'Dashboard',\n // icon: PieChartIcon,\n // href: '/app/reports/dashboard'\n // },\n // {\n // title: 'Dashboard Alternative',\n // icon: BarChartIcon,\n // href: '/app/reports/dashboard-alternative'\n // }\n // ]\n // },\n // {\n // subheader: 'Management',\n // items: [\n // {\n // title: 'Customers',\n // icon: UsersIcon,\n // href: '/app/management/customers',\n // items: [\n // {\n // title: 'List Customers',\n // href: '/app/management/customers'\n // },\n // {\n // title: 'View Customer',\n // href: '/app/management/customers/1'\n // },\n // {\n // title: 'Edit Customer',\n // href: '/app/management/customers/1/edit'\n // }\n // ]\n // },\n // {\n // title: 'Products',\n // icon: ShoppingCartIcon,\n // href: '/app/management/products',\n // items: [\n // {\n // title: 'List Products',\n // href: '/app/management/products'\n // },\n // {\n // title: 'Create Product',\n // href: '/app/management/products/create'\n // }\n // ]\n // },\n // {\n // title: 'Orders',\n // icon: FolderIcon,\n // href: '/app/management/orders',\n // items: [\n // {\n // title: 'List Orders',\n // href: '/app/management/orders'\n // },\n // {\n // title: 'View Order',\n // href: '/app/management/orders/1'\n // }\n // ]\n // },\n // {\n // title: 'Invoices',\n // icon: ReceiptIcon,\n // href: '/app/management/invoices',\n // items: [\n // {\n // title: 'List Invoices',\n // href: '/app/management/invoices'\n // },\n // {\n // title: 'View Invoice',\n // href: '/app/management/invoices/1'\n // }\n // ]\n // }\n // ]\n // },\n {\n subheader: 'Applications',\n items: [\n {\n title: 'Projects Platform',\n href: '/app/projects',\n icon: BriefcaseIcon,\n items: [\n {\n title: 'Overview',\n href: '/app/projects/overview'\n },\n {\n title: 'Browse Projects',\n href: '/app/projects/browse'\n },\n {\n title: 'Create Project',\n href: '/app/projects/create'\n },\n {\n title: 'View Project',\n href: '/app/projects/1'\n }\n ]\n },\n {\n title: 'Social Platform',\n href: '/app/social',\n icon: ShareIcon,\n items: [\n {\n title: 'Profile',\n href: '/app/social/profile'\n },\n {\n title: 'Feed',\n href: '/app/social/feed'\n }\n ]\n },\n {\n title: 'Kanban',\n href: '/app/kanban',\n icon: TrelloIcon\n },\n {\n title: 'Mail',\n href: '/app/mail',\n icon: MailIcon\n },\n {\n title: 'Chat',\n href: '/app/chat',\n icon: MessageCircleIcon,\n info: () => \n }\n ]\n },\n {\n subheader: 'Auth',\n items: [\n {\n title: 'Login',\n href: '/login-unprotected',\n icon: LockIcon\n },\n {\n title: 'Register',\n href: '/register-unprotected',\n icon: UserPlusIcon\n }\n ]\n },\n {\n subheader: 'Pages',\n items: [\n {\n title: 'Dashboard',\n href: '/app/dashboard',\n icon: BarChart2Icon\n },\n {\n title: 'Account',\n href: '/app/account',\n icon: UserIcon\n },\n {\n title: 'Error',\n href: '/404',\n icon: AlertCircleIcon\n },\n {\n title: 'Pricing',\n href: '/pricing',\n icon: DollarSignIcon\n }\n ]\n },\n {\n subheader: 'Extra',\n items: [\n {\n title: 'Charts',\n href: '/app/extra/charts',\n icon: BarChartIcon,\n items: [\n {\n title: 'Apex Charts',\n href: '/app/extra/charts/apex'\n }\n ]\n },\n {\n title: 'Forms',\n href: '/app/extra/forms',\n icon: EditIcon,\n items: [\n {\n title: 'Formik',\n href: '/app/extra/forms/formik'\n },\n {\n title: 'Redux Forms',\n href: '/app/extra/forms/redux'\n }\n ]\n },\n {\n title: 'Editors',\n href: '/app/extra/editors',\n icon: LayoutIcon,\n items: [\n {\n title: 'DraftJS Editor',\n href: '/app/extra/editors/draft-js'\n },\n {\n title: 'Quill Editor',\n href: '/app/extra/editors/quill'\n }\n ]\n }\n ]\n }\n];\n\nfunction renderNavItems({\n items,\n pathname,\n depth = 0,\n userroles,\n // userPermissions\n}) {\n return (\n \n {items.reduce(\n (acc, item) =>\n reduceChildRoutes({\n acc,\n item,\n pathname,\n depth,\n userroles,\n }),\n []\n )}\n \n );\n}\n\nfunction reduceChildRoutes({\n acc,\n pathname,\n item,\n depth,\n userroles,\n // userPermissions\n}) {\n const key = item.title + depth;\n\n if (\n process.env.NODE_ENV !== 'development' &&\n !item.roles?.some(r => userroles?.includes(r))\n // !item.permissions?.some(p => userPermissions?.includes(p))\n )\n return acc;\n\n if (item.items) {\n const open = matchPath(pathname, {\n path: item.href,\n exact: false\n });\n\n acc.push(\n \n {renderNavItems({\n depth: depth + 1,\n pathname,\n items: item.items,\n userroles\n })}\n \n );\n } else {\n acc.push(\n \n );\n }\n\n return acc;\n}\n\nconst useStyles = makeStyles((theme) => ({\n mobileDrawer: {\n width: 190\n },\n desktopDrawer: {\n width: 195,\n top: 64,\n height: 'calc(100% - 64px)'\n },\n avatar: {\n cursor: 'pointer',\n width: 64,\n height: 64\n },\n}));\n\nconst NavBar = ({ onMobileClose, openMobile }) => {\n const classes = useStyles();\n const location = useLocation();\n let { user, userTypes } = useAuth();\n const dispatch = useDispatch()\n\n useEffect(() => {\n dispatch(getSidebarData())\n }, [])\n\n const { loading, data } = useSelector((state) => state.sidebarData)\n\n const filteredSections = sections && sections\n .filter(\n section =>\n process.env.NODE_ENV === 'development' ||\n ([\n ...new Set(\n section.items\n ?.map(item => [item?.roles].flat())\n .flat()\n )\n ].some(\n r => user?.roles?.includes(r)\n ) &&\n section.active)\n )\n .map(section => {\n const items = section?.items?.filter(\n item =>\n process.env.NODE_ENV === 'development' ||\n item?.roles?.some(r => user?.roles?.includes(r))\n );\n return { ...section, items: items };\n });\n\n useEffect(() => {\n if (openMobile && onMobileClose) {\n onMobileClose();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname]);\n\n const content = (\n \n \n \n \n \n \n \n \n \n {/**/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* {user.name}*/}\n {/* */}\n {/* */}\n {/* Role:{' '}*/}\n {/* {userTypes?.find(x => x.id === user.userType)?.name ?? 'none'}*/}\n {/* /!* */}\n {/* {user.tier}*/}\n {/* *!/*/}\n {/* */}\n {/* */}\n {/**/}\n {/**/}\n \n\n {/* Old Side Bar */}\n\n \n {/* {filteredSections.map(section =>\n section.items.length ? (\n \n {section.subheader}\n \n }\n >\n {renderNavItems({\n items: section.items,\n pathname: location.pathname,\n userroles: user?.roles,\n })}\n \n ) : null\n )} */}\n\n {/* Old Side Bar */}\n\n\n {/* Import New Side Bar */}\n \n {user && (\n \n \n \n )}\n {/* Import New Side Bar */}\n \n \n \n \n \n Need Help?\n \n \n Check our docs\n \n \n \n \n \n );\n\n return (\n <>\n \n \n {content}\n \n \n \n \n {content}\n \n \n \n );\n};\n\nNavBar.propTypes = {\n onMobileClose: PropTypes.func,\n openMobile: PropTypes.bool\n};\n\nexport default NavBar;\n","import React, {\n useRef,\n useState\n} from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { useHistory } from 'react-router-dom';\nimport { useSnackbar } from 'notistack';\nimport {\n Avatar,\n Box,\n ButtonBase,\n Hidden,\n Menu,\n MenuItem,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport useAuth from 'src/hooks/useAuth';\n\nconst useStyles = makeStyles((theme) => ({\n avatar: {\n height: 32,\n width: 32,\n marginRight: theme.spacing(1)\n },\n popover: {\n width: 200\n }\n}));\n\nconst Account = () => {\n const classes = useStyles();\n const history = useHistory();\n const ref = useRef(null);\n const { user, logout } = useAuth();\n const { enqueueSnackbar } = useSnackbar();\n const [isOpen, setOpen] = useState(false);\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleLogout = async () => {\n try {\n handleClose();\n await logout();\n history.push('/');\n } catch (err) {\n console.error(err);\n enqueueSnackbar('Unable to logout', {\n variant: 'error'\n });\n }\n };\n\n\n return (\n <>\n \n \n \n \n {user?.name}\n \n \n \n \n {/* \n Profile\n */}\n {/* \n Account\n */}\n \n Profile\n \n \n Logout\n \n \n \n );\n}\n\nexport default Account;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { colors, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'inline-block',\n borderRadius: '50%',\n flexGrow: 0,\n flexShrink: 0\n },\n small: {\n height: theme.spacing(1),\n width: theme.spacing(1)\n },\n medium: {\n height: theme.spacing(2),\n width: theme.spacing(2)\n },\n large: {\n height: theme.spacing(3),\n width: theme.spacing(3)\n },\n offline: {\n backgroundColor: colors.grey[50]\n },\n away: {\n backgroundColor: colors.orange[600]\n },\n busy: {\n backgroundColor: colors.red[600]\n },\n online: {\n backgroundColor: colors.green[600]\n }\n}));\n\nconst OnlineIndicator = ({\n className,\n size,\n status,\n ...rest\n}) => {\n const classes = useStyles();\n\n return (\n \n );\n};\n\nOnlineIndicator.propTypes = {\n className: PropTypes.string,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n status: PropTypes.oneOf(['online', 'offline', 'away', 'busy'])\n};\n\nOnlineIndicator.defaultProps = {\n size: 'medium',\n status: 'offline'\n};\n\nexport default OnlineIndicator;\n","import React, { useRef, useState, useEffect } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport {\n Box,\n IconButton,\n Link,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Popover,\n SvgIcon,\n TextField,\n Tooltip,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport { Users as UsersIcon } from 'react-feather';\nimport { useDispatch, useSelector } from 'src/store';\nimport { getContacts } from 'src/slices/chat';\nimport OnlineIndicator from 'src/components/OnlineIndicator';\nimport Avatar from 'react-avatar';\nimport useAuth from 'src/hooks/useAuth';\nimport { callUserForContact, getOnlineMembers, setOnlineUsers } from 'src/slices/contactUsersSlices';\n\nconst useStyles = makeStyles(theme => ({\n popover: {\n width: 320,\n padding: theme.spacing(2)\n },\n list: {\n padding: theme.spacing(1, 3)\n },\n listItemText: {\n marginRight: theme.spacing(1)\n },\n lastActivity: {\n whiteSpace: 'nowrap'\n }\n}));\n\nconst Contacts = () => {\n const classes = useStyles();\n const ref = useRef(null);\n const dispatch = useDispatch();\n const { user } = useAuth()\n const contactUsersCall = useSelector((state) => state.contactUsersCall)\n const [isOpen, setOpen] = useState(false);\n const [filteredNotifArr, setFilteredNotifArr] = useState([]);\n const [search, setSearch] = useState('');\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n useEffect(() => {\n dispatch(getOnlineMembers())\n }, []);\n\n useEffect(() => {\n dispatch(getContacts());\n }, [dispatch]);\n\n const handleNavigateUser = userID => {\n return `/app/management/user-management/${userID}/edit`\n }\n\n useEffect(() => {\n const filteredArray = contactUsersCall.onlineUsers.filter(name => {\n const fullName = `${name.firstName.toLowerCase()} ${name.lastName.toLowerCase()}`\n return fullName.includes(search.toLowerCase())\n });\n setFilteredNotifArr(filteredArray);\n }, [search, contactUsersCall.onlineUsers]);\n\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n Contacts\n \n \n {Object.keys(contactUsersCall.onlineUsers).length >= 1 ? (\n <>\n \n [setSearch(e.target.value)]}\n />\n \n {Object.keys(filteredNotifArr).length === 0 ? (\n \n \n The user you are looking for is not online\n \n \n ) : (\n ''\n )}\n \n {filteredNotifArr.map((el, i) => {\n // const contact = contacts.byId[contactId];\n\n return (\n \n \n \n \n {\n handleClose()\n dispatch(callUserForContact(!contactUsersCall.callContactUser))\n }}\n >\n {el.firstName + ' ' + el.lastName}\n \n }\n />\n {/* {contact.isActive ? ( */}\n \n {/* ) : ( */}\n \n {/* {moment(contact.lastActivity).fromNow()} */}\n \n {/* )} */}\n \n );\n })}\n \n \n ) : (\n \n \n No user is online\n \n \n )}\n \n \n \n );\n};\n\nexport default Contacts;\n","import React, { useRef, useState, useEffect, cloneElement } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport {\n Avatar,\n Badge,\n Box,\n Button,\n Icon,\n IconButton,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Popover,\n SvgIcon,\n Tooltip,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport * as signalR from '@microsoft/signalr';\nimport {\n Bell as BellIcon,\n Package as PackageIcon,\n MessageCircle as MessageIcon,\n Truck as TruckIcon\n} from 'react-feather';\nimport { useDispatch, useSelector } from 'src/store';\nimport { getNotifications } from 'src/slices/notification';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { PermIdentity } from '@material-ui/icons';\nimport '../../../assets/css/prism.css'\n\nconst iconsMap = {\n order_placed: PackageIcon,\n new_message: MessageIcon,\n item_shipped: TruckIcon\n};\n\nconst useStyles = makeStyles(theme => ({\n popover: {\n width: 320\n },\n icon: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText\n }\n}));\n\nconst Notifications = () => {\n const classes = useStyles();\n const { notifications } = useSelector(state => state.notifications);\n const ref = useRef(null);\n const dispatch = useDispatch();\n const [isOpen, setOpen] = useState(false);\n const [countNot, setCountNot] = useState(0);\n const [notifArr, setNotifArr] = useState([]);\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleCheckNotifications = async () => {\n const accessToken = window.localStorage.getItem('accessToken');\n const connection = new signalR.HubConnectionBuilder()\n .withUrl('https://sandbox-mydispatcherapi.universaltransit.com/notify', {\n headers: {\n Authorization: `Bearer ${accessToken}`\n }\n })\n .withAutomaticReconnect()\n .build();\n \n try {\n await connection.start();\n connection.on('ReceiveClientConnectedEvent', res => {\n console.log('Receive Client Connected Event', res);\n });\n connection.on('ReceiveClientConnectedEvent', res => {\n handleRotateBadge()\n handleDataRecived(res);\n handleCountnotifications();\n });\n } catch (error) {\n console.log(error);\n }\n };\n\n const handleDataRecived = newDate => {\n const audio = new Audio('/static/notification.mp3');\n audio.play()\n setNotifArr(arr => [...arr, newDate]);\n };\n\n const handleCountnotifications = () => {\n setCountNot(prevCount => prevCount + 1);\n };\n\n const handleRotateBadge = () => {\n if(ref.current) {\n ref.current.classList.add('rotate-animation');\n setTimeout(() => {\n ref.current.classList.remove('rotate-animation');\n }, 1000);\n }\n }\n\n useEffect(() => {\n handleCheckNotifications();\n }, []);\n\n useEffect(() => {\n dispatch(getNotifications());\n }, [dispatch]);\n\n return (\n <>\n \n {countNot >= 1 ? (\n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n \n \n \n Notifications\n \n \n \n \n {Object.keys(notifArr).length >= 1 ? (\n <>\n {notifArr.sort().map(el => (\n \n \n \n \n \n \n \n \n \n \n ))}\n \n {\n handleClose()\n setCountNot(0);\n }}\n >\n Mark all as read\n \n \n \n ) : (\n \n \n There are no notifications\n \n \n )}\n \n \n \n \n );\n};\n\nexport default Notifications;\n","import React, { useState } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PerfectScrollbar from 'react-perfect-scrollbar';\nimport { useSnackbar } from 'notistack';\nimport {\n Box,\n Button,\n CircularProgress,\n Drawer,\n IconButton,\n InputAdornment,\n Link,\n SvgIcon,\n TextField,\n Tooltip,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport {\n Search as SearchIcon,\n XCircle as XIcon\n} from 'react-feather';\nimport axios from 'src/utils/axios';\n\nconst useStyles = makeStyles(() => ({\n drawer: {\n width: 500,\n maxWidth: '100%'\n }\n}));\n\nconst Search = () => {\n const classes = useStyles();\n const { enqueueSnackbar } = useSnackbar();\n const [value, setValue] = useState('');\n const [isOpen, setOpen] = useState(false);\n const [isLoading, setLoading] = useState(false);\n const [results, setResults] = useState([]);\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleSearch = async () => {\n try {\n setLoading(true);\n\n const response = await axios.get('/api/search');\n\n setResults(response.data.results);\n } catch (err) {\n console.error(err);\n enqueueSnackbar('Something went wrong', {\n variant: 'error'\n });\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n Search\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }}\n onChange={(event) => setValue(event.target.value)}\n placeholder=\"Search people & places\"\n value={value}\n variant=\"outlined\"\n />\n \n \n \n Search\n \n \n \n {isLoading ? (\n \n \n \n ) : (\n <>\n {results.map((result, i) => (\n \n \n {result.title}\n \n \n {result.description}\n \n \n ))}\n \n )}\n \n \n \n \n \n );\n};\n\nexport default Search;\n","import React, {\n useState,\n useRef\n} from 'react';\nimport { capitalCase } from 'change-case';\nimport {\n Badge,\n Box,\n Button,\n FormControlLabel,\n IconButton,\n Popover,\n SvgIcon,\n Switch,\n TextField,\n Tooltip,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport { Settings as SettingsIcon } from 'react-feather';\nimport useSettings from 'src/hooks/useSettings';\nimport { THEMES } from 'src/constants';\n\nconst useStyles = makeStyles((theme) => ({\n badge: {\n height: 10,\n width: 10,\n borderRadius: 5,\n marginTop: 10,\n marginRight: 5\n },\n popover: {\n width: 320,\n padding: theme.spacing(2)\n }\n}));\n\nconst Settings = () => {\n const classes = useStyles();\n const ref = useRef(null);\n const { settings, saveSettings } = useSettings();\n const [isOpen, setOpen] = useState(false);\n const [values, setValues] = useState({\n direction: settings.direction,\n responsiveFontSizes: settings.responsiveFontSizes,\n theme: settings.theme\n });\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleChange = (field, value) => {\n setValues({\n ...values,\n [field]: value\n });\n };\n\n const handleSave = () => {\n saveSettings(values);\n setOpen(false);\n };\n\n return (\n <>\n \n {/**/}\n \n \n \n \n \n {/**/}\n \n \n \n Settings\n \n {/* \n handleChange('direction', event.target.checked ? 'rtl' : 'ltr')}\n />\n )}\n label=\"RTL\"\n />\n \n \n handleChange('responsiveFontSizes', event.target.checked)}\n />\n )}\n label=\"Responsive font sizes\"\n />\n */}\n \n handleChange('theme', event.target.value)}\n select\n SelectProps={{ native: true }}\n value={values.theme}\n variant=\"outlined\"\n >\n {Object.keys(THEMES).map((theme) => (\n \n {capitalCase(theme)}\n \n ))}\n \n \n \n \n Save Settings\n \n \n \n \n );\n}\n\nexport default Settings;\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n AppBar,\n Box,\n Hidden,\n IconButton,\n Toolbar,\n makeStyles,\n SvgIcon,\n Popover,\n ListItem,\n Button\n} from '@material-ui/core';\nimport { Menu as MenuIcon } from 'react-feather';\nimport Logo from 'src/components/Logo';\nimport { THEMES } from 'src/constants';\nimport Account from './Account';\nimport Contacts from './Contacts';\nimport Notifications from './Notifications';\nimport Search from './Search';\nimport Settings from './Settings';\nimport SideBarSettings from './SideBarSettings';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n zIndex: theme.zIndex.drawer + 100,\n ...theme.name === THEMES.LIGHT ? {\n boxShadow: 'none',\n backgroundColor: theme.palette.primary.main\n } : {},\n ...theme.name === THEMES.ONE_DARK ? {\n backgroundColor: theme.palette.background.default\n } : {}\n },\n toolbar: {\n minHeight: 64\n }\n}));\n\nconst TopBar = ({\n className,\n onMobileNavOpen,\n ...rest\n}) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n {/**/}\n \n {/* */}\n \n \n \n \n \n \n );\n};\n\nTopBar.propTypes = {\n className: PropTypes.string,\n onMobileNavOpen: PropTypes.func\n};\n\nTopBar.defaultProps = {\n onMobileNavOpen: () => {}\n};\n\nexport default TopBar;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport NavBar from './NavBar';\nimport TopBar from './TopBar';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n display: 'flex',\n height: '100%',\n overflow: 'hidden',\n width: '100%'\n },\n wrapper: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden',\n paddingTop: 64,\n [theme.breakpoints.up('lg')]: {\n paddingLeft: 190\n }\n },\n contentContainer: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden'\n },\n content: {\n flex: '1 1 auto',\n height: '100%',\n overflow: 'auto'\n }\n}));\n\nconst DashboardLayout = ({ children }) => {\n const classes = useStyles();\n const [isMobileNavOpen, setMobileNavOpen] = useState(false);\n\n return (\n
\n setMobileNavOpen(true)} />\n setMobileNavOpen(false)}\n openMobile={isMobileNavOpen}\n />\n
\n
\n
\n {children}\n
\n
\n
\n
\n );\n};\n\nDashboardLayout.propTypes = {\n children: PropTypes.node\n};\n\nexport default DashboardLayout;\n","import React from 'react';\nimport { NavLink as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n ListItem,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n item: {\n display: 'block',\n paddingTop: 0,\n paddingBottom: 0\n },\n itemLeaf: {\n display: 'flex',\n paddingTop: 0,\n paddingBottom: 0\n },\n button: {\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%'\n },\n buttonLeaf: {\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%',\n fontWeight: theme.typography.fontWeightRegular,\n '&.depth-0': {\n fontWeight: theme.typography.fontWeightMedium\n }\n },\n active: {\n color: theme.palette.secondary.main,\n fontWeight: theme.typography.fontWeightMedium,\n }\n}));\n\nconst NavItem = ({\n children,\n className,\n depth,\n href,\n title,\n ...rest\n}) => {\n const classes = useStyles();\n let paddingLeft = 8;\n\n if (depth > 0) {\n paddingLeft = 32 + 8 * depth;\n }\n\n const style = { paddingLeft };\n\n if (children) {\n return (\n \n \n {title}\n \n {children}\n \n );\n }\n\n return (\n \n \n {title}\n \n \n );\n};\n\nNavItem.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n depth: PropTypes.number.isRequired,\n href: PropTypes.string,\n title: PropTypes.string.isRequired\n};\n\nexport default NavItem;\n","/* eslint-disable no-use-before-define */\nimport React, { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport {\n Box,\n Drawer,\n Hidden,\n List,\n makeStyles\n} from '@material-ui/core';\nimport Logo from 'src/components/Logo';\nimport NavItem from './NavItem';\n\nconst items = [\n {\n active: true,\n title: 'Welcome',\n href: '/docs/welcome'\n },\n {\n title: 'Feature Permissions',\n href: '/docs/feature-permissions'\n },\n // {\n // title: 'Getting Started',\n // href: '/docs/getting-started'\n // },\n // {\n // title: 'Environment Variables',\n // href: '/docs/environment-variables'\n // },\n // {\n // title: 'Deployment',\n // href: '/docs/deployment'\n // },\n // {\n // title: 'Analytics',\n // href: '/docs/analytics'\n // },\n // {\n // title: 'API Calls',\n // href: '/docs/api-calls'\n // },\n // {\n // title: 'Authentication',\n // href: '/docs/authentication'\n // },\n // {\n // title: 'Routing',\n // href: '/docs/routing'\n // },\n // {\n // title: 'Settings',\n // href: '/docs/settings'\n // },\n // {\n // title: 'State Management',\n // href: '/docs/state-management'\n // },\n // {\n // title: 'Theming',\n // href: '/docs/theming'\n // },\n // {\n // title: 'Support',\n // href: '/docs/support'\n // },\n // {\n // title: 'Changelog',\n // href: '/docs/changelog'\n // },\n];\n\nfunction renderNavItems({ items, depth = 0 }) {\n return (\n \n {/* {items.filter(a => process.env.NODE_ENV === 'development' || a.active).reduce( */}\n {items.reduce(\n (acc, item) => reduceChildRoutes({ acc, item, depth }),\n []\n )}\n \n );\n}\n\nfunction reduceChildRoutes({\n acc,\n item,\n depth = 0\n}) {\n if (item.items) {\n acc.push(\n \n {renderNavItems({\n items: item.items,\n depth: depth + 1\n })}\n \n );\n } else {\n acc.push(\n \n );\n }\n\n return acc;\n}\n\nconst useStyles = makeStyles(() => ({\n mobileDrawer: {\n width: 256\n },\n desktopDrawer: {\n width: 256,\n top: 64,\n height: 'calc(100% - 64px)'\n }\n}));\n\nconst NavBar = ({ onMobileClose, openMobile }) => {\n const classes = useStyles();\n const location = useLocation();\n\n useEffect(() => {\n if (openMobile && onMobileClose) {\n onMobileClose();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname]);\n\n const content = (\n \n \n \n \n \n \n \n \n \n {renderNavItems({ items })}\n \n \n );\n\n return (\n <>\n \n \n {content}\n \n \n \n \n {content}\n \n \n \n );\n};\n\nNavBar.propTypes = {\n onMobileClose: PropTypes.func,\n openMobile: PropTypes.bool\n};\n\nexport default NavBar;\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport {\n AppBar,\n Box,\n Toolbar,\n Hidden,\n IconButton,\n Link,\n makeStyles\n} from '@material-ui/core';\nimport { Menu as MenuIcon } from 'react-feather';\nimport Logo from 'src/components/Logo';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n color: theme.palette.text.primary,\n boxShadow: 'none',\n borderBottom: `1px solid ${theme.palette.divider}`,\n zIndex: theme.zIndex.drawer + 100\n },\n toolbar: {\n height: 64\n },\n link: {\n fontWeight: theme.typography.fontWeightMedium\n }\n}));\n\nconst TopBar = ({ onMobileNavOpen }) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Dashboard\n \n \n \n );\n};\n\nTopBar.propTypes = {\n onMobileNavOpen: PropTypes.func\n};\n\nTopBar.defaultProps = {\n onMobileNavOpen: () => {}\n};\n\nexport default TopBar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n h1: {\n marginTop: theme.spacing(6),\n marginBottom: theme.spacing(2)\n },\n h2: {\n marginTop: theme.spacing(6),\n marginBottom: theme.spacing(2)\n },\n h3: {\n marginTop: theme.spacing(6),\n marginBottom: theme.spacing(2)\n },\n h4: {\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(2)\n },\n h5: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n h6: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n }\n}));\n\nconst Heading = ({\n children,\n variant,\n ...rest\n}) => {\n const classes = useStyles();\n\n return (\n \n {children}\n \n );\n}\n\nHeading.propTypes = {\n children: PropTypes.node,\n variant: PropTypes.oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'])\n};\n\nexport default Heading;\n","import React from 'react';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n marginBottom: theme.spacing(2),\n '& > a': {\n color: theme.palette.secondary.main\n }\n }\n}));\n\nconst Paragraph = (props) => {\n const classes = useStyles();\n\n return (\n \n );\n}\n\nexport default Paragraph;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n marginLeft: theme.spacing(4),\n marginBottom: theme.spacing(2)\n }\n}));\n\nconst List = ({\n variant: Component,\n children,\n ...rest\n}) => {\n const classes = useStyles();\n\n return (\n \n {children}\n \n );\n}\n\nList.propTypes = {\n children: PropTypes.node,\n variant: PropTypes.oneOf(['ul', 'ol'])\n};\n\nList.defaultProps = {\n variant: 'ul'\n};\n\nexport default List;\n","import React from 'react';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst Paragraph = (props) => {\n const classes = useStyles();\n\n return (\n \n );\n};\n\nexport default Paragraph;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingBottom: theme.spacing(1),\n paddingTop: theme.spacing(1),\n marginBottom: theme.spacing(2),\n borderLeft: `4px solid ${theme.palette.text.secondary}`,\n '& > p': {\n color: theme.palette.text.secondary,\n marginBottom: 0\n }\n }\n}));\n\nconst Blockquote = (props) => {\n const classes = useStyles();\n\n return (\n \n );\n};\n\nexport default Blockquote;\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst Code = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n );\n}\n\nCode.propTypes = {\n className: PropTypes.string.isRequired\n};\n\nexport default Code;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => ({\n root: {\n paddingLeft: 2,\n paddingRight: 2,\n color: '#1a1a1a',\n fontFamily: \"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace\",\n fontSize: 14,\n backgroundColor: 'rgb(255,229,100)'\n }\n}));\n\nconst CodeInline = (props) => {\n const classes = useStyles();\n\n return (\n \n );\n};\n\nexport default CodeInline;\n","import React from 'react';\nimport { Divider } from '@material-ui/core';\nimport Heading from './Heading';\nimport Paragraph from './Paragraph';\nimport List from './List';\nimport ListItem from './ListItem';\nimport Blockquote from './Blockquote';\nimport Code from './Code';\nimport InlineCode from './InlineCode';\n\nconst components = {\n h1: (props) => ,\n h2: (props) => ,\n h3: (props) => ,\n h4: (props) => ,\n h5: (props) => ,\n h6: (props) => ,\n ul: (props) => ,\n ol: (props) => ,\n hr: Divider,\n li: ListItem,\n p: Paragraph,\n blockquote: Blockquote,\n code: Code,\n inlineCode: InlineCode\n};\n\nexport default components;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { MDXProvider } from '@mdx-js/react';\nimport { Container, makeStyles } from '@material-ui/core';\nimport NavBar from './NavBar';\nimport TopBar from './TopBar';\nimport components from './mdx';\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n height: '100%',\n overflow: 'hidden',\n paddingTop: 64,\n [theme.breakpoints.up('lg')]: {\n paddingLeft: 256\n }\n },\n contentContainer: {\n flex: '1 1 auto',\n overflow: 'auto'\n },\n content: {\n paddingBottom: 120\n }\n}));\n\nconst DocsLayout = ({ children }) => {\n const classes = useStyles();\n const [isMobileNavOpen, setMobileNavOpen] = useState(false);\n\n return (\n <>\n setMobileNavOpen(true)} />\n setMobileNavOpen(false)}\n openMobile={isMobileNavOpen}\n />\n
\n
\n \n \n {children}\n \n \n
\n
\n \n );\n};\n\nDocsLayout.propTypes = {\n children: PropTypes.node\n};\n\nexport default DocsLayout;\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n AppBar,\n Box,\n Button,\n Divider,\n Toolbar,\n Hidden,\n Typography,\n Link,\n makeStyles\n} from '@material-ui/core';\nimport { APP_VERSION } from 'src/constants';\nimport Logo from 'src/components/Logo';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default\n },\n toolbar: {\n height: 64\n },\n logo: {\n marginRight: theme.spacing(2)\n },\n link: {\n fontWeight: theme.typography.fontWeightMedium,\n '& + &': {\n marginLeft: theme.spacing(2)\n }\n },\n divider: {\n width: 1,\n height: 32,\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n }\n}));\n\nconst TopBar = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n Version\n {' '}\n {APP_VERSION}\n \n \n \n \n Dashboard\n \n \n Documentation\n \n \n \n Need a help ?\n \n \n \n );\n};\n\nTopBar.propTypes = {\n className: PropTypes.string\n};\n\nexport default TopBar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport TopBar from './TopBar';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n height: '100%',\n overflow: 'hidden',\n width: '100%'\n },\n wrapper: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden',\n paddingTop: 64\n },\n contentContainer: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden'\n },\n content: {\n flex: '1 1 auto',\n height: '100%',\n overflow: 'auto'\n }\n}));\n\nconst MainLayout = ({ children }) => {\n const classes = useStyles();\n\n return (\n
\n \n
\n
\n
\n {children}\n
\n
\n
\n
\n );\n};\n\nMainLayout.propTypes = {\n children: PropTypes.node\n};\n\nexport default MainLayout;\n","import React from 'react';\nimport { Redirect } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport useAuth from '../hooks/useAuth';\n\nconst AuthGuard = ({ children }) => {\n const { isAuthenticated } = useAuth();\n\n if (!isAuthenticated) {\n return ;\n }\n\n return (\n <>\n {children}\n \n );\n};\n\nAuthGuard.propTypes = {\n children: PropTypes.node\n};\n\nexport default AuthGuard;\n","import React from 'react';\nimport { Redirect } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport useAuth from '../hooks/useAuth';\n\nconst GuestGuard = ({ children }) => {\n const { isAuthenticated } = useAuth();\n\n if (isAuthenticated) {\n return ; //app/reports/dashboard\n }\n\n return (\n <>\n {children}\n \n );\n};\n\nGuestGuard.propTypes = {\n children: PropTypes.node\n};\n\nexport default GuestGuard;\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport {\n Box,\n Button,\n Container,\n Typography,\n useTheme,\n useMediaQuery,\n makeStyles\n} from '@material-ui/core';\nimport Page from 'src/components/Page';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(3),\n paddingTop: 80,\n paddingBottom: 80\n },\n image: {\n maxWidth: '100%',\n width: 560,\n maxHeight: 300,\n height: 'auto'\n }\n}));\n\nconst ForbiddenView = () => {\n const classes = useStyles();\n const theme = useTheme();\n const mobileDevice = useMediaQuery(theme.breakpoints.down('sm'));\n\n return (\n \n \n \n 403: You don't have permission to visit this page\n \n \n Please contact administrator: support@universaltransit.com\n \n \n \n \n \n \n Back to home\n \n \n \n \n );\n};\n\nexport default ForbiddenView;\n","import React, { Suspense, Fragment, lazy, useEffect, useState } from 'react';\nimport { Switch, Redirect, Route } from 'react-router-dom';\nimport DashboardLayout from 'src/layouts/DashboardLayout';\nimport DocsLayout from 'src/layouts/DocsLayout';\nimport MainLayout from 'src/layouts/MainLayout';\nimport LoadingScreen from 'src/components/LoadingScreen';\nimport AuthGuard from 'src/components/AuthGuard';\nimport GuestGuard from 'src/components/GuestGuard';\nimport ForbiddenView from 'src/views/errors/ForbiddenView';\nimport useAuth from 'src/hooks/useAuth';\nimport { ROLES } from 'src/constants';\nimport axios from 'src/utils/axios';\nimport isEmail from 'validator/lib/isEmail';\n\nexport const RenderRoutes = ({ routes = [] }) => {\n let { user } = useAuth();\n const hasRole = user?.roles?.length > 0;\n\n const resolveRouteByRole = (route, props) => {\n const Component = route.component;\n const roleMatch = route?.roles?.some(r => user?.roles?.includes(r));\n // const permissionMatch = route?.permissions?.some(p =>\n // user.permissions.includes(p)\n // );\n const anyRoute = route?.roles?.includes(ROLES.ANY);\n\n if (route.routes) return ;\n else {\n if (anyRoute) {\n if (\n (user?.isEmailVerified && route.path === '/app/verify-account') ||\n (user?.isEmailVerified && route.path === '/app/update-email/:token*')\n )\n return ;\n if (hasRole && route.path === '/app/complete-register')\n return ;\n if (user?.isActive && route.path === '/app/activation-pending')\n return ;\n return ;\n } else {\n if (user?.isEmailVerified)\n if (hasRole) {\n if (roleMatch) { //permissionMatch Old check\n if (user?.isActive) {\n if (route.path === '/app') {\n //define landing page buy role\n if (user?.roles?.includes(ROLES.DRIVER)) {\n return ;\n }\n if (\n user?.roles?.includes(ROLES.ADMINISTRATOR) ||\n user?.roles?.includes(ROLES.FINANCE) ||\n user?.roles?.includes(ROLES.FINANCESUPER) ||\n user?.roles?.includes(ROLES.MANAGER)\n ) {\n return ;\n }\n return ;\n } else return ;\n } else return ;\n } else return ;\n } else {\n if (user?.isActive) return ;\n else return ;\n }\n else return ;\n }\n }\n };\n\n return (\n }>\n \n {routes.map((route, i) => {\n const Guard = route.guard || Fragment;\n const Layout = route.layout || Fragment;\n\n return (\n (\n \n {resolveRouteByRole(route, props)}\n \n )}\n />\n );\n })}\n \n \n );\n};\n\nexport const routes = [\n {\n exact: true,\n path: '/404',\n component: lazy(() => import('src/views/errors/NotFoundView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/update-email/:token*',\n component: lazy(() => import('src/views/auth/UpdateEmailView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n guard: GuestGuard,\n path: '/login',\n component: lazy(() => import('src/views/auth/LoginView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/login-unprotected',\n component: lazy(() => import('src/views/auth/LoginView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n guard: GuestGuard,\n path: '/register',\n component: lazy(() => import('src/views/auth/RegisterView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/register-unprotected',\n component: lazy(() => import('src/views/auth/RegisterView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n guard: GuestGuard,\n path: '/forgotpassword/:email/:resettoken',\n component: lazy(() => import('src/views/auth/ForgotPasswordView')),\n roles: [ROLES.ANY]\n },\n {\n excat: true,\n path: '/adobe-connect',\n component: lazy(() => import('src/views/management/UserManagement/adobeComponents/AdobeVerifyConnect')),\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER]\n },\n {\n exact: true,\n guard: GuestGuard,\n path: '/resetbyemail',\n component: lazy(() => import('src/views/auth/ResetByEmailView')),\n roles: [ROLES.ANY]\n },\n {\n path: '/app',\n guard: AuthGuard,\n layout: DashboardLayout,\n routes: [\n {\n exact: true,\n path: '/app/under-construction',\n component: lazy(() => import('src/views/errors/UnderConstruction')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/books/bookorders',\n component: lazy(() => import('src/views/books/BookOrderListView')),\n roles: [ROLES.DISPATCHER, ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.BookOrderApprover, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/books/bookorders/create',\n component: lazy(() => import('src/views/books/BookOrderCreateView')),\n roles: [ROLES.DISPATCHER, ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.BookOrderApprover, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/books/bookorders/:bookorderId/edit',\n component: lazy(() => import('src/views/books/BookOrderCreateView')),\n roles: [ROLES.DISPATCHER, ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.BookOrderApprover, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/books',\n component: () => ,\n roles: [ROLES.DISPATCHER, ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.BookOrderApprover, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/reports/weekly-report',\n component: lazy(() => import('src/views/reports/WeeklyReport')),\n roles: [ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER]\n },\n {\n exact: true,\n path: '/app/reports/weekly-finance',\n component: lazy(() => import('src/views/reports/WeeklyReport_v2')),\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FleetManager, ROLES.FINANCE, ROLES.CLAIMTRACKERTEAM, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/reports/driver-report',\n component: lazy(() => import('src/views/reports/DriverReport')),\n roles: [ROLES.DRIVER, ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FleetManager]\n }, \n {\n exact: true,\n path: '/app/reports/claims-tracker',\n component: lazy(() => import('src/views/reports/ClaimsTracker')),\n roles: [ROLES.CLAIMTRACKERTEAM, ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/reports/claims-tracker/create',\n component: lazy(() =>\n import('src/views/reports/ClaimsTracker/ClaimsCreateUpdate')\n ),\n roles: [ROLES.CLAIMTRACKERTEAM, ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/reports/claims-tracker/create/:id',\n component: lazy(() =>\n import('src/views/reports/ClaimsTracker/ClaimsCreateUpdate')\n ),\n roles: [ROLES.CLAIMTRACKERTEAM, ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/management/vehicles',\n component: lazy(() => import('src/views/management/TrucksManagement')),\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM]\n },\n {\n exact: true,\n path: '/app/management/carrier-management',\n component: lazy(() => import('src/views/management/CarrierManagment')),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR]\n },\n {\n exact: true,\n path: '/app/management/brokers',\n component: lazy(() => import('src/views/management/BrokerManagement')),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/management/vehicles/create',\n component: lazy(() =>\n import('src/views/management/TrucksManagement/trucksManagementForm/')\n ),\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM]\n },\n {\n exact: true,\n path: '/app/management/vehicles/:vehicleId/edit',\n component: lazy(() =>\n import('src/views/management/TrucksManagement/trucksManagementForm')\n ),\n roles: [ROLES.DISPATCHER, ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.BookOrderApprover, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/reports/dispatcher-salary-report',\n component: lazy(() => import('src/views/reports/Bonus')),\n roles: [\n ROLES.DRIVER,\n ROLES.MANAGER,\n ROLES.ADMINISTRATOR,\n ROLES.DISPATCHER,\n ROLES.DispatchManager,\n ROLES.BANKING\n ]\n },\n {\n exact: true,\n path: '/app/reports/event-report',\n component: lazy(() => import('src/views/reports/Event')),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FleetManager, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/reports/driver-license',\n component: lazy(() => import('./views/reports/DriverLicenseList')),\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM]\n },\n {\n exact: true,\n path: '/app/reports/evaluation-report',\n component: lazy(() => import('src/views/reports/Evaluation')),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR]\n },\n {\n exact: true,\n path: '/app/management/driver-assignment',\n component: lazy(() => import('src/views/management/DriverAssignment')),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/management/vehicle-and-card-assignment',\n component: lazy(() =>\n import('src/views/management/VehicleAndCardAssignment')\n ),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM]\n },\n {\n exact: true,\n path: '/app/finances/driver-transactions/:transactionId/edit',\n component: lazy(() =>\n import('src/views/finances/Transactions/transactionsManagementForm')\n ),\n roles: [ROLES.FINANCESUPER, ROLES.FINANCE, ROLES.FleetManager, ROLES.MANAGER, ROLES.CLAIMTRACKERTEAM, ROLES.ADMINISTRATOR]\n },\n {\n exact: true,\n path: '/app/finances/match-transactions',\n component: lazy(() => import('src/views/finances/MatchTransactions')),\n roles: [ROLES.BANKING, ROLES.ADMINISTRATOR]\n },\n {\n exact: true,\n path: '/app/management/shipper-management',\n component: lazy(() => import('src/views/management/ShipperManagement')),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/management/user-management',\n component: lazy(() => import('src/views/management/UserManagement')),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/management/user-management/:userId/edit',\n component: lazy(() =>\n import('src/views/management/UserManagement/userManagementForm')\n ),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR, ROLES.FINANCE, ROLES.FINANCESUPER, ROLES.FleetManager, ROLES.CLAIMTRACKERTEAM, ROLES.DispatchManager]\n },\n {\n exact: true,\n path: '/app/management/shipper-management/:shipperId/edit',\n component: lazy(() =>\n import('src/views/management/ShipperManagement/ShipperManagementForm')\n ),\n roles: [ROLES.MANAGER, ROLES.ADMINISTRATOR]\n },\n {\n exact: true,\n path: '/app/finances/driver-transactions',\n component: lazy(() => import('src/views/finances/Transactions')),\n roles: [ROLES.FINANCESUPER, ROLES.FINANCE, ROLES.FleetManager, ROLES.MANAGER, ROLES.CLAIMTRACKERTEAM, ROLES.ADMINISTRATOR]\n },\n // {\n // exact: true,\n // path: '/app/finances/driver-receive-cash',\n // component: lazy(() => import('src/views/finances/DriverReceiveCash')),\n // roles: [ROLES.FINANCESUPER, ROLES.ADMINISTRATOR]\n // },\n {\n exact: true,\n path: '/app/finances/pay-driver-bills',\n component: lazy(() => import('src/views/finances/PayDriverBills')),\n roles: [ROLES.FINANCESUPER, ROLES.ADMINISTRATOR, ROLES.MANAGER]\n },\n {\n exact: true,\n path: '/app/verify-account',\n component: lazy(() => import('src/views/auth/VerificationView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/complete-register',\n component: lazy(() => import('src/views/auth/CompleteRegisterView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/activation-pending',\n component: lazy(() => import('src/views/auth/ActivationPendingView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/settings',\n component: lazy(() => import('src/views/settings')),\n roles: [ROLES.ADMINISTRATOR]\n },\n {\n exact: true,\n path: '/app/calendar',\n component: lazy(() => import('src/views/calendar/CalendarView')),\n roles: [ROLES.ADMINISTRATOR, ROLES.MANAGER, ROLES.FleetManager, ROLES.DispatchManager]\n },\n\n //-----------------------Extra Existing-----------------------------------\n {\n exact: true,\n path: '/app/account',\n component: lazy(() => import('src/views/account/AccountView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/dashboard',\n component: lazy(() => import('src/views/dashboard')),\n roles: [\n ROLES.MANAGER,\n ROLES.FINANCE,\n ROLES.FINANCESUPER,\n ROLES.ADMINISTRATOR,\n ROLES.FleetManager,\n ROLES.CLAIMTRACKERTEAM,\n ROLES.DispatchManager\n ]\n },\n {\n exact: true,\n path: '/app/broker-fee',\n component: lazy(() => import('src/views/finances/BrokerFee')),\n roles: [\n ROLES.MANAGER,\n ROLES.FINANCE,\n ROLES.FINANCESUPER,\n ROLES.ADMINISTRATOR,\n ROLES.DispatchManager\n ]\n },\n {\n exact: true,\n path: ['/app/chat/new', '/app/chat/:threadKey'],\n component: lazy(() => import('src/views/chat/ChatView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/chat',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/extra/charts/apex',\n component: lazy(() => import('src/views/extra/charts/ApexChartsView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/extra/forms/formik',\n component: lazy(() => import('src/views/extra/forms/FormikView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/extra/forms/redux',\n component: lazy(() => import('src/views/extra/forms/ReduxFormView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/extra/editors/draft-js',\n component: lazy(() =>\n import('src/views/extra/editors/DraftEditorView')\n ),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/extra/editors/quill',\n component: lazy(() =>\n import('src/views/extra/editors/QuillEditorView')\n ),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/kanban',\n component: lazy(() => import('src/views/kanban/KanbanView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: [\n '/app/mail/label/:customLabel/:mailId?',\n '/app/mail/:systemLabel/:mailId?'\n ],\n component: lazy(() => import('src/views/mail/MailView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/mail',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/customers',\n component: lazy(() => import('src/views/customer/CustomerListView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/customers/:customerId',\n component: lazy(() => import('src/views/customer/CustomerDetailsView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/customers/:customerId/edit',\n component: lazy(() => import('src/views/customer/CustomerEditView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/invoices',\n component: lazy(() => import('src/views/invoice/InvoiceListView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/invoices/:invoiceId',\n component: lazy(() => import('src/views/invoice/InvoiceDetailsView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/orders',\n component: lazy(() => import('src/views/order/OrderListView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/orders/:orderId',\n component: lazy(() => import('src/views/order/OrderDetailsView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/products',\n component: lazy(() => import('src/views/product/ProductListView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management/products/create',\n component: lazy(() => import('src/views/product/ProductCreateView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/management',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/permissions',\n component: lazy(() => import('src/views/admin/Permitions')),\n roles: [ROLES.ADMINISTRATOR]\n },\n {\n exact: true,\n path: '/app/projects/overview',\n component: lazy(() => import('src/views/project/OverviewView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/projects/browse',\n component: lazy(() => import('src/views/project/ProjectBrowseView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/projects/create',\n component: lazy(() => import('src/views/project/ProjectCreateView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/projects/:id',\n component: lazy(() => import('src/views/project/ProjectDetailsView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/projects',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/reports/dashboard',\n component: lazy(() => import('src/views/reports/DashboardView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/reports/driver-balance',\n component: lazy(() => import('src/views/reports/DriverBalances')),\n roles: [ROLES.ADMINISTRATOR, ROLES.FINANCESUPER, ROLES.FINANCE, ROLES.FleetManager, ROLES.MANAGER, ROLES.CLAIMTRACKERTEAM]\n },\n {\n exact: true,\n path: '/app/reports/dashboard-alternative',\n component: lazy(() =>\n import('src/views/reports/DashboardAlternativeView')\n ),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/reports',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/social/feed',\n component: lazy(() => import('src/views/social/FeedView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/social/profile',\n component: lazy(() => import('src/views/social/ProfileView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app/social',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/app',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n component: () => ,\n roles: [ROLES.ANY]\n }\n ]\n },\n {\n path: '/docs',\n layout: DocsLayout,\n routes: [\n {\n exact: true,\n path: '/docs',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/welcome',\n component: lazy(() => import('src/views/docs/WelcomeView')),\n roles: [ROLES.ANY]\n },\n {\n excat: true,\n path: '/docs/feature-permissions',\n component: lazy(() => import('src/views/docs/FeaturePermissionView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/getting-started',\n component: lazy(() => import('src/views/docs/GettingStartedView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/environment-variables',\n component: lazy(() =>\n import('src/views/docs/EnvironmentVariablesView')\n ),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/deployment',\n component: lazy(() => import('src/views/docs/DeploymentView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/api-calls',\n component: lazy(() => import('src/views/docs/APICallsView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/analytics',\n component: lazy(() => import('src/views/docs/AnalyticsView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/authentication',\n component: lazy(() => import('src/views/docs/AuthenticationView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/routing',\n component: lazy(() => import('src/views/docs/RoutingView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/settings',\n component: lazy(() => import('src/views/docs/SettingsView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/state-management',\n component: lazy(() => import('src/views/docs/StateManagementView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/theming',\n component: lazy(() => import('src/views/docs/ThemingView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/support',\n component: lazy(() => import('src/views/docs/SupportView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/docs/changelog',\n component: lazy(() => import('src/views/docs/ChangelogView')),\n roles: [ROLES.ANY]\n },\n {\n component: () => ,\n roles: [ROLES.ANY]\n }\n ]\n },\n {\n path: '*',\n layout: MainLayout,\n routes: [\n {\n exact: true,\n path: '/',\n component: () => ,\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/pricing',\n component: lazy(() => import('src/views/pricing/PricingView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/terms-of-service',\n component: lazy(() => import('src/views/policies/TermsOfServiceView')),\n roles: [ROLES.ANY]\n },\n {\n exact: true,\n path: '/privacy-policy',\n component: lazy(() => import('src/views/policies/PrivacyPolicyView')),\n roles: [ROLES.ANY]\n },\n {\n component: () => ,\n roles: [ROLES.ANY]\n }\n ]\n }\n];\n\nexport default routes;\n","export const GlobalDebug = (function() {\n var savedConsole = console;\n return function(debugOn, suppressAll) {\n var suppress = suppressAll || false;\n if (debugOn === false) {\n console = {};\n console.log = function() {};\n if (suppress) {\n console.info = function() {};\n console.error = function() {};\n console.warn = function() {};\n } else {\n console.info = savedConsole.info;\n console.error = savedConsole.error;\n console.warn = savedConsole.warn;\n }\n } else {\n console = savedConsole;\n }\n };\n})();\n","import { toast, Bounce } from \"react-toastify\"\n\nclass VersionControl {\n\n static instance = null\n\n constructor() {\n if(VersionControl.instance) {\n return VersionControl.instance\n }\n\n this.envVersion = process.env.REACT_APP_MYDISPATCHER_VERSION\n VersionControl.instance = this\n }\n\n static getInstance() {\n if(!VersionControl.instance) {\n VersionControl.instance = new VersionControl()\n }\n\n return VersionControl.instance\n }\n\n checkVersion() {\n const localVersion = localStorage.getItem('version')\n\n if(localVersion != this.envVersion) {\n\n toast('You are on an old version. The app will update in 5 seconds.', {\n position: 'top-center',\n autoClose: 5000,\n hideProgressBar: false,\n closeOnClick: false,\n pauseOnHover: true,\n draggable: true,\n progress: undefined,\n theme: 'dark',\n transition: Bounce,\n style: {\n backgroundColor: '#0b1f26',\n color: '#ffffff'\n },\n progressStyle: {\n backgroundColor: '#fff29c'\n }\n })\n\n setTimeout(() => {\n localStorage.removeItem('accessToken')\n localStorage.clear()\n localStorage.setItem('version', this.envVersion)\n \n window.location.reload()\n }, 5000)\n\n } else {\n console.log(`Version is up to date: ${localVersion}`)\n }\n }\n\n}\n\nexport default VersionControl","import React from 'react';\nimport { Router } from 'react-router-dom';\nimport { createBrowserHistory } from 'history';\nimport { create } from 'jss';\nimport rtl from 'jss-rtl';\nimport MomentUtils from '@date-io/moment';\nimport { SnackbarProvider } from 'notistack';\nimport {\n jssPreset,\n StylesProvider,\n ThemeProvider\n} from '@material-ui/core';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport GlobalStyles from 'src/components/GlobalStyles';\nimport ScrollReset from 'src/components/ScrollReset';\nimport CookiesNotification from 'src/components/CookiesNotification';\nimport GoogleAnalytics from 'src/components/GoogleAnalytics';\nimport SettingsNotification from 'src/components/SettingsNotification';\nimport { AuthProvider } from 'src/contexts/JWTAuthContext';\nimport useSettings from 'src/hooks/useSettings';\nimport { createTheme } from 'src/theme';\nimport routes, { RenderRoutes } from 'src/routes';\nimport { GlobalDebug } from './utils/removeConsole';\nimport { useEffect } from 'react';\nimport { PermissionsProvider } from './contexts/PermissionsContext';\nimport VersionControl from './lib/applicationVersionControl';\nimport 'react-toastify/dist/ReactToastify.css'\nimport { ToastContainer } from 'react-toastify';\n\nconst jss = create({ plugins: [...jssPreset().plugins, rtl()] });\nconst history = createBrowserHistory();\n\nconst App = () => {\n const { settings } = useSettings(); \n\n // useEffect(() => {\n // (process.env.NODE_ENV === \"production\" ||\n // process.env.REACT_APP_ENV_NAME === \"production\") &&\n // GlobalDebug(false);\n // }, []);\n\n const theme = createTheme({\n direction: settings.direction,\n responsiveFontSizes: settings.responsiveFontSizes,\n theme: settings.theme\n });\n\n // Application Version Controll\n\n useEffect(() => {\n const versionControl = VersionControl.getInstance()\n versionControl.checkVersion()\n\n const handleGlobalClick = () => {\n versionControl.checkVersion()\n }\n\n document.addEventListener('click', handleGlobalClick)\n\n return () => {\n document.removeEventListener('click', handleGlobalClick)\n }\n }, [])\n\n return (\n \n \n \n \n \n \n \n \n \n \n {/* */}\n {/* */}\n {/* */}\n \n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n","import { useEffect } from 'react'\nimport TagManager from 'react-gtm-module'\n\nconst GoogleTagManager = () => {\n\n useEffect(() => {\n TagManager.initialize({ gtmId: 'GTM-NPSD9DHZ' })\n }, [])\n\n return null\n}\n\nexport default GoogleTagManager\n","import 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\nimport 'react-perfect-scrollbar/dist/css/styles.css';\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\nimport 'react-quill/dist/quill.snow.css';\nimport 'prismjs/prism';\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-javascript';\nimport 'prismjs/components/prism-jsx';\nimport 'nprogress/nprogress.css';\nimport 'src/__mocks__';\nimport 'src/assets/css/prism.css';\nimport 'src/mixins/chartjs';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { enableES5 } from 'immer';\nimport * as serviceWorker from 'src/serviceWorker';\nimport store from 'src/store';\nimport { SettingsProvider } from 'src/contexts/SettingsContext';\nimport App from 'src/App';\nimport GoogleTagManager from './utils/googleTagManager';\n\nenableES5();\n\nReactDOM.render(\n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\nserviceWorker.register();\n","import { createSlice } from \"@reduxjs/toolkit\"\n\nconst initialState = {\n openSetting: false,\n optionId: 0\n}\n\nconst sidebarManagementSettingSlice = createSlice({\n name: 'sidebar management setting',\n initialState,\n reducers: {\n openSidebarSetting: (state, action) => {\n state.openSetting = action.payload\n },\n setOptionSidebar: (state, action) => {\n const newOption = action.payload\n if(newOption >= 0 && newOption <= 2) {\n state.optionId = newOption\n }\n }\n }\n})\n\nexport const { openSidebarSetting, setOptionSidebar } = sidebarManagementSettingSlice.actions\nexport default sidebarManagementSettingSlice.reducer","import { combineReducers } from '@reduxjs/toolkit';\nimport { reducer as calendarReducer } from 'src/slices/calendar';\nimport { reducer as chatReducer } from 'src/slices/chat';\nimport { reducer as formReducer } from 'redux-form';\nimport { reducer as kanbanReducer } from 'src/slices/kanban';\nimport { reducer as mailReducer } from 'src/slices/mail';\nimport { reducer as notificationReducer } from 'src/slices/notification';\nimport brokerTransactionStatusesSlice from '../slices/BrokerFeeSlices/brokerTransactionStatusesSlice';\nimport brokerFeeSlice from '../slices/BrokerFeeSlices/brokerFeeSlice';\nimport userSlice from 'src/slices/userSlice';\nimport permissionsSlice from 'src/slices/permissionsSlice';\nimport driversSlice from 'src/slices/driversSlice';\nimport claimsTrackerSubmit from 'src/slices/claimsTracker';\nimport truckVinSlice from 'src/slices/truckvinSlice';\nimport claimsTeamUsersSlice from 'src/slices/claimsTeamUsers';\nimport claimsAllDataSlice from 'src/slices/ClaimsSlices/ClaimTracker';\nimport claimTrackerCompnaieSlice from 'src/slices/ClaimsSlices/ClaimCompanys';\nimport claimTrackerPrioritiesSlice from 'src/slices/ClaimsSlices/ClaimPriorities';\nimport claimStatusSlice from 'src/slices/ClaimsSlices/ClaimStatus';\nimport claimTrackerTypeSlice from 'src/slices/ClaimsSlices/ClaimTrackerTypes';\nimport allUsersSlice from 'src/slices/allUsersSlice';\nimport claimOrdersSlice from 'src/slices/ClaimsSlices/ClaimsOrders';\nimport claimClaimPrequestsSlice from 'src/slices/ClaimsSlices/ClaimPrerequest';\nimport contactUsersSlices from 'src/slices/contactUsersSlices';\nimport driverBalanceReducer from 'src/slices/driverBalanceSlice';\nimport bookOrdersReducer from 'src/slices/BookOrdersSlices/bookOrderSlice';\nimport bookOrdersFiltersSlice from 'src/slices/BookOrdersSlices/bookOrdersFilters';\nimport claimTrackerPrecentSlice from 'src/slices/ClaimsSlices/ClaimPrecent';\nimport claimDynamicChartSlice from 'src/slices/ClaimsSlices/ClaimDynamicChart';\nimport estimatedChangesSlice from 'src/slices/ServiceTypes/estimatedChangesSlice';\nimport destinationReducer from 'src/slices/Bank/destinationSlice';\nimport chaseTransactionsSlice from 'src/slices/Bank/chaseTransactionsSlice';\nimport invoiceCategorySlice from 'src/slices/Bank/invoiceCategorySlice';\nimport shipperSlice from 'src/slices/Bank/shipperSlice';\nimport rolePermissionSlice from 'src/slices/PermissionsSlices/RolePermissionSlice';\nimport sidebarReducer from 'src/slices/sidebarSlice'\nimport sidebarManagementSettingReducer from 'src/slices/sidebarManagementSettingSlice'\n\nconst rootReducer = combineReducers({\n calendar: calendarReducer,\n chat: chatReducer,\n form: formReducer,\n kanban: kanbanReducer,\n mail: mailReducer,\n notifications: notificationReducer,\n brokerTransactionStatus: brokerTransactionStatusesSlice.reducer,\n brokerFee: brokerFeeSlice.reducer,\n users: userSlice.reducer,\n permissions: permissionsSlice.reducer,\n drivers: driversSlice.reducer,\n claimsTeamUsers: claimsTeamUsersSlice.reducer,\n claimsSubmit: claimsTrackerSubmit.reducer,\n truckVin: truckVinSlice.reducer,\n claimsAllDate: claimsAllDataSlice.reducer,\n claimCompanies: claimTrackerCompnaieSlice.reducer,\n claimPriorities: claimTrackerPrioritiesSlice.reducer,\n claimStatus: claimStatusSlice.reducer,\n claimTypes: claimTrackerTypeSlice.reducer,\n allUsers: allUsersSlice.reducer,\n claimOrders: claimOrdersSlice.reducer,\n claimPrequests: claimClaimPrequestsSlice.reducer,\n contactUsersCall: contactUsersSlices.reducer,\n bookOrders: bookOrdersReducer.reducer,\n bookOrderFilters: bookOrdersFiltersSlice,\n driverBalance: driverBalanceReducer,\n claimTrackerPrecent: claimTrackerPrecentSlice.reducer,\n claimTrackerDynamic: claimDynamicChartSlice.reducer,\n estimatedChanges: estimatedChangesSlice.reducer,\n destinationData: destinationReducer,\n chaseTransactions: chaseTransactionsSlice.reducer,\n invoiceCategory: invoiceCategorySlice.reducer,\n shipper: shipperSlice.reducer,\n allRolePermission: rolePermissionSlice.reducer,\n sidebarData: sidebarReducer,\n sidebarManagement: sidebarManagementSettingReducer\n});\n\nexport default rootReducer;\n","import { \n useDispatch as useReduxDispatch,\n useSelector as useReduxSelector\n} from 'react-redux';\nimport { configureStore } from '@reduxjs/toolkit';\nimport { ENABLE_REDUX_DEV_TOOLS } from 'src/constants';\nimport rootReducer from './rootReducer';\n\nconst store = configureStore({\n reducer: rootReducer,\n devTools: ENABLE_REDUX_DEV_TOOLS\n});\n\nexport const useSelector = useReduxSelector;\n\nexport const useDispatch = () => useReduxDispatch();\n\nexport default store;\n","import { createBrowserHistory } from 'history';\r\n\r\nconst history = createBrowserHistory();\r\n\r\nexport function redirectToLoginPage() {\r\n history.push('/login'); \r\n}\r\n","import axios from 'axios';\nimport { redirectToLoginPage } from './routerUtils';\n\nconst axiosInstance = axios.create({\n baseURL: process.env.REACT_APP_API_URL\n});\n\naxiosInstance.interceptors.response.use(\n response => response,\n error => {\n if (error.response && error.response.status === 401) {\n console.log(\"error 401\");\n localStorage.clear();\n redirectToLoginPage(); \n }\n return Promise.reject(\n (error.response && error.response.data) || 'Something went wrong'\n );\n }\n);\n\nexport default axiosInstance;\n","export const APP_VERSION = '3.1.0';\n\nexport const ENABLE_REDUX_DEV_TOOLS = true;\n\nexport const THEMES = {\n LIGHT: 'LIGHT',\n ONE_DARK: 'ONE_DARK'\n // UNICORN: 'UNICORN'\n};\n\nexport const ROLES = {\n ANY: 'Any',\n DISPATCHER: 'Dispatcher',\n ADMINISTRATOR: 'Administrator',\n DRIVER: 'Driver',\n MANAGER: 'Manager',\n FINANCE: 'Finance',\n FINANCESUPER: 'FinanceSuper',\n FLEETOWNER: 'FleetOwner',\n BANKING: 'Banking',\n CLAIMTRACKERTEAM: 'ClaimTrackerTeam',\n DispatchManager: \"DispatchManager\",\n BookOrderApprover: \"BookOrderApprover\",\n FleetManager: \"FleetManager\"\n};\n\nexport const LOADBOARDS = [\n {\n loadBoardName: '1Dispatch',\n loadBoardId: '1dispatch'\n },\n {\n loadBoardName: 'ACV Transportation',\n loadBoardId: 'acvTransportation'\n },\n {\n loadBoardName: 'CarsArrive',\n loadBoardId: 'carsArrive'\n },\n {\n loadBoardName: 'Central Dispatch',\n loadBoardId: 'centralDispatch'\n },\n {\n loadBoardName: 'MetroLoads',\n loadBoardId: 'metroloads'\n },\n {\n loadBoardName: 'Ship.Cars',\n loadBoardId: 'shipCars'\n },\n {\n loadBoardName: 'Super Dispatch',\n loadBoardId: 'superDispatch'\n },\n {\n loadBoardName: 'Email',\n loadBoardId: 'email'\n },\n {\n loadBoardName: 'RunBuggy',\n loadBoardId: 'runbugy'\n },\n {\n loadBoardName: 'Autosled',\n loadBoardId: 'autsled'\n },\n {\n loadBoardName: 'RoadRunner',\n loadBoardId: 'roadrun'\n }\n];\n\nexport const BOOKSTATUSES = [\n {\n id: 'booked',\n name: 'Dispatched'\n },\n {\n id: 'pickedUp',\n name: 'Picked Up'\n },\n {\n id: 'delivered',\n name: 'Delivered'\n },\n {\n id: 'bolsent',\n name: 'BOL Sent'\n },\n {\n id: 'paid',\n name: 'Paid'\n },\n {\n id: 'deposited',\n name: 'Deposited'\n },\n {\n id: 'dryrun',\n name: 'Dry Run'\n }\n];\n\nexport const PAYMETHODS = [\n {\n id: 'Cash',\n name: 'Cash'\n },\n {\n id: 'Check',\n name: 'Check'\n },\n {\n id: 'CODCheck',\n name: 'COD Check'\n },\n {\n id: 'CreditCard',\n name: 'Credit Card'\n },\n {\n id: 'ACH',\n name: 'ACH'\n },\n {\n id: 'Zelle',\n name: 'Zelle'\n },\n {\n id: 'CashApp',\n name: 'CashApp'\n },\n {\n id: 'PayPal',\n name: 'PayPal'\n },\n // {\n // id: 'Venmo',\n // name: 'Venmo'\n // },\n {\n id: 'uShip',\n name: 'uShip'\n },\n {\n id: 'eCheck',\n name: 'E-Check'\n },\n {\n id: 'unknown',\n name: 'Unknown'\n }\n];\n\nexport const PAYERS = [\n {\n id: 'company',\n name: 'Company Money'\n },\n {\n id: 'driver',\n name: 'Drivers Own Money'\n }\n];\n\nexport const CARRIERS = [\n {\n id: 'select',\n name: 'Select Carrier'\n },\n {\n id: 'shipops',\n name: 'ShipOps'\n },\n {\n id: 'haulovercorp',\n name: 'HaulOver Corp'\n }\n];\n\nexport const STATES = [\n { name: 'NONE', label: '', id: 0 },\n { name: 'ALABAMA', label: 'AL', id: 1 },\n { name: 'ALASKA', label: 'AK', id: 2 },\n { name: 'AMERICAN SAMOA', label: 'AS', id: 3 },\n { name: 'ARIZONA', label: 'AZ', id: 4 },\n { name: 'ARKANSAS', label: 'AR', id: 5 },\n { name: 'CALIFORNIA', label: 'CA', id: 6 },\n { name: 'COLORADO', label: 'CO', id: 7 },\n { name: 'CONNECTICUT', label: 'CT', id: 8 },\n { name: 'DELAWARE', label: 'DE', id: 9 },\n { name: 'DISTRICT OF COLUMBIA', label: 'DC ', id: 10 },\n { name: 'FLORIDA', label: 'FL', id: 11 },\n { name: 'GEORGIA', label: 'GA', id: 12 },\n { name: 'GUAM', label: 'GU', id: 13 },\n { name: 'HAWAII', label: 'HI', id: 14 },\n { name: 'IDAHO', label: 'ID', id: 15 },\n { name: 'ILLINOIS', label: 'IL', id: 16 },\n { name: 'INDIANA', label: 'IN', id: 17 },\n { name: 'IOWA', label: 'IA', id: 18 },\n { name: 'KANSAS', label: 'KS', id: 19 },\n { name: 'KENTUCKY', label: 'KY', id: 20 },\n { name: 'LOUISIANA', label: 'LA', id: 21 },\n { name: 'MAINE', label: 'ME', id: 22 },\n { name: 'MARYLAND', label: 'MD', id: 23 },\n { name: 'MASSACHUSETTS', label: 'MA', id: 24 },\n { name: 'MICHIGAN', label: 'MI', id: 25 },\n { name: 'MINNESOTA', label: 'MN', id: 26 },\n { name: 'MISSISSIPPI', label: 'MS', id: 27 },\n { name: 'MISSOURI', label: 'MO', id: 28 },\n { name: 'MONTANA', label: 'MT', id: 29 },\n { name: 'NEBRASKA', label: 'NE', id: 30 },\n { name: 'NEVADA', label: 'NV', id: 31 },\n { name: 'NEW HAMPSHIRE', label: 'NH', id: 32 },\n { name: 'NEW JERSEY', label: 'NJ', id: 33 },\n { name: 'NEW MEXICO', label: 'NM', id: 34 },\n { name: 'NEW YORK', label: 'NY', id: 35 },\n { name: 'NORTH CAROLINA', label: 'NC', id: 36 },\n { name: 'NORTH DAKOTA', label: 'ND', id: 37 },\n { name: 'NORTHERN MARIANA', label: 'MP', id: 38 },\n { name: 'OHIO', label: 'OH', id: 39 },\n { name: 'OKLAHOMA', label: 'OK', id: 40 },\n { name: 'OREGON', label: 'OR', id: 41 },\n { name: 'PENNSYLVANIA', label: 'PA', id: 42 },\n { name: 'PUERTO RICO', label: 'PR', id: 43 },\n { name: 'RHODE ISLAND', label: 'RI', id: 44 },\n { name: 'SOUTH CAROLINA', label: 'SC', id: 45 },\n { name: 'SOUTH DAKOTA', label: 'SD', id: 46 },\n { name: 'TENNESSEE', label: 'TN', id: 47 },\n { name: 'TEXAS', label: 'TX', id: 48 },\n { name: 'UTAH', label: 'UT', id: 49 },\n { name: 'VERMONT', label: 'VT', id: 50 },\n { name: 'VIRGINIA', label: 'VA', id: 51 },\n { name: 'VIRGIN ISLANDS', label: 'VI', id: 52 },\n { name: 'WASHINGTON', label: 'WA', id: 53 },\n { name: 'WEST VIRGINIA', label: 'WV', id: 54 },\n { name: 'WISCONSIN', label: 'WI', id: 55 },\n { name: 'WYOMING', label: 'WY', id: 56 }\n];\n\nexport const COUNTRIES = [\n {\n name: 'USA',\n id: 1,\n adornment: '+1',\n digits: 10\n },\n {\n name: 'Georgia',\n id: 2,\n adornment: '+995',\n digits: 9\n },\n {\n name: 'Ukraine',\n id: 3,\n adornment: '',\n digits: 7\n },\n {\n name: 'India',\n id: 4,\n adornment: '+91',\n digits: 10\n },\n {\n name: 'Philippines',\n id: 5,\n adornment: '',\n digits: 12\n }\n];\n\nexport const phoneRegex = RegExp(\n /^\\d?\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/\n);\n\nexport const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n","import React, { useEffect } from 'react';\nimport NProgress from 'nprogress';\nimport { Box, LinearProgress, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n alignItems: 'center',\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n justifyContent: 'center',\n minHeight: '100%',\n padding: theme.spacing(3)\n }\n}));\n\nconst LoadingScreen = (props) => {\n const classes = useStyles();\n\n useEffect(() => {\n NProgress.start();\n\n return () => {\n NProgress.done();\n };\n }, []);\n\n return (\n
\n {props?.determinate ? (\n \n \n \n ) : (\n \n \n \n )}\n
\n );\n};\n\nexport default LoadingScreen;\n","const wait = (time) => {\n return new Promise((res) => setTimeout(res, time));\n};\n\nexport default wait;\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport * as signalR from '@microsoft/signalr'\n\nconst initialState = {\n callContactUser: false,\n onlineUsers: []\n}\n\nconst contactUsersSlices = createSlice({\n name: 'Call Contact User',\n initialState,\n reducers: {\n callUserForContact: (state, action) => {\n state.callContactUser = action.payload\n },\n setOnlineUsers: (state, action) => {\n state.onlineUsers = action.payload\n }\n }\n})\n\nconst baseUrl = `${process.env.REACT_APP_NOTIFY_URL}/notify`\n\nexport const getOnlineMembers = () => async (dsipatch) => {\n const accessToken = window.localStorage.getItem('accessToken');\n const connection = new signalR.HubConnectionBuilder()\n .withUrl(baseUrl, {\n headers: {\n Authorization: `Bearer ${accessToken}`\n }\n })\n .withAutomaticReconnect()\n .build();\n try {\n await connection.start();\n connection.on('ReceiveClientConnectedEvent', res => {\n console.log('Receive Client Connected Event', res);\n });\n connection.on('ReceiveClientConnectedEvent', res => {\n dsipatch(contactUsersSlices.actions.setOnlineUsers(res))\n });\n } catch (error) {\n console.log(error);\n }\n}\n\nexport const { callUserForContact, setOnlineUsers } = contactUsersSlices.actions\n\nexport default contactUsersSlices","import { createSlice } from '@reduxjs/toolkit';\nimport axios from 'src/utils/axios';\nimport objFromArray from 'src/utils/objFromArray';\n\nconst initialState = {\n activeThreadId: null,\n contacts: {\n byId: {},\n allIds: []\n },\n threads: {\n byId: {},\n allIds: []\n },\n participants: [],\n recipients: []\n};\n\nconst slice = createSlice({\n name: 'chat',\n initialState,\n reducers: {\n getContacts(state, action) {\n const { contacts } = action.payload;\n\n state.contacts.byId = objFromArray(contacts);\n state.contacts.allIds = Object.keys(state.contacts.byId);\n },\n getThreads(state, action) {\n const { threads } = action.payload;\n\n state.threads.byId = objFromArray(threads);\n state.threads.allIds = Object.keys(state.threads.byId);\n },\n getThread(state, action) {\n const { thread } = action.payload;\n\n if (thread) {\n state.threads.byId[thread.id] = thread;\n state.activeThreadId = thread.id;\n \n if (!state.threads.allIds.includes(thread.id)) {\n state.threads.allIds.push(thread.id);\n }\n } else {\n state.activeThreadId = null;\n }\n },\n markThreadAsSeen(state, action) {\n const { threadId } = action.payload;\n const thread = state.threads.byId[threadId];\n\n if (thread) {\n thread.unreadCount = 0;\n }\n },\n resetActiveThread(state) {\n state.activeThreadId = null;\n },\n getParticipants(state, action) {\n const { participants } = action.payload;\n\n state.participants = participants;\n },\n addRecipient(state, action) {\n const { recipient } = action.payload;\n const exists = state.recipients.find((_recipient) => _recipient.id === recipient.id);\n\n if (!exists) {\n state.recipients.push(recipient);\n }\n },\n removeRecipient(state, action) {\n const { recipientId } = action.payload;\n\n state.recipients = state.recipients.filter((recipient) => recipient.id !== recipientId);\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getContacts = () => async (dispatch) => {\n const response = await axios.get('/api/chat/contacts');\n\n dispatch(slice.actions.getContacts(response.data));\n};\n\nexport const getThreads = () => async (dispatch) => {\n const response = await axios.get('/api/chat/threads');\n\n dispatch(slice.actions.getThreads(response.data));\n};\n\nexport const getThread = (threadKey) => async (dispatch) => {\n const response = await axios.get('/api/chat/thread', {\n params: {\n threadKey\n }\n });\n\n dispatch(slice.actions.getThread(response.data));\n};\n\nexport const markThreadAsSeen = (threadId) => async (dispatch) => {\n await axios.get('/api/chat/thread/mark-as-seen', {\n params: {\n threadId\n }\n });\n\n dispatch(slice.actions.markThreadAsSeen({ threadId }));\n};\n\nexport const resetActiveThread = () => (dispatch) => {\n dispatch(slice.actions.resetActiveThread());\n};\n\nexport const getParticipants = (threadKey) => async (dispatch) => {\n const response = await axios.get('/api/chat/participants', {\n params: {\n threadKey\n }\n });\n\n dispatch(slice.actions.getParticipants(response.data));\n};\n\nexport const addRecipient = (recipient) => (dispatch) => {\n dispatch(slice.actions.addRecipient({ recipient }));\n};\n\nexport const removeRecipient = (recipientId) => (dispatch) => {\n dispatch(slice.actions.removeRecipient({ recipientId }));\n};\n\nexport default slice;\n","import { createSlice } from '@reduxjs/toolkit';\nimport axios from 'src/utils/axios';\n\nconst initialState = {\n notifications: []\n};\n\nconst slice = createSlice({\n name: 'notifications',\n initialState,\n reducers: {\n getNotifications(state, action) {\n const { notifications } = action.payload;\n\n state.notifications = notifications;\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getNotifications = () => async (dispatch) => {\n const response = await axios.get('/api/notifications');\n\n dispatch(slice.actions.getNotifications(response.data));\n};\n\nexport default slice;\n","import React, { createContext, useEffect, useReducer } from 'react';\nimport jwtDecode from 'jwt-decode';\nimport SplashScreen from 'src/components/SplashScreen';\nimport axios from 'src/utils/axios';\n\nconst initialAuthState = {\n isAuthenticated: false,\n isInitialised: false,\n user: null,\n userTypes: null\n};\n\nconst isValidToken = accessToken => {\n if (!accessToken) {\n return false;\n }\n\n const decoded = jwtDecode(accessToken);\n const currentTime = Date.now() / 1000;\n\n return decoded.exp > currentTime;\n};\n\nconst setSession = accessToken => {\n if (accessToken) {\n localStorage.setItem('accessToken', accessToken);\n axios.defaults.headers.common.Authorization = `Bearer ${accessToken}`;\n } else {\n localStorage.removeItem('accessToken');\n delete axios.defaults.headers.common.Authorization;\n }\n};\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'INITIALISE': {\n const { isAuthenticated, user, userTypes } = action.payload;\n\n return {\n ...state,\n isAuthenticated,\n isInitialised: true,\n user,\n userTypes\n };\n }\n case 'LOGIN': {\n const { user } = action.payload;\n\n return {\n ...state,\n isAuthenticated: true,\n user\n };\n }\n case 'LOGOUT': {\n return {\n ...state,\n isAuthenticated: false,\n user: null\n };\n }\n case 'REGISTER': {\n const { user } = action.payload;\n\n return {\n ...state,\n isAuthenticated: true,\n user\n };\n }\n default: {\n return { ...state };\n }\n }\n};\n\nconst AuthContext = createContext({\n ...initialAuthState,\n method: 'JWT',\n login: () => Promise.resolve(),\n logout: () => {},\n initialise: () => Promise.resolve(),\n register: () => Promise.resolve()\n});\n\nexport const AuthProvider = ({ children }) => {\n const [state, dispatch] = useReducer(reducer, initialAuthState);\n\n const login = async (email, password) => {\n const response = await axios.post('/api/Auth/login', { email, password });\n const { value } = response.data;\n //const user = JSON.parse(atob(accessToken.split('.')[1]));\n\n let user\n\n if(value) {\n const response = await axios.get('/api/token/me', {\n headers: {\n Authorization: `Bearer ${value}`\n }\n });\n\n if(response.status === 200 || response.status === 201) {\n user = response.data?.data\n }\n }\n \n setSession(value);\n dispatch({\n type: 'LOGIN',\n payload: {\n user\n }\n });\n };\n\n const logout = () => {\n setSession(null);\n dispatch({ type: 'LOGOUT' });\n };\n\n const register = async (\n email,\n firstname,\n lastname,\n userType,\n password,\n googleRecaptchaToken\n ) => {\n const response = await axios.post('/api/token/register', {\n email,\n firstname,\n lastname,\n userType,\n password,\n googleRecaptchaToken,\n AccountId: 1\n });\n const { accessToken, user } = response.data;\n\n window.localStorage.setItem('accessToken', accessToken);\n\n dispatch({\n type: 'REGISTER',\n payload: {\n user\n }\n });\n };\n\n const initialise = async () => {\n try {\n const accessToken = window.localStorage.getItem('accessToken');\n\n //here can be got UserTypes from backend\n const resp = await axios.get('/api/token/usertypes');\n const userTypes = resp.data;\n\n if (accessToken && isValidToken(accessToken)) {\n setSession(accessToken);\n\n const response = await axios.get('/api/token/me');\n const { data } = response.data;\n\n dispatch({\n type: 'INITIALISE',\n payload: {\n isAuthenticated: true,\n user: data,\n userTypes\n }\n });\n } else {\n dispatch({\n type: 'INITIALISE',\n payload: {\n isAuthenticated: false,\n user: null,\n userTypes\n }\n });\n }\n } catch (err) {\n console.log(err);\n if(err?.message?.includes(\"Invalid token\")) {\n window.localStorage.clear()\n initialise()\n }\n dispatch({\n type: 'INITIALISE',\n payload: {\n isAuthenticated: false,\n user: null\n }\n });\n }\n };\n\n useEffect(() => {\n initialise();\n }, []);\n\n if (!state.isInitialised) {\n return ;\n }\n\n return (\n \n {children}\n \n );\n};\n\nexport default AuthContext;\n","const track = (...args) => {\n if (process.env.NODE_ENV !== 'production') {\n return;\n }\n\n if (!window.gtag) {\n return;\n }\n\n window.gtag(...args);\n};\n\nconst pageview = (props) => {\n track('config', process.env.REACT_APP_GA_MEASUREMENT_ID, props);\n};\n\nconst event = (type, props) => {\n track('event', type, props);\n};\n\nexport default {\n pageview,\n event\n};\n","import React, {\n forwardRef,\n useEffect,\n useCallback\n} from 'react';\nimport { Helmet } from 'react-helmet';\nimport { useLocation } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport track from 'src/utils/analytics';\n\nconst Page = forwardRef(({\n children,\n title = '',\n ...rest\n}, ref) => {\n const location = useLocation();\n\n const sendPageViewEvent = useCallback(() => {\n track.pageview({\n page_path: location.pathname\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n sendPageViewEvent();\n }, [sendPageViewEvent]);\n\n return (\n \n \n {title}\n \n {children}\n \n );\n});\n\nPage.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string\n};\n\nexport default Page;\n","import React from 'react'\nimport { createContext, useEffect, useState } from \"react\"\nimport { useSelector } from \"react-redux\"\n\nexport const PermissionsContext = createContext(null)\n\nexport const PermissionsProvider = ({ children }) => {\n\n const { loading, data } = useSelector((state) => state.sidebarData)\n\n const [ permissions, setPermissions ] = useState({})\n\n useEffect(() => {\n\n if (!loading && data) {\n\n const permissionsObject = data?.reduce((acc, group) => {\n \n if (group?.features) {\n group.features.forEach((feature) => {\n \n if (feature?.title && feature?.permissions) {\n const featureTitleLowCase = feature?.title?.toLowerCase()\n acc[featureTitleLowCase] = feature?.permissions?.map((prev) => prev?.toLowerCase())\n }\n })\n }\n return acc\n }, {})\n\n setPermissions(permissionsObject)\n }\n }, [data, loading])\n\n\n return (\n \n {children}\n \n )\n}","import { createSlice } from '@reduxjs/toolkit';\nimport _ from 'lodash';\nimport axios from 'src/utils/axios';\nimport objFromArray from 'src/utils/objFromArray';\n\nconst initialState = {\n isLoaded: false,\n lists: {\n byId: {},\n allIds: []\n },\n cards: {\n byId: {},\n allIds: []\n },\n members: {\n byId: {},\n allIds: []\n }\n};\n\nconst slice = createSlice({\n name: 'kanban',\n initialState,\n reducers: {\n getBoard(state, action) {\n const { board } = action.payload;\n\n state.lists.byId = objFromArray(board.lists);\n state.lists.allIds = Object.keys(state.lists.byId);\n state.cards.byId = objFromArray(board.cards);\n state.cards.allIds = Object.keys(state.cards.byId);\n state.members.byId = objFromArray(board.members);\n state.members.allIds = Object.keys(state.members.byId);\n state.isLoaded = true;\n },\n createList(state, action) {\n const { list } = action.payload;\n\n state.lists.byId[list.id] = list;\n state.lists.allIds.push(list.id);\n },\n updateList(state, action) {\n const { list } = action.payload;\n\n state.lists.byId[list.id] = list;\n },\n clearList(state, action) {\n const { listId } = action.payload;\n const { cardIds } = state.lists.byId[listId];\n\n state.lists.byId[listId].cardIds = [];\n state.cards.byId = _.omit(state.cards.byId, cardIds);\n _.pull(state.cards.allIds, ...cardIds);\n },\n deleteList(state, action) {\n const { listId } = action.payload;\n\n state.lists.byId = _.omit(state.lists.byId, listId);\n _.pull(state.lists.allIds, listId);\n },\n createCard(state, action) {\n const { card } = action.payload;\n\n state.cards.byId[card.id] = card;\n state.cards.allIds.push(card.id);\n state.lists.byId[card.listId].cardIds.push(card.id);\n },\n updateCard(state, action) {\n const { card } = action.payload;\n\n _.merge(state.cards.byId[card.id], card);\n },\n moveCard(state, action) {\n const { cardId, position, listId } = action.payload;\n const { listId: sourceListId } = state.cards.byId[cardId];\n\n // Remove card from source list\n _.pull(state.lists.byId[sourceListId].cardIds, cardId);\n\n // If listId arg exists, it means that\n // we have to add the card to the new list\n if (listId) {\n state.cards.byId[cardId].listId = listId;\n state.lists.byId[listId].cardIds.splice(position, 0, cardId);\n } else {\n state.lists.byId[sourceListId].cardIds.splice(position, 0, cardId);\n }\n },\n deleteCard(state, action) {\n const { cardId } = action.payload;\n const { listId } = state.cards.byId[cardId];\n\n state.cards.byId = _.omit(state.cards.byId, cardId);\n _.pull(state.cards.allIds, cardId);\n _.pull(state.lists.byId[listId].cardIds, cardId);\n },\n addComment(state, action) {\n const { comment } = action.payload;\n const card = state.cards.byId[comment.cardId];\n\n card.comments.push(comment);\n },\n addChecklist(state, action) {\n const { cardId, checklist } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists.push(checklist);\n },\n updateChecklist(state, action) {\n const { cardId, checklist } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists = _.map(card.checklists, (_checklist) => {\n if (_checklist.id === checklist.id) {\n return checklist;\n }\n\n return _checklist;\n });\n },\n deleteChecklist(state, action) {\n const { cardId, checklistId } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists = _.reject(card.checklists, { id: checklistId });\n },\n addCheckItem(state, action) {\n const { cardId, checklistId, checkItem } = action.payload;\n const card = state.cards.byId[cardId];\n\n _.assign(card, {\n checklists: _.map(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: [...checklist.checkItems, checkItem]\n });\n }\n\n return checklist;\n })\n });\n },\n updateCheckItem(state, action) {\n const {\n cardId,\n checklistId,\n checkItem\n } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists = _.map(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: _.map(checklist.checkItems, (_checkItem) => {\n if (_checkItem.id === checkItem.id) {\n return checkItem;\n }\n\n return _checkItem;\n })\n });\n }\n\n return checklist;\n });\n },\n deleteCheckItem(state, action) {\n const { cardId, checklistId, checkItemId } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists = _.map(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: _.reject(checklist.checkItems, { id: checkItemId })\n });\n }\n\n return checklist;\n });\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getBoard = () => async (dispatch) => {\n const response = await axios.get('/api/kanban/board');\n\n dispatch(slice.actions.getBoard(response.data));\n};\n\nexport const createList = (name) => async (dispatch) => {\n const response = await axios.post('/api/kanban/lists/new', {\n name\n });\n\n dispatch(slice.actions.createList(response.data));\n};\n\nexport const updateList = (listId, update) => async (dispatch) => {\n const response = await axios.post('/api/kanban/list/update', {\n listId,\n update\n });\n\n dispatch(slice.actions.updateList(response.data));\n};\n\nexport const clearList = (listId) => async (dispatch) => {\n await axios.post('/api/kanban/lists/clear', {\n listId\n });\n\n dispatch(slice.actions.clearList({ listId }));\n};\n\nexport const deleteList = (listId) => async (dispatch) => {\n await axios.post('/api/kanban/lists/remove', {\n listId\n });\n\n dispatch(slice.actions.deleteList({ listId }));\n};\n\nexport const createCard = (listId, name) => async (dispatch) => {\n const response = await axios.post('/api/kanban/cards/new', {\n listId,\n name\n });\n\n dispatch(slice.actions.createCard(response.data));\n};\n\nexport const updateCard = (cardId, update) => async (dispatch) => {\n const response = await axios.post('/api/kanban/cards/update', {\n cardId,\n update\n });\n\n dispatch(slice.actions.updateCard(response.data));\n};\n\nexport const moveCard = (cardId, position, listId) => async (dispatch) => {\n await axios.post('/api/kanban/cards/move', {\n cardId,\n position,\n listId\n });\n\n dispatch(slice.actions.moveCard({\n cardId,\n position,\n listId\n }));\n};\n\nexport const deleteCard = (cardId) => async (dispatch) => {\n await axios.post('/api/kanban/cards/remove', {\n cardId\n });\n\n dispatch(slice.actions.deleteCard({ cardId }));\n};\n\nexport const addComment = (cardId, message) => async (dispatch) => {\n const response = await axios.post('/api/kanban/comments/new', {\n cardId,\n message\n });\n\n dispatch(slice.actions.addComment(response.data));\n};\n\nexport const addChecklist = (cardId, name) => async (dispatch) => {\n const response = await axios.post('/api/kanban/checklists/new', {\n cardId,\n name\n });\n const { checklist } = response.data;\n\n dispatch(slice.actions.addChecklist({\n cardId,\n checklist\n }));\n};\n\nexport const updateChecklist = (cardId, checklistId, update) => async (dispatch) => {\n const response = await axios.post('/api/kanban/checklists/update', {\n cardId,\n checklistId,\n update\n });\n const { checklist } = response.data;\n\n dispatch(slice.actions.updateChecklist({\n cardId,\n checklist\n }));\n};\n\nexport const deleteChecklist = (cardId, checklistId) => async (dispatch) => {\n await axios.post('/api/kanban/checklists/remove', {\n cardId,\n checklistId\n });\n\n dispatch(slice.actions.deleteChecklist({\n cardId,\n checklistId\n }));\n};\n\nexport const addCheckItem = (cardId, checklistId, name) => async (dispatch) => {\n const response = await axios.post('/api/kanban/checkitems/new', {\n cardId,\n checklistId,\n name\n });\n const { checkItem } = response.data;\n\n dispatch(slice.actions.addCheckItem({\n cardId,\n checklistId,\n checkItem\n }));\n};\n\nexport const updateCheckItem = (cardId, checklistId, checkItemId, update) => async (dispatch) => {\n const response = await axios.post('/api/kanban/checkitems/update', {\n cardId,\n checklistId,\n checkItemId,\n update\n });\n const { checkItem } = response.data;\n\n dispatch(slice.actions.updateCheckItem({\n cardId,\n checklistId,\n checkItem\n }));\n};\n\nexport const deleteCheckItem = (cardId, checklistId, checkItemId) => async (dispatch) => {\n await axios.post('/api/kanban/checkitems/remove', {\n cardId,\n checklistId,\n checkItemId\n });\n\n dispatch(slice.actions.deleteCheckItem({\n cardId,\n checklistId,\n checkItemId\n }));\n};\n\nexport default slice;\n","import { createSlice } from '@reduxjs/toolkit';\nimport axios from 'src/utils/axios';\nimport objFromArray from 'src/utils/objFromArray';\n\nconst initialState = {\n mails: {\n byId: {},\n allIds: []\n },\n labels: [],\n isSidebarOpen: false,\n isComposeOpen: false\n};\n\nconst slice = createSlice({\n name: 'mail',\n initialState,\n reducers: {\n getLabels(state, action) {\n const { labels } = action.payload;\n\n state.labels = labels;\n },\n getMails(state, action) {\n const { mails } = action.payload;\n\n state.mails.byId = objFromArray(mails);\n state.mails.allIds = Object.keys(state.mails.byId);\n },\n getMail(state, action) {\n const { mail } = action.payload;\n\n state.mails.byId[mail.id] = mail;\n\n if (!state.mails.allIds.includes(mail.id)) {\n state.mails.allIds.push(mail.id);\n }\n },\n openSidebar(state) {\n state.isSidebarOpen = true;\n },\n closeSidebar(state) {\n state.isSidebarOpen = false;\n },\n openCompose(state) {\n state.isComposeOpen = true;\n },\n closeCompose(state) {\n state.isComposeOpen = false;\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getLabels = () => async (dispatch) => {\n const response = await axios.get('/api/mail/labels');\n\n dispatch(slice.actions.getLabels(response.data));\n};\n\nexport const getMails = (params) => async (dispatch) => {\n const response = await axios.get('/api/mail/mails', {\n params\n });\n\n dispatch(slice.actions.getMails(response.data));\n};\n\nexport const getMail = (mailId) => async (dispatch) => {\n const response = await axios.get('/api/mail/mail', {\n params: {\n mailId\n }\n });\n\n dispatch(slice.actions.getMail(response.data));\n};\n\nexport const openSidebar = () => async (dispatch) => {\n dispatch(slice.actions.openSidebar());\n};\n\nexport const closeSidebar = () => async (dispatch) => {\n dispatch(slice.actions.closeSidebar());\n};\n\nexport const openCompose = () => async (dispatch) => {\n dispatch(slice.actions.openCompose());\n};\n\nexport const closeCompose = () => async (dispatch) => {\n dispatch(slice.actions.closeCompose());\n};\n\nexport default slice;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getClaimsStatus = createAsyncThunk(\n 'Get Claim Status',\n async (arg, { rejectWithValue }) => {\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-claim-statuses') \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimStatusSlice = createSlice({\n name: 'Claim Status',\n initialState,\n reducers: {},\n extraReducers: {\n [getClaimsStatus.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getClaimsStatus.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getClaimsStatus.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimStatusSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../utils/axios'\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: ''\n}\n\nexport const getAllusers = createAsyncThunk(\n 'Permisions/GetAllUsers',\n async ( arg, { rejectWithValue } ) => {\n try {\n const { data } = await axios.get('/api/User')\n return data\n } catch (error) {\n rejectWithValue(error)\n }\n }\n)\n\nconst userSlice = createSlice({\n name: 'All Users',\n initialState,\n reducers: {},\n extraReducers: {\n [getAllusers.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getAllusers.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getAllusers.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.errorMessage = \"Users could not be loaded. Contact the administrator\"\n }\n }\n})\n\nexport default userSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getClaimsPriorities = createAsyncThunk(\n 'Get Claim Priorities',\n async (arg, { rejectWithValue }) => {\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-claim-priorities') \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimTrackerPrioritiesSlice = createSlice({\n name: 'Claim Priorities',\n initialState,\n reducers: {},\n extraReducers: {\n [getClaimsPriorities.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getClaimsPriorities.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getClaimsPriorities.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimTrackerPrioritiesSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getClaimsType = createAsyncThunk(\n 'Get Claim Type',\n async (arg, { rejectWithValue }) => {\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-claim-tracker-types') \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimTrackerTypeSlice = createSlice({\n name: 'Claim Type',\n initialState,\n reducers: {},\n extraReducers: {\n [getClaimsType.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getClaimsType.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getClaimsType.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimTrackerTypeSlice","import { createSlice } from '@reduxjs/toolkit';\nimport _ from 'lodash';\nimport axios from 'src/utils/axios';\n\nconst initialState = {\n events: [],\n isModalOpen: false,\n selectedEventId: null,\n selectedRange: null\n};\n\nconst slice = createSlice({\n name: 'calendar',\n initialState,\n reducers: {\n getEvents(state, action) {\n const { events } = action.payload;\n\n\n state.events = events;\n },\n createEvent(state, action) {\n const { event } = action.payload;\n\n state.events = [...state.events, event];\n },\n selectEvent(state, action) {\n const { eventId = null } = action.payload;\n\n state.isModalOpen = true;\n state.selectedEventId = eventId;\n },\n updateEvent(state, action) {\n const { event } = action.payload;\n\n state.events = _.map(state.events, (_event) => {\n if (_event.id === event.id) {\n return event;\n }\n\n return _event;\n });\n },\n deleteEvent(state, action) {\n const { eventId } = action.payload;\n\n state.events = _.reject(state.events, { id: eventId });\n },\n selectRange(state, action) {\n const { start, end } = action.payload;\n\n state.isModalOpen = true;\n state.selectedRange = {\n start,\n end\n };\n },\n openModal(state) {\n state.isModalOpen = true;\n },\n closeModal(state) {\n state.isModalOpen = false;\n state.selectedEventId = null;\n state.selectedRange = null;\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getEvents = () => async (dispatch) => {\n const response = await axios.get('/api/calendar/events');\n\n dispatch(slice.actions.getEvents(response.data));\n};\n\nexport const createEvent = (data) => async (dispatch) => {\n const response = await axios.post('/api/calendar/events/new', data);\n\n dispatch(slice.actions.createEvent(response.data));\n};\n\nexport const selectEvent = (eventId) => async (dispatch) => {\n dispatch(slice.actions.selectEvent({ eventId }));\n};\n\nexport const updateEvent = (eventId, update) => async (dispatch) => {\n const response = await axios.post('/api/calendar/events/update', {\n eventId,\n update\n });\n\n dispatch(slice.actions.updateEvent(response.data));\n};\n\nexport const deleteEvent = (eventId) => async (dispatch) => {\n await axios.post('/api/calendar/events/remove', {\n eventId\n });\n\n dispatch(slice.actions.deleteEvent({ eventId }));\n};\n\nexport const selectRange = (start, end) => (dispatch) => {\n dispatch(slice.actions.selectRange({\n start: start.getTime(),\n end: end.getTime()\n }));\n};\n\nexport const openModal = () => (dispatch) => {\n dispatch(slice.actions.openModal());\n};\n\nexport const closeModal = () => (dispatch) => {\n dispatch(slice.actions.closeModal());\n};\n\nexport default slice;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from 'src/utils/axios'\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: [],\n loading: false,\n error: ''\n}\n\nexport const getAllDriver = createAsyncThunk(\n 'Get All Driver',\n async (arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/Driver/GetAllNames', { params: {\n ShowDeleted: true\n } })\n return data\n } catch (error) {\n rejectWithValue(error)\n console.log(error);\n }\n }\n)\n\nconst driversSlice = createSlice({\n name: 'All Driver',\n initialState,\n reducers: {\n\n },\n extraReducers: {\n [getAllDriver.pending] : (state, { payload }) => {\n state.loading = true\n },\n [getAllDriver.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getAllDriver.rejected]: (state, { payload }) => {\n state.isSuccess = false\n state.errorMessage = payload\n state.loading = false\n }\n }\n})\n\nexport default driversSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getClaimsCompanies = createAsyncThunk(\n 'Get Claim Companies',\n async (arg, { rejectWithValue }) => {\n try {\n const {data} = await axios.get('/api/Carriers/dropdown-list') \n return data?.data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimTrackerCompnaieSlice = createSlice({\n name: 'Claim Type',\n initialState,\n reducers: {},\n extraReducers: {\n [getClaimsCompanies.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getClaimsCompanies.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getClaimsCompanies.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimTrackerCompnaieSlice","import { createSlice } from \"@reduxjs/toolkit\";\nimport axios from 'src/utils/axios'\n\nconst initialState = {\n data: [],\n loading: false,\n searchResults: [],\n searchValue: '',\n isActiveFilter: null,\n driverSecurity: null,\n endingBalance: null\n}\n\nconst driverBalanceSlice = createSlice({\n name: 'driver balance',\n initialState,\n reducers: {\n getDriverBalanceStart: (state) => {\n state.loading = true;\n },\n getDriverBalanceSuccess: (state, action) => {\n state.data = action.payload;\n state.searchResults = action.payload;\n state.loading = false;\n },\n getDriverBalanceFailure: (state) => {\n state.loading = false;\n },\n searchDriverBalance: (state, action) => {\n const searchTerm = action.payload.toLowerCase();\n state.searchResults = state.data?.value?.filter((item) =>\n item?.fullName?.toLowerCase().includes(searchTerm)\n );\n },\n setDriverBalanceSearchValue: (state, action) => {\n state.searchValue = action.payload\n },\n setDriverBalanceActiveFilter: (state, action) => {\n state.isActiveFilter = action.payload\n },\n setDriverBalanceSecurity: (state, action) => {\n state.driverSecurity = action.payload\n },\n setDriverEndingBalance: (state, action) => {\n state.endingBalance = action.payload\n }\n }\n})\n\nexport const { \n getDriverBalanceStart, \n getDriverBalanceSuccess, \n getDriverBalanceFailure, \n searchDriverBalance, \n setDriverBalanceSearchValue,\n setDriverBalanceActiveFilter,\n setDriverBalanceSecurity,\n setDriverEndingBalance\n} = driverBalanceSlice.actions;\n\nexport const getDriverBalanceApi = () => async (dispatch) => {\n try {\n dispatch(getDriverBalanceStart());\n const response = await axios.get('/api/Driver/get-balances-state');\n dispatch(getDriverBalanceSuccess(response));\n } catch (error) {\n dispatch(getDriverBalanceFailure());\n }\n}\n\nexport const searchDriverBalanceApi = (searchTerm) => async (dispatch) => {\n try {\n dispatch(getDriverBalanceStart());\n const response = await axios.get('/api/Driver/get-balances-state');\n dispatch(getDriverBalanceSuccess(response));\n dispatch(searchDriverBalance(searchTerm));\n } catch (error) {\n dispatch(getDriverBalanceFailure());\n }\n};\n\nexport default driverBalanceSlice.reducer;","import { createSlice } from '@reduxjs/toolkit';\r\n\r\nconst initialState = {\r\n DispatcherId: null,\r\n DriverId: null,\r\n filtered: 'current',\r\n from: null,\r\n hasManagerRevieW: false,\r\n page: 0,\r\n payOnDelivery: false,\r\n payOnPickup: false,\r\n paymentMethod: null,\r\n search: '',\r\n showDeleted: false,\r\n showNotApproved: false,\r\n size: 50,\r\n to: null\r\n};\r\n\r\nexport const bookOrderFiltersSlice = createSlice({\r\n name: 'filters',\r\n initialState,\r\n reducers: {\r\n setDispatcher: (state, action) => {\r\n state.DispatcherId = action.payload;\r\n },\r\n setDriver: (state, action) => {\r\n state.DriverId = action.payload;\r\n },\r\n setPeriod: (state, action) => {\r\n state.filtered = action.payload;\r\n },\r\n setFrom: (state, action) => {\r\n state.from = action.payload;\r\n },\r\n setHasManagerReview: (state, action) => {\r\n state.hasManagerRevieW = action.payload;\r\n },\r\n setPage: (state, action) => {\r\n state.page = action.payload;\r\n },\r\n setPayOnDelivery: (state, action) => {\r\n state.payOnDelivery = action.payload;\r\n },\r\n setPayOnPickup: (state, action) => {\r\n state.payOnPickup = action.payload;\r\n },\r\n setPaymentMethod: (state, action) => {\r\n state.paymentMethod = action.payload;\r\n },\r\n setSearch: (state, action) => {\r\n state.search = action.payload;\r\n },\r\n setShowDeleted: (state, action) => {\r\n state.showDeleted = action.payload;\r\n },\r\n setShowNotApproved: (state, action) => {\r\n state.showNotApproved = action.payload;\r\n },\r\n setSize: (state, action) => {\r\n state.size = action.payload;\r\n },\r\n setTo: (state, action) => {\r\n state.to = action.payload;\r\n },\r\n clearFilters: () => initialState\r\n }\r\n});\r\n\r\nexport const {\r\n setDispatcher,\r\n setDriver,\r\n setPeriod,\r\n setFrom,\r\n setHasManagerReview,\r\n setPage,\r\n setPayOnDelivery,\r\n setPayOnPickup,\r\n setPaymentMethod,\r\n setSearch,\r\n setShowDeleted,\r\n setShowNotApproved,\r\n setSize,\r\n setTo,\r\n clearFilters\r\n} = bookOrderFiltersSlice.actions;\r\n\r\nexport default bookOrderFiltersSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\n\nconst initialState = {\n editSelectData: undefined,\n};\n\nconst destinationSlice = createSlice({\n name: 'destination',\n initialState,\n reducers: {\n setEditSelectData: (state, action) => {\n state.editSelectData = action.payload\n }\n }\n});\n\nexport const { setEditSelectData } = destinationSlice.actions\nexport default destinationSlice.reducer","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\nimport axios from 'src/utils/axios'\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: ''\n}\n\nexport const getAllRolePermission = createAsyncThunk(\n 'permission/GetAllRolePermission',\n async (params, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/Role/get-all-roles')\n return data\n } catch (error) {\n rejectWithValue(error)\n }\n }\n)\n\nconst rolePermissionSlice = createSlice({\n name: 'Role All Permission',\n initialState,\n reducers: {},\n extraReducers: {\n [getAllRolePermission.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getAllRolePermission.fulfilled]: (state, { payload }) => {\n state.loading = false;\n state.data = payload;\n state.isSuccess = true;\n },\n [getAllRolePermission.rejected]: (state, { payload }) => {\n state.error = payload;\n state.errorMessage =\n 'A problem has occurred, please contact the administrator';\n state.loading = false;\n state.isSuccess = false;\n }\n }\n})\n\nexport default rolePermissionSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from \"../../utils/axios\";\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false\n}\n\nexport const getBrokerTransactStatus = createAsyncThunk(\n 'brokerFee/GetBrokerTransactionStatus',\n async ( arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/Brokers/v2/fee/transaction-statuses')\n return data\n } catch ( error ) {\n rejectWithValue( error )\n }\n }\n)\n\n\nconst brokerTransactionStatusesSlice = createSlice({\n name: 'brokerTransactionStatuses',\n initialState,\n reducers: {},\n extraReducers: {\n [getBrokerTransactStatus.pending] : ( state, { payload }) => {\n state.loading = true\n },\n [getBrokerTransactStatus.fulfilled] : ( state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getBrokerTransactStatus.rejected] : ( state, { payload }) => {\n state.errorMessage = payload\n state.loading = false\n state.isSuccess = false\n }\n }\n})\n\nexport default brokerTransactionStatusesSlice\n","import {createSlice, createAsyncThunk} from \"@reduxjs/toolkit\";\nimport axios from \"../../utils/axios\";\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: ''\n}\n\nexport const getBrokerTableData = createAsyncThunk(\n 'brokerFee/GetBrokerFeeTableData',\n async ( arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/Brokers/v2/fee/transactions-filtered', {params: {\n Page: arg.Page,\n Size: arg.Size,\n Search: arg.Search,\n Status: arg.Status\n }})\n return data\n } catch (error) {\n rejectWithValue(error)\n }\n }\n)\n\nconst brokerFeeSlice = createSlice({\n name: 'brokerFeeTable',\n initialState,\n reducers: {},\n extraReducers: {\n [getBrokerTableData.pending]: (state, {payload}) => {\n state.loading = true\n },\n [getBrokerTableData.fulfilled]: (state, {payload}) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getBrokerTableData.rejected] : ( state, { payload } ) => {\n state.error = payload\n state.errorMessage = \"Broker Fee A problem occurred - contact the administrator\"\n state.loading = false\n state.isSuccess = false\n }\n }\n})\n\nexport default brokerFeeSlice\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\nimport axios from 'src/utils/axios'\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: ''\n}\n\nexport const getAllPermissions = createAsyncThunk(\n 'Permissions/GetAllPermissions',\n async ( arg, { rejectWithValue } ) => {\n try {\n const { data } = await axios.get('/api/Permission/get-features-permissions-info')\n return data\n } catch (error) {\n rejectWithValue(error)\n }\n }\n)\n\n\nconst permissionsSlice = createSlice({\n name: 'All Permissions',\n initialState,\n reducers: {},\n extraReducers: {\n [getAllPermissions.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getAllPermissions.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getAllPermissions.rejected]: (state, { payload }) => {\n state.isSuccess = false\n state.errorMessage = payload\n state.loading = false\n }\n }\n})\n\nexport default permissionsSlice","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst initialState = {\n claimId: null,\n claimNumber: null,\n buttonOpen: false\n}\n\nconst claimsTrackerSubmit = createSlice({\n name: 'submit claims tracker data',\n initialState,\n reducers: {\n getClaimInformation(state, action) {\n state.claimId = action.payload.claimId\n state.claimNumber = action.payload.claimNumber\n state.buttonOpen = true\n },\n },\n extraReducers: {\n\n }\n})\n\nexport const { getClaimInformation } = claimsTrackerSubmit.actions\n\nexport default claimsTrackerSubmit","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from 'src/utils/axios'\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: [],\n loading: false,\n error: ''\n}\n\nexport const getAllTruckVin = createAsyncThunk(\n 'VIN NUMMBER',\n async (arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/Units/get-all-trucks-dropdown', { params: {\n HideAssigned: false\n }})\n return data\n } catch (error) {\n rejectWithValue(error)\n console.log(error);\n }\n }\n)\n\nconst truckVinSlice = createSlice({\n name: 'All Truck Vin',\n initialState,\n reducers: {\n\n },\n extraReducers: {\n [getAllTruckVin.pending] : (state, { payload }) => {\n state.loading = true\n },\n [getAllTruckVin.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getAllTruckVin.rejected]: (state, { payload }) => {\n state.isSuccess = false\n state.errorMessage = payload\n state.loading = false\n }\n }\n})\n\nexport default truckVinSlice","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport axios from 'src/utils/axios';\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: [],\n loading: false,\n error: ''\n};\n\nexport const getClaimsTeamUsers = createAsyncThunk(\n 'Get All Claims Team Users',\n async (arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/ClaimTracker/get-assign-to-user-list', { params: {\n ShowDeleted: true\n } })\n return data;\n } catch (error) {\n rejectWithValue(error);\n console.log(error);\n }\n }\n);\n\nconst claimsTeamUsersSlice = createSlice({\n name: 'All Claim Team Users',\n initialState,\n reducers: {\n\n },\n extraReducers: {\n [getClaimsTeamUsers.pending]: (state, { payload }) => {\n state.loading = true;\n },\n [getClaimsTeamUsers.fulfilled]: (state, { payload }) => {\n state.loading = false;\n state.data = payload;\n state.isSuccess = true;\n },\n [getClaimsTeamUsers.rejected]: (state, { payload }) => {\n state.isSuccess = false;\n state.errorMessage = payload;\n state.loading = false;\n }\n }\n});\n\nexport default claimsTeamUsersSlice;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getAllClaimsTracker = createAsyncThunk(\n 'Get All Claims Tracker',\n async (arg, { rejectWithValue }) => {\n console.log(arg);\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-all-claimtrackers', {\n params: {\n Filtered: arg.selectedClaimLastWeek,\n From: arg.selectedDateFrom,\n To: arg.selectedDateTo,\n ClaimStatus: arg.selectedClaimStatus,\n DriverId: arg.selectedDriver,\n ClaimType: arg.selectedClaimTypes,\n ClaimPriority: arg.selectedClaimPriorities,\n ClaimNumber: arg.selectedClaimNumber,\n Page: arg.page,\n Size: arg.rowsPerPage\n }\n }) \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimsAllDataSlice = createSlice({\n name: 'All Claims Tracker',\n initialState,\n reducers: {},\n extraReducers: {\n [getAllClaimsTracker.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getAllClaimsTracker.fulfilled]: (state, { payload }) => {\n if(payload === 'Something went wrong') {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n } else {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n }\n },\n [getAllClaimsTracker.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimsAllDataSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getAllUser = createAsyncThunk(\n 'Get All Users',\n async (arg, { rejectWithValue }) => {\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-user-names') \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst allUsersSlice = createSlice({\n name: 'all users',\n initialState,\n reducers: {},\n extraReducers: {\n [getAllUser.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getAllUser.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getAllUser.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default allUsersSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getClaimOrders = createAsyncThunk(\n 'Get Claim Orders',\n async (arg, { rejectWithValue }) => {\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-orderIds', {\n params: {\n startsWith: arg\n }\n }) \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimOrdersSlice = createSlice({\n name: 'Claim Orders',\n initialState,\n reducers: {},\n extraReducers: {\n [getClaimOrders.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getClaimOrders.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getClaimOrders.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimOrdersSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getClaimPrequests = createAsyncThunk(\n 'Get Claim Preqrqeust',\n async (arg, { rejectWithValue }) => {\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-step-prerequisite', {\n params: {\n claimId: arg\n }\n }) \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimClaimPrequestsSlice = createSlice({\n name: 'Claim Preqrequest',\n initialState,\n reducers: {},\n extraReducers: {\n [getClaimPrequests.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getClaimPrequests.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getClaimPrequests.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimClaimPrequestsSlice","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport axios from '../../utils/axios';\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: ''\n};\n\nexport const getBookOrders = createAsyncThunk(\n 'bookOrders/GetFilteredBookOrders',\n async (params, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/BookOrder/filter-books', {\n params\n });\n return data;\n } catch (error) {\n rejectWithValue(error);\n }\n }\n);\n\nconst bookOrdersSlice = createSlice({\n name: 'bookOrdersTable',\n initialState,\n reducers: {},\n extraReducers: {\n [getBookOrders.pending]: (state, { payload }) => {\n state.loading = true;\n },\n [getBookOrders.fulfilled]: (state, { payload }) => {\n state.loading = false;\n state.data = payload;\n state.isSuccess = true;\n },\n [getBookOrders.rejected]: (state, { payload }) => {\n state.error = payload;\n state.errorMessage =\n 'A problem has occurred, please contact the administrator';\n state.loading = false;\n state.isSuccess = false;\n }\n }\n});\n\nexport default bookOrdersSlice;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getClaimTrackerPrecentChartData = createAsyncThunk(\n 'Get Claim Precente Chart',\n async (arg, { rejectWithValue }) => {\n console.log(arg);\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-claim-statuses-chart', {params: {\n To: arg.dateTo,\n From: arg.dateForm\n }}) \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimTrackerPrecentSlice = createSlice({\n name: 'Claim Tracker Precent Chart',\n initialState,\n reducers: {},\n extraReducers: {\n [getClaimTrackerPrecentChartData.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getClaimTrackerPrecentChartData.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getClaimTrackerPrecentChartData.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimTrackerPrecentSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: false\n}\n\nexport const getClaimDynamicChart = createAsyncThunk(\n 'Get Claim Dynamic Chart',\n async (arg, { rejectWithValue }) => {\n console.log(arg);\n try {\n const {data} = await axios.get('/api/ClaimTracker/get-claim-chart', {params: {\n To: arg.dateTo,\n From: arg.dateForm\n }}) \n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst claimDynamicChartSlice = createSlice({\n name: 'Claim Tracker Dynamic Chart',\n initialState,\n reducers: {},\n extraReducers: {\n [getClaimDynamicChart.pending]: (state, { payload }) => {\n state.loading = true\n },\n [getClaimDynamicChart.fulfilled]: (state, { payload }) => {\n state.loading = false\n state.data = payload\n state.isSuccess = true\n },\n [getClaimDynamicChart.rejected]: (state, { payload }) => {\n state.loading = false\n state.isSuccess = false\n state.error = true\n state.data = payload\n }\n }\n})\n\nexport default claimDynamicChartSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from 'src/utils/axios'\n\nconst initialState = {\n data: [],\n loading: false,\n ErrorMessage: []\n}\n\nexport const getEstimatedChanges = createAsyncThunk(\n 'Get Estimated Changes',\n async (arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get(`/api/ServiceTypes/get-estimated-changes/${arg.userId}`)\n return data\n } catch (error) {\n return error\n }\n }\n)\n\nconst estimatedChangesSlice = createSlice({\n name: 'Estimated Change',\n initialState,\n reducers: {},\n extraReducers: {\n [getEstimatedChanges.pending]: (state) => {\n state.loading = true\n },\n [getEstimatedChanges.fulfilled]: (state, { payload }) => {\n state.data = payload\n state.loading = false\n },\n [getEstimatedChanges.rejected]: (state, { payload }) => {\n state.ErrorMessage = payload\n state.loading = false\n }\n }\n})\n\nexport default estimatedChangesSlice","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport axios from 'src/utils/axios'\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: ''\n}\n\nexport const getChaseTransactions = createAsyncThunk(\n 'Bank/GetChaseTransactions',\n async(arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/TransactionsMatching/get-chase-transactions-date-filters', { params: {\n arg\n } })\n return data\n } catch (error) {\n rejectWithValue(error)\n }\n }\n)\n\nconst chaseTransactionsSlice = createSlice({\n name: 'Chase Transactions',\n initialState,\n reducers: {},\n extraReducers: {\n [getChaseTransactions.pending] : (state) => {\n state.loading = true\n },\n [getChaseTransactions.fulfilled] : (state, { payload }) => {\n state.loading = false;\n state.data = payload;\n state.isSuccess = true;\n },\n [getChaseTransactions.rejected] : (state, { payload }) => {\n state.error = payload;\n state.errorMessage =\n 'A problem has occurred, please contact the administrator';\n state.loading = false;\n state.isSuccess = false;\n }\n }\n})\n\nexport default chaseTransactionsSlice","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport axios from 'src/utils/axios'\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: ''\n}\n\nexport const getInvoiceCategory = createAsyncThunk(\n 'Bank/GetInvoiceCategory',\n async(arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('/api/Invoices/get-category-types', {\n params: {\n arg\n }\n })\n return data\n } catch (error) {\n rejectWithValue(error)\n }\n }\n)\n\nconst invoiceCategorySlice = createSlice({\n name: 'Invoice Category',\n initialState,\n reducers: {},\n extraReducers: {\n [getInvoiceCategory.pending] : (state) => {\n state.loading = true\n },\n [getInvoiceCategory.fulfilled] : (state, { payload }) => {\n state.loading = false;\n state.data = payload;\n state.isSuccess = true;\n },\n [getInvoiceCategory.rejected] : (state, { payload }) => {\n state.error = payload;\n state.errorMessage =\n 'A problem has occurred, please contact the administrator';\n state.loading = false;\n state.isSuccess = false;\n }\n }\n})\n\nexport default invoiceCategorySlice","// api/Shipper/get-all-shippers-dropdown\nimport { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport axios from '../../utils/axios'\n\nconst initialState = {\n data: [],\n isSuccess: false,\n errorMessage: '',\n loading: false,\n error: ''\n}\n\nexport const getShippers = createAsyncThunk(\n 'Bank/GetShipperData',\n async(arg, { rejectWithValue }) => {\n try {\n const { data } = await axios.get('api/Shipper/get-all-shippers-dropdown', {\n arg\n })\n return data\n } catch (error) {\n rejectWithValue(error)\n }\n }\n)\n\nconst shipperSlice = createSlice({\n name: 'Shipper',\n initialState,\n reducers: {},\n extraReducers: {\n [getShippers.pending] : (state) => {\n state.loading = true\n },\n [getShippers.fulfilled] : (state, { payload }) => {\n state.loading = false;\n state.data = payload;\n state.isSuccess = true;\n },\n [getShippers.rejected] : (state, { payload }) => {\n state.error = payload;\n state.errorMessage =\n 'A problem has occurred, please contact the administrator';\n state.loading = false;\n state.isSuccess = false;\n }\n }\n})\n\nexport default shipperSlice","import React from 'react';\nimport {\n Box,\n LinearProgress,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n alignItems: 'center',\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n justifyContent: 'center',\n left: 0,\n padding: theme.spacing(3),\n position: 'fixed',\n top: 0,\n width: '100%',\n zIndex: 2000\n }\n}));\n\nconst SlashScreen = () => {\n const classes = useStyles();\n\n return (\n
\n \n \n \n
\n );\n}\n\nexport default SlashScreen;\n","import * as MuiIcons from '@material-ui/icons'\n\nconst icons = Object.keys(MuiIcons).map((key) => ({\n name: key,\n component: MuiIcons[key],\n}))\n\nexport default icons\n\nexport { MuiIcons }","import { useContext } from 'react';\r\nimport AuthContext from 'src/contexts/JWTAuthContext';\r\n\r\nconst useAuth = () => useContext(AuthContext);\r\n\r\nexport default useAuth;\r\n"],"sourceRoot":""}