{"version":3,"sources":["utils/axios.ts","ui-component/extended/Transitions.tsx","menu-items/dashboard.tsx","menu-items/widget.tsx","menu-items/index.tsx","store/slices/snackbar.ts","store/actions.ts","store/accountReducer.ts","contexts/AWSCognitoContext.tsx","ui-component/Loader.tsx","contexts/ConfigContext.tsx","hooks/useLocalStorage.ts","ui-component/extended/Breadcrumbs.tsx","ui-component/cards/MainCard.tsx","ui-component/Logo.tsx","assets/images/users/avatar-1.png","ui-component/extended/Chip.tsx","store/slices/loader.ts","Services/GeneralSystemService.ts","assets/images/users/avatar-3.png","store/slices/kanban.ts","assets/images/users/avatar-2.png","store/slices/user.ts","assets/images/profile/img-profile1.png","assets/images/profile/img-profile2.jpg","assets/images/profile/img-profile4.jpg","store/slices/product.ts","store/slices/cart.ts","store/slices/customer.ts","store/slices/contact.ts","store/slices/chat.ts","store/slices/calendar.ts","store/slices/mail.ts","assets/images/logo-dark.svg","assets/images/TalLogo.jpg","assets/scss/_theme1.module.scss","assets/scss/_theme2.module.scss","assets/scss/_theme3.module.scss","assets/scss/_theme4.module.scss","assets/scss/_theme5.module.scss","assets/scss/_theme6.module.scss","assets/scss/_themes-vars.module.scss","store/reducer.ts","store/index.ts","config.ts","hooks/useConfig.ts","store/slices/menu.ts","utils/mockAdapter.ts","_mockApis/account.ts","_mockApis/user-profile/posts.ts","_mockApis/user-profile/followers.ts","_mockApis/user-profile/friends.ts","_mockApis/user-profile/friend-request.ts","_mockApis/user-profile/gallery.ts","_mockApis/user-profile/details-card.ts","_mockApis/user-profile/simple-card.ts","_mockApis/user-profile/profile-card.ts","_mockApis/user-profile/user-list.ts","_mockApis/user-profile/profile-list.ts","_mockApis/user-profile/job-list.ts","_mockApis/mail.ts","_mockApis/calendar.ts","_mockApis/chat.ts","_mockApis/e-commerce/products.ts","_mockApis/e-commerce/product-reviews.ts","_mockApis/e-commerce/billing-address.ts","_mockApis/customer.ts","_mockApis/contact.ts","_mockApis/cart.ts","_mockApis/kanban.ts","_mockApis/manufacturs/ManufacturerList.ts","_mockApis/dealers/DealersList.ts","_mockApis/manu_jobs/ManuJobList.ts","_mockApis/models/ModelsList.ts","_mockApis/docsimport/DocsList.ts","_mockApis/users/UsersList.ts","_mockApis/variables/VariablesList.ts","_mockApis/varvalues/VarValues.ts","_mockApis/static/static-list.ts","layout/MainLayout/LogoSection/index.tsx","layout/MainLayout/Header/LocalizationSection/index.tsx","layout/MainLayout/Header/MobileSection/index.tsx","layout/MainLayout/Header/ProfileSection/index.tsx","ui-component/extended/UtcTime.tsx","layout/MainLayout/Header/index.tsx","layout/MainLayout/Sidebar/MenuList/NavItem/index.tsx","layout/MainLayout/Sidebar/MenuList/NavCollapse/index.tsx","layout/MainLayout/Sidebar/MenuList/NavGroup/index.tsx","layout/MainLayout/Sidebar/MenuList/index.tsx","layout/MainLayout/Sidebar/index.tsx","layout/MainLayout/index.tsx","ui-component/Loadable.tsx","utils/route-guard/AuthGuard.tsx","routes/MainRoutes.tsx","utils/route-guard/GuestGuard.tsx","layout/MinimalLayout/index.tsx","layout/NavMotion.tsx","routes/LoginRoutes.tsx","routes/AuthenticationRoutes.tsx","routes/index.tsx","ui-component/Locales.tsx","layout/NavigationScroll.tsx","ui-component/RTLLayout.tsx","ui-component/extended/Snackbar.tsx","themes/palette.tsx","themes/typography.tsx","themes/shadows.tsx","themes/index.tsx","themes/compStyleOverride.tsx","App.tsx","serviceWorker.tsx","reportWebVitals.ts","index.tsx","store/constant.ts","hooks/useAuth.ts","Constants.js","utils/CrashSendLog.ts","utils/fetchRequest.ts"],"names":["axiosServices","axios","create","interceptors","response","use","error","Promise","reject","data","Transitions","React","forwardRef","ref","children","position","type","sx","direction","others","positionSX","transformOrigin","timeout","appear","enter","exit","defaultProps","icons","IconDashboard","IconDeviceAnalytics","IconListCheck","dashboard","id","title","url","icon","breadcrumbs","IconManualGearbox","IconVariable","IconUser","IconBuildingFactory2","IconBox","IconCloudDataConnection","menuItems","items","systemAdminOnly","initialState","action","open","message","anchorOrigin","vertical","horizontal","variant","alert","color","transition","close","actionButton","autoHideDuration","snackbar","createSlice","name","reducers","openGeneralAlertSnackbar","state","payload","handleSnackbarClosed","success","isDelete","openSnackbar","closeSnackbar","actions","LOGIN","LOGOUT","REGISTER","isLoggedIn","isInitialized","user","accountReducer","parseString","require","userPool","CognitoUserPool","UserPoolId","AWS_API","poolId","ClientId","appClientId","setSession","serviceToken","localStorage","setItem","removeItem","setLocalTokenSession","serviceLocalToken","setUserSession","serviceUser","AWSCognitoContext","createContext","AWSCognitoProvider","useReducer","dispatch","useEffect","init","a","window","getItem","temp_user","userAuth","JSON","parse","err","console","login","email","password","failCallback","usr","CognitoUser","Username","Pool","authData","AuthenticationDetails","Password","authenticateUser","onSuccess","session","URLSearchParams","JwtToken","getAccessToken","getJwtToken","Email","getUsername","toString","fetchRequest","config","API_URL","then","result","res","string","_","Success","Response","ErrorMessage","logout","Error","responseData","Token","Name","role","RoleId","isAdmin","IsAdmin","manufacturerId","ManufacturerId","dealerId","DealerId","stringify","catch","onFailure","_err","newPasswordRequired","userAttributes","requiredAttributes","loggedInUser","getCurrentUser","signOut","undefined","Provider","value","register","fullName","rej","signUp","CognitoUserAttribute","Value","Loader","LoaderWrapper","styled","top","left","zIndex","width","defaultConfig","onChangeGridPageSize","onChangeMenuType","onChangePresetColor","onChangeLocale","onChangeRTL","onChangeContainer","onChangeFontFamily","onChangeBorderRadius","onChangeOutlinedField","ConfigContext","ConfigProvider","key","defaultValue","useState","storedValue","setValue","listener","e","storageArea","newValue","addEventListener","removeEventListener","currentValue","useLocalStorage","fontFamily","borderRadius","outlinedFilled","navType","presetColor","locale","rtlLayout","gridPageSize","setConfig","container","event","linkSX","display","textDecoration","alignContent","alignItems","Breadcrumbs","card","divider","maxItems","navigation","rightAlign","separator","titleBottom","theme","useTheme","iconStyle","marginRight","spacing","marginTop","height","palette","secondary","main","brdCrmbs","setBrdCrmbs","currNavItem","setCurrNavItem","location","useLocation","navigate","useNavigate","useDispatch","getBreadCrumbsByPath","program","path_parts","pathname","split","filter","p","length","brdcrmbs","Title","Path","slice","join","capitalizeTitle","str","splitStr","replaceAll","toLowerCase","i","charAt","toUpperCase","substring","SystemPrograms","jobs","MainPath","jobs_maint","BreadCrumbs","iotvariables_maint","users_maint","things_maint","manufacturers_maint","explorertabs","explorersubjects","subjectvariables","getItemFromMenu","itemFromMenu","getCustomNavItem","mainContent","itemContent","ItemIcon","map","menu","index","getCollapse","collapse","document","BASE_PATH","curr_program","sys_program_key","custom_nav_item","custom_brdcrmbs","setActiveMenuItem","main_path","j","in_menu","activeItem","SeparatorIcon","separatorIcon","stroke","size","breadcrumbContent","itemTitle","m","component","Link","to","style","AccountTreeTwoTone","marginBottom","gridSpacing","md","border","borderColor","mode","background","default","primary","pl","justifyContent","item","fontWeight","px","mr","minWidth","onClick","prev_page","ml","DASHBOARD_PATH","mb","headerSX","py","MainCard","boxShadow","content","contentClass","contentSX","darkTitle","shadow","subheader","className","Logo","src","logoDark","logo","alt","Chip","chipcolor","disabled","defaultSX","light","bgcolor","dark","outlineSX","orange","warning","grey","SX","loaderVisible","loaderColor","loaderType","autoHideLoaderDuration","loader","showLoader","hideLoader","CompareType","GeneralSystemApi","getAwsData","resolve","log","uploadFile","image_base64","file_name","file_type","imageBase64","fileName","fileType","getAutocompleteAddress","address_search","address","getFilters","filters","columns","columnsOrder","comments","profiles","selectedItem","userStory","userStoryOrder","hasError","addColumnSuccess","editColumnSuccess","updateColumnOrderSuccess","deleteColumnSuccess","addItemSuccess","editItemSuccess","updateColumnItemOrderSuccess","selectItemSuccess","addItemCommentSuccess","deleteItemSuccess","addStorySuccess","editStorySuccess","updateStoryOrderSuccess","updateStoryItemOrderSuccess","addStoryCommentSuccess","deleteStorySuccess","getColumnsSuccess","getColumnsOrderSuccess","getCommentsSuccess","getProfilesSuccess","getItemsSuccess","getUserStorySuccess","getUserStoryOrderSuccess","getColumns","get","getColumnsOrder","getComments","getProfiles","getItems","getUserStory","getUserStoryOrder","addColumn","column","post","editColumn","updateColumnOrder","deleteColumn","columnId","addItem","storyId","editItem","updateColumnItemOrder","selectItem","addItemComment","itemId","comment","deleteItem","editStory","story","addStoryComment","deleteStory","usersS1","usersS2","followers","friendRequests","friends","gallery","posts","detailCards","simpleCards","profileCards","getUsersListStyle1Success","getUsersListStyle2Success","getFollowersSuccess","filterFollowersSuccess","getFriendRequestsSuccess","filterFriendRequestsSuccess","getFriendsSuccess","filterFriendsSuccess","getGallerySuccess","getPostsSuccess","editCommentSuccess","addCommentSuccess","addReplySuccess","likePostSuccess","likeCommentSuccess","likeReplySuccess","getDetailCardsSuccess","filterDetailCardsSuccess","getSimpleCardsSuccess","filterSimpleCardsSuccess","getProfileCardsSuccess","filterProfileCardsSuccess","getUsersListStyle1","users_s1","getUsersListStyle2","users_s2","getFollowers","filterFollowers","results","getFriendRequests","filterFriendRequests","getFriends","filterFriends","getGallery","getPosts","editComment","addComment","postId","addReply","commentId","reply","likePost","likeComment","likeReply","replayId","getDetailCards","users","filterDetailCards","getSimpleCards","filterSimpleCards","getProfileCards","filterProfileCards","products","product","relatedProducts","reviews","addresses","getProductsSuccess","filterProductsSuccess","getProductSuccess","getRelatedProductsSuccess","getProductReviewsSuccess","getAddressesSuccess","addAddressSuccess","editAddressSuccess","getProducts","filterProducts","getProduct","getRelatedProducts","getProductReviews","productReviews","checkout","step","subtotal","total","discount","shipping","billing","payment","method","addProductSuccess","removeProductSuccess","updateProductSuccess","oldSubTotal","setStepSuccess","setNextStepSuccess","setBackStepSuccess","setBillingAddressSuccess","setDiscountSuccess","difference","amount","setShippingChargeSuccess","newShipping","setPaymentMethodSuccess","setPaymentCardSuccess","resetCardSuccess","addProduct","resetCart","customers","orders","productreviews","getCustomersSuccess","getOrdersSuccess","getCustomers","getOrders","contacts","getContactsSuccess","modifyContactSuccess","getContacts","modifyContact","contact","chats","getUserSuccess","getUserChatsSuccess","getUsersSuccess","getUser","getUserChats","insertChat","chat","getUsers","events","getEventsSuccess","addEventSuccess","updateEventSuccess","removeEventSuccess","getEvents","addEvent","updateEvent","removeEvent","eventId","mails","unreadCount","getMailsSuccess","filterMailsSuccess","getMails","filterMails","setImportant","setStarred","setRead","module","exports","reducer","combineReducers","snackbarReducer","loaderReducer","cart","persistReducer","storage","keyPrefix","cartReducer","kanban","kanbanReducer","customer","customerReducer","contactReducer","productReducer","chatReducer","calendar","calendarReducer","mail","mailReducer","userReducer","menuReducer","store","configureStore","rootReducer","middleware","getDefaultMiddleware","serializableCheck","immutableCheck","persister","persistStore","useAppDispatch","useSelector","useAppSelector","JWT_API","secret","google_ApiKey","maxFileUploadSize_MB","explorer_play_delay","explorer_real_time_delay","analytics_refresh_time_delay","useConfig","useContext","openItem","drawerOpen","openDrawer","services","AxiosMockAdapter","delayResponse","JWT_SECRET","JWT_EXPIRES_TIME","delay","setTimeout","onPost","request","localUsers","find","_user","jwt","sign","userId","expiresIn","firstName","lastName","onGet","Authorization","headers","verify","profile","avatar","time","images","likes","like","img","image1","featured","replies","image2","image4","video","cComments","postIndex","findIndex","x","commentIndex","replayIndex","follow","row","matches","containsQuery","forEach","property","includes","mutual","image","dateTime","about","status","Avatar1","designation","badgeStatus","subContent","phone","progressValue","Avatar2","Avatar3","manufacturer","model","dealer","last_connection_at","connected","in_fault","in_alert","chance","Chance","subject","sentence","words","isRead","important","starred","sub","Date","days","hours","minutes","promotions","forums","attach","sent","bool","draft","spam","trash","nationality","domain","sender","paragraph","sentences","attachments","getInboxMails","getSentMails","getDraftMails","getSpamMails","getTrashMails","getStarredMails","getImportantMails","getPromotionsMails","getForumMails","all","inbox","mailIndex","allDay","secondaryMain","description","start","end","orangeLight","textColor","orangeDark","successLight","successDark","primaryMain","set","grey900","warningMain","add","errorDark","grey500","secondaryLight","secondaryDark","primaryLight","primary800","successMain","UIDV4","update","_event","assign","text1","text2","text3","text4","text5","text6","text7","text8","company","work_email","personal_email","work_phone","personal_phone","lastMessage","birthdayText","unReadChatCount","online_status","chatHistories","from","text","push","u","rating","floating","min","max","salePrice","offerPrice","gender","categories","colors","popularity","natural","date","created","isStock","sort","b","Number","new","searchMatches","search","genderMatches","some","categoriesMatches","category","colorsMatches","minMax","price","priceMatches","ratingMatches","review","destination","building","short_suffix","street","city","full","country","postcode","isDefault","newAddress","qty","author","latestProducts","newProduct","inCartProduct","timestamp","quantity","newProducts","code","integer","charge","profileIdsData","profilesData","commentIdsData","commentsData","profileId","itemIdsData","item1","item2","item3","item4","item5","item6","item7","item8","item9","item10","itemsData","commentIds","dueDate","priority","columnIdsData","columnsData","itemIds","columnsOrderData","userStoryIdsData","userStory1","userStory2","userStory3","userStory4","userStoryOrderData","userStoryData","acceptance","splice","c","cId","newColumn","newUserStory","currentStory","currentColumn","s","Manufacturers","conatctperson","modelscount","dealerscount","jobscount","Dealers","dealername","dealerphone","servicephone","dealermail","dealermailalert","ManuJobs","number","iotcontroler","Models","DocsImported","docname","Users","usercode","lastloginat","VariablesList","displaytype","iotfield","dbfield","isstatic","VarValuesList","errortype","errordescription","microhelp","notify","statics","param","paramvalue","parmdefault","lastchanged","LogoSection","RouterLink","LocalizationSection","matchesXs","useMediaQuery","breakpoints","down","setOpen","anchorRef","useRef","language","setLanguage","handleListItemClick","lng","handleClose","current","contains","target","prevOpen","focus","Box","Avatar","typography","commonAvatar","mediumAvatar","Typography","textTransform","fontSize","Popper","placement","anchorEl","disablePortal","popperOptions","modifiers","options","offset","TransitionProps","ClickAwayListener","onClickAway","in","Paper","elevation","List","maxWidth","paper","ListItemButton","selected","ListItemText","Grid","MobileSection","matchMobile","mt","IconButton","cursor","AppBar","Toolbar","pt","pb","ProfileSection","selectedIndex","useAuth","handleLogout","backgroundColor","lineHeight","label","shadows","ListItemIcon","UtcTime","fetch_internal","now","timeToString","h","getUTCHours","getUTCMinutes","getUTCSeconds","currUtcTime","setCurrUtcTime","handleUpdateTime","clearTimeout","borderWidth","borderStyle","AccessTimeOutlined","Header","xs","flexGrow","overflow","sm","NavItem","level","matchesSM","Icon","itemIcon","itemTarget","listItemProps","props","external","href","my","caption","subMenuCaption","gutterBottom","chip","NavCollapse","setSelected","menus","align","menuIcon","strokeWidth","Collapse","unmountOnExit","disablePadding","opacity","NavGroup","hideFromDealer","hideFromManufacturer","menuCaption","Divider","MenuList","navItems","menuItem","Button","startIcon","CloudDownloadOutlined","memo","Sidebar","matchUpMd","up","useMemo","mx","drawer","paddingLeft","paddingRight","Stack","process","body","flexShrink","drawerWidth","Drawer","anchor","onClose","borderRight","ModalProps","keepMounted","Main","shouldForwardProp","prop","borderBottomLeftRadius","borderBottomRightRadius","transitions","easing","sharp","duration","shorter","marginLeft","padding","easeOut","MainLayout","matchDownMd","header","CssBaseline","enableColorOnDark","Container","IconChevronRight","Loadable","Component","fallback","AuthGuard","replace","DashboardDefault","lazy","DashboardAnalytics","WidgetStatistics","WidgetData","WidgetChart","AppUserSocialProfile","AppUserAccountProfile1","AppUserAccountProfile2","AppUserAccountProfile3","AppJobsList","AppJob","JobEdit","AppProductsList","ManufacturersLists","ManufacturerInfo","JobsEditInfoRoute","HomeOwnerEditRoute","ImagesEditRoute","DocsEditRoute","VariablesEdit","ExplorerSchemasList","ExplorerTabsList","ExplorerSubjectList","ExplorerSubjectVariablesList","ThingsList","ThingInfo","UsersLIst","UserEdit","AppProfileCardStyle1","AppProfileCardStyle2","AppProfileCardStyle3","AppProfileListStyle1","AppProfileListStyle2","AppCustomerList","AppCustomerOrderList","AppCustomerCreateInvoice","AppCustomerOrderDetails","AppCustomerProduct","AppCustomerProductReview","AppChat","AppMail","AppCalendar","AppContactCard","AppContactList","AppECommProducts","AppECommProductDetails","AppECommProductList","FrmComponentsTextfield","FrmComponentsButton","FrmComponentsCheckbox","FrmComponentsRadio","FrmComponentsSwitch","FrmComponentsAutoComplete","FrmComponentsSlider","FrmComponentsDateTime","FrmLayoutLayout","FrmLayoutMultiColumnForms","FrmLayoutActionBar","FrmLayoutStickyActionBar","FrmAutocomplete","FrmMask","FrmClipboard","FrmRecaptcha","FrmWysiwugEditor","FrmModal","FrmTooltip","TableBasic","TableDense","TableEnhanced","TableData","TableCustomized","TableStickyHead","TableCollapsible","FrmFormsValidation","FrmFormsWizard","ChartApexchart","OrgChartPage","BasicUIAccordion","BasicUIAvatar","BasicUIBadges","BasicUIBreadcrumb","BasicUICards","BasicUIChip","BasicUIList","BasicUITabs","AdvanceUIAlert","AdvanceUIDialog","AdvanceUIPagination","AdvanceUIProgress","AdvanceUIRating","AdvanceUISnackbar","AdvanceUISkeleton","AdvanceUISpeeddial","AdvanceUITimeline","AdvanceUIToggleButton","AdvanceUITreeview","PagesPrice1","PagesPrice2","UtilsTypography","UtilsColor","UtilsShadow","UtilsMaterialIcons","UtilsTablerIcons","UtilsAnimation","UtilsGrid","SamplePage","MainRoutes","path","element","GuestGuard","MinimalLayout","NavMotion","motion","div","initial","animate","variants","scale","out","ease","AuthLogin","AuthRegister","AuthForgotPassword","LoginRoutes","AuthLogin1","AuthRegister1","AuthForgotPassword1","AuthCheckMail1","AuthResetPassword1","AuthCodeVerification1","AuthLogin2","AuthRegister2","AuthForgotPassword2","AuthCheckMail2","AuthResetPassword2","AuthCodeVerification2","AuthLogin3","AuthRegister3","AuthForgotPassword3","AuthCheckMail3","AuthResetPassword3","AuthCodeVerification3","MaintenanceError","MaintenanceComingSoon1","MaintenanceComingSoon2","MaintenanceUnderConstruction","PagesLanding","PagesContactUS","PagesFaqs","PagesPrivacyPolicy","AuthenticationRoutes","ThemeRoutes","useRoutes","Locales","messages","setMessages","loadLocaleData","d","defaultLocale","NavigationScroll","scrollTo","behavior","RTLLayout","dir","cacheRtl","createCache","prepend","stylisPlugins","rtlPlugin","animation","SlideLeft","Slide","SlideUp","SlideRight","SlideDown","Grow","Fade","sxAlertOutlined","sxAlertFilledSuccess","sxAlertFilledError","sxAlertFilledWarning","Snackbar","reason","TransitionComponent","Alert","getAlertStyle","Palette","theme1","theme2","theme3","theme4","theme5","theme6","defaultColor","createTheme","common","black","darkPaper","darkPrimaryLight","darkPrimaryMain","darkPrimaryDark","primaryDark","darkPrimary200","primary200","darkPrimary800","darkSecondaryLight","darkSecondaryMain","darkSecondaryDark","darkSecondary200","secondary200","darkSecondary800","secondary800","errorLight","errorMain","orangeMain","warningLight","warningDark","success200","grey50","grey100","darkTextSecondary","darkTextTitle","darkTextPrimary","grey700","darkLevel1","darkLevel2","darkBackground","hint","grey200","h6","h5","h4","h3","h2","h1","subtitle1","subtitle2","body1","body2","letterSpacing","button","customInput","minHeight","smallAvatar","largeAvatar","createCustomShadow","transparent","alpha","z1","z8","z12","z16","z20","z24","ThemeCustomization","themeTypography","themeCustomShadows","customShadows","themeOptions","mixins","toolbar","themes","components","bgColor","menuSelectedBack","menuSelected","MuiButton","styleOverrides","root","MuiPaper","backgroundImage","rounded","MuiCardHeader","MuiCardContent","MuiCardActions","MuiAlert","outlined","MuiListItemButton","paddingTop","paddingBottom","MuiListItemIcon","MuiListItemText","MuiInputBase","input","MuiOutlinedInput","inputAdornedStart","notchedOutline","MuiSlider","mark","valueLabel","MuiAutocomplete","popper","MuiDivider","MuiSelect","select","MuiAvatar","MuiChip","MuiTimelineContent","MuiTreeItem","MuiTimelineDot","MuiInternalDateTimePickerTabs","tabs","MuiTabs","flexContainer","borderBottom","MuiDialog","MuiTableCell","MuiTooltip","tooltip","MuiDialogTitle","componentStyleOverrides","StyledEngineProvider","injectFirst","ThemeProvider","App","Boolean","hostname","match","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","loading","persistor","basename","getElementById","navigator","serviceWorker","ready","registration","unregister","appDrawerWidth","context","AuthContext","crashSendLog","info","componentStack","token","AWSToken","Info","ComponentStack","fetch","Accept","ok","credentials"],"mappings":"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","file":"static/js/main.d88f16f3.chunk.js","sourcesContent":["/**\r\n * axios setup to use mock service\r\n */\r\n\r\nimport axios from 'axios';\r\n\r\nconst axiosServices = axios.create();\r\n\r\n// interceptor for http\r\naxiosServices.interceptors.response.use(\r\n (response) => response,\r\n (error) => Promise.reject((error.response && error.response.data) || 'Wrong Services')\r\n);\r\n\r\nexport default axiosServices;\r\n","import React, { Ref, ExoticComponent, ReactElement } from 'react';\r\n\r\n// material-ui\r\nimport { Collapse, Fade, Box, Grow, Slide, Zoom } from '@mui/material';\r\n\r\n// ==============================|| TRANSITIONS ||============================== //\r\n\r\ninterface TSProps {\r\n children?: ReactElement;\r\n position?: string;\r\n sx?: React.CSSProperties;\r\n in?: boolean;\r\n type?: string;\r\n direction?: 'up' | 'right' | 'left' | 'down';\r\n [others: string]: any;\r\n}\r\n\r\nconst Transitions = React.forwardRef(({ children, position, sx, type, direction, ...others }: TSProps, ref: Ref) => {\r\n let positionSX = {\r\n transformOrigin: '0 0 0'\r\n };\r\n\r\n switch (position) {\r\n case 'top-right':\r\n positionSX = {\r\n transformOrigin: 'top right'\r\n };\r\n break;\r\n case 'top':\r\n positionSX = {\r\n transformOrigin: 'top'\r\n };\r\n break;\r\n case 'bottom-left':\r\n positionSX = {\r\n transformOrigin: 'bottom left'\r\n };\r\n break;\r\n case 'bottom-right':\r\n positionSX = {\r\n transformOrigin: 'bottom right'\r\n };\r\n break;\r\n case 'bottom':\r\n positionSX = {\r\n transformOrigin: 'bottom'\r\n };\r\n break;\r\n case 'top-left':\r\n default:\r\n positionSX = {\r\n transformOrigin: '0 0 0'\r\n };\r\n break;\r\n }\r\n\r\n return (\r\n \r\n {type === 'grow' && (\r\n \r\n {children}\r\n \r\n )}\r\n {type === 'collapse' && (\r\n \r\n {children}\r\n \r\n )}\r\n {type === 'fade' && (\r\n \r\n {children}\r\n \r\n )}\r\n {type === 'slide' && (\r\n \r\n {children}\r\n \r\n )}\r\n {type === 'zoom' && (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n );\r\n});\r\n\r\nTransitions.defaultProps = {\r\n type: 'grow',\r\n position: 'top-left',\r\n direction: 'up'\r\n};\r\n\r\nexport default Transitions;\r\n","// third-party\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\n// assets\r\nimport { IconDashboard, IconDeviceAnalytics, IconListCheck } from '@tabler/icons';\r\nimport { OverrideIcon } from 'types';\r\n\r\n// constant\r\nconst icons = {\r\n IconDashboard,\r\n IconDeviceAnalytics,\r\n IconListCheck\r\n};\r\n\r\n// ==============================|| DASHBOARD MENU ITEMS ||============================== //\r\n\r\ninterface DashboardMenuProps {\r\n id: string;\r\n title: React.ReactNode | string;\r\n type: string;\r\n children: {\r\n id: string;\r\n title: React.ReactNode | string;\r\n type: string;\r\n url: string;\r\n icon: OverrideIcon;\r\n breadcrumbs: boolean;\r\n }[];\r\n}\r\n\r\nconst dashboard: DashboardMenuProps = {\r\n id: 'dashboard',\r\n title: ,\r\n type: 'group',\r\n children: [\r\n {\r\n id: 'analytics',\r\n title: ,\r\n type: 'item',\r\n url: '/analytics',\r\n icon: icons.IconDeviceAnalytics,\r\n breadcrumbs: true\r\n },\r\n {\r\n id: 'jobs',\r\n title: ,\r\n type: 'item',\r\n url: '/Jobs/List',\r\n icon: icons.IconListCheck,\r\n breadcrumbs: true\r\n }\r\n ]\r\n};\r\n\r\nexport default dashboard;\r\n","// third-party\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\n// assets\r\nimport { IconVariable, IconManualGearbox, IconUser, IconBuildingFactory2, IconBox, IconCloudDataConnection } from '@tabler/icons';\r\n\r\n// constant\r\nconst icons = {\r\n // IconChartArcs,\r\n // IconClipboardList,\r\n // IconChartInfographic,\r\n IconManualGearbox,\r\n IconVariable,\r\n IconUser,\r\n IconBuildingFactory2,\r\n IconBox,\r\n IconCloudDataConnection\r\n};\r\n\r\n// ==============================|| WIDGET MENU ITEMS ||============================== //\r\n\r\nconst widget = {\r\n id: 'widget',\r\n title: ,\r\n type: 'group',\r\n children: [\r\n {\r\n id: 'manufacturers',\r\n title: ,\r\n type: 'item',\r\n url: '/manufacturers/list',\r\n icon: icons.IconBuildingFactory2\r\n },\r\n {\r\n id: 'products',\r\n title: ,\r\n type: 'item',\r\n url: '/products/list',\r\n icon: icons.IconBox,\r\n systemAdminOnly: true\r\n },\r\n {\r\n id: 'things',\r\n title: ,\r\n type: 'item',\r\n url: '/things/list',\r\n icon: icons.IconCloudDataConnection,\r\n systemAdminOnly: true\r\n },\r\n \r\n {\r\n id: 'users',\r\n title: ,\r\n type: 'item',\r\n url: '/Users/list',\r\n icon: icons.IconUser,\r\n breadcrumbs: true\r\n },\r\n {\r\n id: 'iotvar',\r\n title: ,\r\n type: 'item',\r\n url: '/IotVariables/list',\r\n icon: icons.IconVariable,\r\n systemAdminOnly: true\r\n },\r\n {\r\n id: 'explorer_struct',\r\n title: ,\r\n type: 'item',\r\n url: '/ExplorerSchemas/list',\r\n icon: icons.IconManualGearbox,\r\n systemAdminOnly: true\r\n },\r\n \r\n \r\n ]\r\n};\r\n\r\nexport default widget;\r\n","import dashboard from './dashboard';\r\nimport widget from './widget';\r\nimport { NavItemType } from 'types';\r\n\r\n// ==============================|| MENU ITEMS ||============================== //\r\n\r\nconst menuItems: { items: NavItemType[] } = {\r\n items: [dashboard, widget]\r\n};\r\n\r\nexport default menuItems;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\n\r\n// types\r\nimport { SnackbarProps } from 'types/snackbar';\r\n\r\nconst initialState: SnackbarProps = {\r\n action: false,\r\n open: false,\r\n message: 'Note archived',\r\n anchorOrigin: {\r\n vertical: 'bottom',\r\n horizontal: 'left'\r\n },\r\n variant: 'alert',\r\n alert: {\r\n color: 'primary',\r\n variant: 'filled'\r\n },\r\n transition: 'SlideRight',\r\n close: true,\r\n actionButton: false,\r\n autoHideDuration: 1500\r\n};\r\n\r\n// ==============================|| SLICE - SNACKBAR ||============================== //\r\n\r\nconst snackbar = createSlice({\r\n name: 'snackbar',\r\n initialState,\r\n reducers: {\r\n \r\n openGeneralAlertSnackbar (state, action) {\r\n // console.log(action.payload);\r\n const { message, handleSnackbarClosed, success, isDelete } = action.payload;\r\n state.action = !state.action;\r\n state.open = true;\r\n\r\n if (message) {\r\n state.message = message;\r\n } else if (success) {\r\n state.message = isDelete ?'Successfully deleted' :'Changes successfully saved';\r\n } else {\r\n state.message = isDelete ? 'Deleting failed' :'Failed saving changes';\r\n } \r\n\r\n // ShowAlert(true, 'Successfully deleted');\r\n // } else {\r\n // ShowAlert(false, 'Deleting failed');\r\n\r\n state.anchorOrigin = initialState.anchorOrigin;\r\n state.variant = initialState.variant;\r\n state.alert = {\r\n color: success ? 'success' : 'error',\r\n variant: initialState.alert.variant\r\n };\r\n state.transition = initialState.transition;\r\n state.close = initialState.close;\r\n state.actionButton = initialState.actionButton;\r\n state.autoHideDuration = initialState.autoHideDuration;\r\n state.handleSnackbarClosed = handleSnackbarClosed;\r\n },\r\n openSnackbar(state, action) {\r\n const { open, message, anchorOrigin, variant, alert, transition, close, actionButton, handleSnackbarClosed, autoHideDuration } =\r\n action.payload;\r\n\r\n state.action = !state.action;\r\n state.open = open || initialState.open;\r\n\r\n if (message) {\r\n state.message = message;\r\n } else if (alert?.color == 'success') {\r\n state.message = 'Changes successfully saved';\r\n } else if (alert?.color == 'error') {\r\n state.message = 'Failed saving changes';\r\n } else {\r\n state.message = initialState.message;\r\n }\r\n\r\n state.anchorOrigin = anchorOrigin || initialState.anchorOrigin;\r\n state.variant = variant || initialState.variant;\r\n state.alert = {\r\n color: alert?.color || initialState.alert.color,\r\n variant: alert?.variant || initialState.alert.variant\r\n };\r\n state.transition = transition || initialState.transition;\r\n state.close = close === false ? close : initialState.close;\r\n state.actionButton = actionButton || initialState.actionButton;\r\n state.autoHideDuration = autoHideDuration || initialState.autoHideDuration;\r\n state.handleSnackbarClosed = handleSnackbarClosed;\r\n },\r\n\r\n closeSnackbar(state) {\r\n state.open = false;\r\n }\r\n }\r\n});\r\n\r\nexport default snackbar.reducer;\r\n\r\nexport const { closeSnackbar, openSnackbar ,openGeneralAlertSnackbar} = snackbar.actions;\r\n","// action - account reducer\r\nexport const LOGIN = 'LOGIN';\r\nexport const LOGOUT = 'LOGOUT';\r\nexport const REGISTER = 'REGISTER';\r\nexport const FIREBASE_STATE_CHANGED = 'FIREBASE_STATE_CHANGED';\r\n","// action - state management\r\nimport { LOGIN, LOGOUT, REGISTER } from './actions';\r\nimport { InitialLoginContextProps } from 'types/auth';\r\n\r\n// ==============================|| ACCOUNT REDUCER ||============================== //\r\n\r\ninterface AccountReducerActionProps {\r\n type: string;\r\n payload?: InitialLoginContextProps;\r\n}\r\n\r\nconst initialState: InitialLoginContextProps = {\r\n isLoggedIn: false,\r\n isInitialized: false,\r\n user: null\r\n};\r\n\r\nconst accountReducer = (state = initialState, action: AccountReducerActionProps) => {\r\n switch (action.type) {\r\n case REGISTER: {\r\n const { user } = action.payload!;\r\n return {\r\n ...state,\r\n user\r\n };\r\n }\r\n case LOGIN: {\r\n const { user } = action.payload!;\r\n return {\r\n ...state,\r\n isLoggedIn: true,\r\n isInitialized: true,\r\n user\r\n };\r\n }\r\n case LOGOUT: {\r\n return {\r\n ...state,\r\n isInitialized: true,\r\n isLoggedIn: false,\r\n user: null\r\n };\r\n }\r\n default: {\r\n return { ...state };\r\n }\r\n }\r\n};\r\n\r\nexport default accountReducer;\r\n","import React, { createContext, useEffect, useReducer } from 'react';\r\n\r\n// third-party\r\nimport { CognitoUser, CognitoUserPool, CognitoUserSession, CognitoUserAttribute, AuthenticationDetails } from 'amazon-cognito-identity-js';\r\n\r\n// reducer - state management\r\nimport { LOGIN, LOGOUT } from 'store/actions';\r\nimport accountReducer from 'store/accountReducer';\r\n\r\n// project imports\r\nimport Loader from 'ui-component/Loader';\r\nimport { AWS_API } from 'config';\r\nimport { AWSCognitoContextType, InitialLoginContextProps } from 'types/auth';\r\nimport { fetchRequest } from 'utils/fetchRequest';\r\nimport { config } from 'Constants';\r\nconst parseString = require('xml2js').parseString;\r\n\r\n// constant\r\nconst initialState: InitialLoginContextProps = {\r\n isLoggedIn: false,\r\n isInitialized: false,\r\n user: null\r\n};\r\n\r\nexport const userPool = new CognitoUserPool({\r\n UserPoolId: AWS_API.poolId || '',\r\n ClientId: AWS_API.appClientId || ''\r\n});\r\n\r\nconst setSession = (serviceToken?: string | null) => {\r\n if (serviceToken) {\r\n localStorage.setItem('serviceToken', serviceToken);\r\n } else {\r\n localStorage.removeItem('serviceToken');\r\n }\r\n};\r\nconst setLocalTokenSession = (serviceLocalToken?: string | null) => {\r\n if (serviceLocalToken) {\r\n localStorage.setItem('serviceLocalToken', serviceLocalToken);\r\n } else {\r\n localStorage.removeItem('serviceLocalToken');\r\n }\r\n};\r\n\r\nconst setUserSession = (serviceUser?: string | null) => {\r\n if (serviceUser) {\r\n localStorage.setItem('smartal-userAuth', serviceUser);\r\n } else {\r\n localStorage.removeItem('smartal-userAuth');\r\n }\r\n};\r\n\r\n// ==============================|| AWS Cognito CONTEXT & PROVIDER ||============================== //\r\nconst AWSCognitoContext = createContext(null);\r\n\r\nexport const AWSCognitoProvider = ({ children }: { children: React.ReactElement }) => {\r\n const [state, dispatch] = useReducer(accountReducer, initialState);\r\n \r\n useEffect(() => {\r\n const init = async () => {\r\n try {\r\n const serviceToken = window.localStorage.getItem('serviceToken');\r\n const serviceLocalToken = window.localStorage.getItem('serviceLocalToken');\r\n\r\n if (serviceToken && serviceLocalToken) {\r\n let temp_user = null;\r\n setSession(serviceToken);\r\n setLocalTokenSession(serviceLocalToken);\r\n if(!state.user){\r\n const userAuth = window.localStorage.getItem('smartal-userAuth');\r\n \r\n if(userAuth){\r\n temp_user = JSON.parse(userAuth);\r\n }\r\n } else{\r\n temp_user = state.user;\r\n }\r\n dispatch({\r\n type: LOGIN,\r\n payload: {\r\n isLoggedIn: true,\r\n user: temp_user\r\n }\r\n });\r\n } else {\r\n dispatch({\r\n type: LOGOUT\r\n });\r\n }\r\n } catch (err) {\r\n console.error(err);\r\n dispatch({\r\n type: LOGOUT\r\n });\r\n }\r\n };\r\n\r\n init();\r\n }, []);\r\n\r\n const login = async (email: string, password: string, failCallback?: (err_message: string) => void) => {\r\n const usr = new CognitoUser({\r\n Username: email,\r\n Pool: userPool\r\n });\r\n\r\n const authData = new AuthenticationDetails({\r\n Username: email,\r\n Password: password\r\n });\r\n\r\n usr.authenticateUser(authData, {\r\n onSuccess: (session: CognitoUserSession) => {\r\n const data = new URLSearchParams({\r\n JwtToken: session.getAccessToken().getJwtToken(),\r\n Email: authData.getUsername()\r\n }).toString();\r\n\r\n fetchRequest(`${config.url.API_URL}/WebServices/Users.asmx/LogInByAws`, 'post', data)\r\n .then((response) => {\r\n parseString(response, (err: any, result: any) => {\r\n if (result) {\r\n const res = JSON.parse(result.string._);\r\n if (res.Success && res.Response) {\r\n const responseData = JSON.parse(res.Response);\r\n setSession(session.getAccessToken().getJwtToken());\r\n setLocalTokenSession(responseData.Token);\r\n const temp_user = {\r\n email: authData.getUsername(),\r\n name: responseData.Name,\r\n role: responseData.RoleId,\r\n isAdmin: responseData.IsAdmin,\r\n manufacturerId: responseData.ManufacturerId,\r\n dealerId: responseData.DealerId,\r\n };\r\n dispatch({\r\n type: LOGIN,\r\n payload: {\r\n isLoggedIn: true,\r\n user:temp_user\r\n }\r\n });\r\n setUserSession(JSON.stringify(temp_user));\r\n } else {\r\n console.error('Error during LogInByAws ErrorMessage:', res.ErrorMessage);\r\n logout();\r\n\r\n throw new Error('Error during LogInByAws ErrorMessage');\r\n }\r\n }\r\n });\r\n })\r\n .catch((error) => {\r\n failCallback && failCallback(error.message);\r\n console.error('Error during LogInByAws:', error);\r\n logout();\r\n\r\n throw new Error('Error during LogInByAws');\r\n });\r\n },\r\n onFailure: (_err) => {\r\n // console.error('Error during LogInByAws ErrorMessage:', _err);\r\n failCallback && failCallback(_err.message);\r\n // throw new Error('Error during LogInByAws');\r\n },\r\n newPasswordRequired: (userAttributes, requiredAttributes) => {\r\n // // User was signed up by an admin and must provide new\r\n // // password and required attributes, if any, to complete\r\n // // authentication.\r\n // // the api doesn't accept this field back\r\n // delete userAttributes.email_verified;\r\n // // unsure about this field, but I don't send this back\r\n // delete userAttributes.phone_number_verified;\r\n // // Get these details and call\r\n // usr.completeNewPasswordChallenge(password, userAttributes, requiredAttributes);\r\n }\r\n });\r\n };\r\n\r\n const register = (email: string, password: string, fullName: string) =>\r\n new Promise((success, rej) => {\r\n userPool.signUp(\r\n email,\r\n password,\r\n [new CognitoUserAttribute({ Name: 'email', Value: email }), new CognitoUserAttribute({ Name: 'name', Value: fullName })],\r\n [],\r\n async (err, result) => {\r\n if (err) {\r\n rej(err);\r\n return;\r\n }\r\n success(result);\r\n }\r\n );\r\n });\r\n\r\n const logout = () => {\r\n const loggedInUser = userPool.getCurrentUser();\r\n setUserSession(null);\r\n if (loggedInUser) {\r\n setSession(null);\r\n setLocalTokenSession(null);\r\n \r\n\r\n loggedInUser.signOut();\r\n dispatch({ type: LOGOUT });\r\n }\r\n };\r\n\r\n if (state.isInitialized !== undefined && !state.isInitialized) {\r\n return ;\r\n }\r\n\r\n return {children};\r\n};\r\n\r\nexport default AWSCognitoContext;\r\n","// material-ui\r\nimport LinearProgress from '@mui/material/LinearProgress';\r\nimport { styled } from '@mui/material/styles';\r\n\r\n// styles\r\nconst LoaderWrapper = styled('div')({\r\n position: 'fixed',\r\n top: 0,\r\n left: 0,\r\n zIndex: 1301,\r\n width: '100%'\r\n});\r\n\r\n// ==============================|| LOADER ||============================== //\r\n\r\nconst Loader = () => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default Loader;\r\n","import { createContext, ReactNode } from 'react';\r\n\r\n// project import\r\nimport defaultConfig from 'config';\r\nimport useLocalStorage from 'hooks/useLocalStorage';\r\n\r\n// types\r\nimport { PaletteMode } from '@mui/material';\r\nimport { CustomizationProps } from 'types/config';\r\n\r\n// initial state\r\nconst initialState: CustomizationProps = {\r\n ...defaultConfig,\r\n onChangeGridPageSize: () => {},\r\n onChangeMenuType: () => {},\r\n onChangePresetColor: () => {},\r\n onChangeLocale: () => {},\r\n onChangeRTL: () => {},\r\n onChangeContainer: () => {},\r\n onChangeFontFamily: () => {},\r\n onChangeBorderRadius: () => {},\r\n onChangeOutlinedField: () => {}\r\n};\r\n\r\n// ==============================|| CONFIG CONTEXT & PROVIDER ||============================== //\r\n\r\nconst ConfigContext = createContext(initialState);\r\n\r\ntype ConfigProviderProps = {\r\n children: ReactNode;\r\n};\r\n\r\nfunction ConfigProvider({ children }: ConfigProviderProps) {\r\n const [config, setConfig] = useLocalStorage('berry-config', {\r\n fontFamily: initialState.fontFamily,\r\n borderRadius: initialState.borderRadius,\r\n outlinedFilled: initialState.outlinedFilled,\r\n navType: initialState.navType,\r\n presetColor: initialState.presetColor,\r\n locale: initialState.locale,\r\n rtlLayout: initialState.rtlLayout,\r\n gridPageSize: initialState.gridPageSize\r\n });\r\n const onChangeGridPageSize = (gridPageSize: number) => {\r\n setConfig({\r\n ...config,\r\n gridPageSize\r\n });\r\n };\r\n const onChangeMenuType = (navType: PaletteMode) => {\r\n setConfig({\r\n ...config,\r\n navType\r\n });\r\n };\r\n\r\n const onChangePresetColor = (presetColor: string) => {\r\n setConfig({\r\n ...config,\r\n presetColor\r\n });\r\n };\r\n\r\n const onChangeLocale = (locale: string) => {\r\n setConfig({\r\n ...config,\r\n locale\r\n });\r\n };\r\n\r\n const onChangeRTL = (rtlLayout: boolean) => {\r\n setConfig({\r\n ...config,\r\n rtlLayout\r\n });\r\n };\r\n\r\n const onChangeContainer = () => {\r\n setConfig({\r\n ...config,\r\n container: !config.container\r\n });\r\n };\r\n\r\n const onChangeFontFamily = (fontFamily: string) => {\r\n setConfig({\r\n ...config,\r\n fontFamily\r\n });\r\n };\r\n\r\n const onChangeBorderRadius = (event: Event, newValue: number | number[]) => {\r\n setConfig({\r\n ...config,\r\n borderRadius: newValue as number\r\n });\r\n };\r\n\r\n const onChangeOutlinedField = (outlinedFilled: boolean) => {\r\n setConfig({\r\n ...config,\r\n outlinedFilled\r\n });\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport { ConfigProvider, ConfigContext };\r\n","import { useState, useEffect } from 'react';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport default function useLocalStorage(key: string, defaultValue: ValueType) {\r\n const [value, setValue] = useState(() => {\r\n const storedValue = localStorage.getItem(key);\r\n return storedValue === null ? defaultValue : JSON.parse(storedValue);\r\n });\r\n\r\n useEffect(() => {\r\n const listener = (e: StorageEvent) => {\r\n if (e.storageArea === localStorage && e.key === key) {\r\n setValue(e.newValue ? JSON.parse(e.newValue) : e.newValue);\r\n }\r\n };\r\n window.addEventListener('storage', listener);\r\n\r\n return () => {\r\n window.removeEventListener('storage', listener);\r\n };\r\n }, [key, defaultValue]);\r\n\r\n const setValueInLocalStorage = (newValue: ValueType) => {\r\n setValue((currentValue: any) => {\r\n const result = typeof newValue === 'function' ? newValue(currentValue) : newValue;\r\n localStorage.setItem(key, JSON.stringify(result));\r\n return result;\r\n });\r\n };\r\n\r\n return [value, setValueInLocalStorage];\r\n}\r\n","import { useEffect, useState } from 'react';\r\nimport { Link, useLocation, useNavigate } from 'react-router-dom';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Box, Button, Card, Divider, Grid, Typography } from '@mui/material';\r\nimport MuiBreadcrumbs from '@mui/material/Breadcrumbs';\r\n\r\n// project imports\r\nimport { BASE_PATH, DASHBOARD_PATH } from 'config';\r\nimport { useDispatch } from 'store';\r\nimport { activeItem } from 'store/slices/menu';\r\n\r\nimport { gridSpacing } from 'store/constant';\r\n\r\n// assets\r\nimport { IconTallymark1 } from '@tabler/icons';\r\n\r\nimport { HomeTwoTone, Home, KeyboardArrowLeft, AccountTreeTwoTone, BreakfastDiningRounded } from '@mui/icons-material';\r\nimport { NavItemType, NavItemTypeObject, OverrideIcon } from 'types';\r\n\r\nconst linkSX = {\r\n display: 'flex',\r\n color: 'grey.900',\r\n textDecoration: 'none',\r\n alignContent: 'center',\r\n alignItems: 'center'\r\n};\r\n\r\ninterface PageNavigation {\r\n Title: string;\r\n BreadCrumbs?: { Title: string; Path: string }[];\r\n MainPath?: string;\r\n}\r\n\r\ninterface BreadCrumbSxProps extends React.CSSProperties {\r\n mb?: string;\r\n bgcolor?: string;\r\n}\r\n\r\ninterface BreadCrumbsProps {\r\n card?: boolean;\r\n divider?: boolean;\r\n icon?: boolean;\r\n icons?: boolean;\r\n maxItems?: number;\r\n navigation?: NavItemTypeObject;\r\n rightAlign?: boolean;\r\n separator?: OverrideIcon;\r\n title?: boolean;\r\n titleBottom?: boolean;\r\n sx?: BreadCrumbSxProps;\r\n}\r\n\r\n// ==============================|| BREADCRUMBS ||============================== //\r\n\r\nconst Breadcrumbs = ({\r\n card,\r\n divider,\r\n icon,\r\n icons,\r\n maxItems,\r\n navigation,\r\n rightAlign,\r\n separator,\r\n title,\r\n titleBottom,\r\n ...others\r\n}: BreadCrumbsProps) => {\r\n const theme = useTheme();\r\n\r\n const iconStyle = {\r\n marginRight: theme.spacing(0.75),\r\n marginTop: `-${theme.spacing(0.25)}`,\r\n width: '1rem',\r\n height: '1rem',\r\n color: theme.palette.secondary.main\r\n };\r\n\r\n const [brdCrmbs, setBrdCrmbs] = useState();\r\n const [currNavItem, setCurrNavItem] = useState();\r\n\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n\r\n const dispatch = useDispatch();\r\n\r\n const goBack = () => {\r\n if (brdCrmbs != undefined && brdCrmbs.length > 0 && brdCrmbs[brdCrmbs.length - 1].url) {\r\n const prev_page = brdCrmbs[brdCrmbs.length - 1].url;\r\n if (prev_page) {\r\n navigate(prev_page);\r\n }\r\n } else {\r\n navigate(-1);\r\n }\r\n };\r\n\r\n const getBreadCrumbsByPath = (program: string) => {\r\n const path_parts = location.pathname.split('/').filter((p) => p.length > 0);\r\n\r\n let brdcrmbs: any[] = [];\r\n switch (program) {\r\n case 'explorersubjects':\r\n brdcrmbs = [\r\n {\r\n Title: 'Explorer Schemas',\r\n Path: '/ExplorerSchemas/list'\r\n },\r\n {\r\n Title: 'Explorer Tabs',\r\n Path: `${path_parts.slice(0, path_parts.length - 3).join('/')}/list`\r\n }\r\n ];\r\n break;\r\n case 'subjectvariables':\r\n brdcrmbs = [\r\n {\r\n Title: 'Explorer Schemas',\r\n Path: '/ExplorerSchemas/list'\r\n },\r\n {\r\n Title: 'Explorer Tabs',\r\n Path: `${path_parts.slice(0, path_parts.length - 5).join('/')}/list`\r\n },\r\n {\r\n Title: 'Explorer Subjects',\r\n Path: `${path_parts.slice(0, path_parts.length - 3).join('/')}/list`\r\n }\r\n ];\r\n break;\r\n }\r\n return brdcrmbs;\r\n };\r\n\r\n const capitalizeTitle = (str: string) => {\r\n str = str.replaceAll('_', ' ');\r\n const splitStr = str.toLowerCase().split(' ');\r\n for (let i = 0; i < splitStr.length; i += 1) {\r\n // Assign it back to the array\r\n splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);\r\n }\r\n // Directly return the joined string\r\n return splitStr.join(' ');\r\n };\r\n\r\n const SystemPrograms: { [key: string]: PageNavigation } = {\r\n '/': { Title: 'Smart Tal' },\r\n jobs: { Title: 'Elevator Jobs', MainPath: '/jobs/list' },\r\n jobs_maint: {\r\n Title: 'Elevator Job',\r\n BreadCrumbs: [\r\n {\r\n Title: 'Elevator Jobs',\r\n Path: '/jobs/list'\r\n }\r\n ]\r\n },\r\n iotvariables_maint: {\r\n Title: 'IoT Variable',\r\n BreadCrumbs: [\r\n {\r\n Title: 'IoT Variables',\r\n Path: '/IotVariables/list'\r\n }\r\n ]\r\n },\r\n users_maint: {\r\n Title: 'User',\r\n BreadCrumbs: [\r\n {\r\n Title: 'Users',\r\n Path: '/users/list'\r\n }\r\n ]\r\n },\r\n things_maint: {\r\n Title: 'Thing',\r\n BreadCrumbs: [\r\n {\r\n Title: 'Things',\r\n Path: '/things/list'\r\n }\r\n ]\r\n },\r\n manufacturers_maint: {\r\n Title: 'Manufacturer',\r\n BreadCrumbs: [\r\n {\r\n Title: 'Manufacturers',\r\n Path: '/manufacturers/list'\r\n }\r\n ]\r\n },\r\n explorertabs: {\r\n Title: 'Explorer Tabs',\r\n BreadCrumbs: [\r\n {\r\n Title: 'Explorer Schemas',\r\n Path: '/ExplorerSchemas/list'\r\n }\r\n ]\r\n },\r\n explorersubjects: {\r\n Title: 'Explorer Subjects',\r\n BreadCrumbs: getBreadCrumbsByPath('explorersubjects')\r\n },\r\n subjectvariables: {\r\n Title: 'Subject Variables',\r\n BreadCrumbs: getBreadCrumbsByPath('subjectvariables')\r\n }\r\n };\r\n useEffect(() => {\r\n // we first check if path exist in menu\r\n // if not (inner page) we will set custom title&breadcrumbs\r\n getItemFromMenu();\r\n if (!itemFromMenu) {\r\n getCustomNavItem();\r\n }\r\n }, [location.pathname]);\r\n\r\n let itemFromMenu = false;\r\n const getItemFromMenu = () => {\r\n navigation?.items?.map((menu: NavItemType | NavItemTypeObject, index: number) => {\r\n if (menu.type && menu.type === 'group') {\r\n getCollapse(menu as { children: NavItemType[]; type?: string });\r\n }\r\n return false;\r\n });\r\n };\r\n\r\n const getCollapse = (menu: NavItemTypeObject) => {\r\n if (menu.children) {\r\n menu.children.filter((collapse: NavItemType) => {\r\n if (collapse.type && collapse.type === 'collapse') {\r\n getCollapse(collapse as { children: NavItemType[]; type?: string });\r\n } else if (collapse.type && collapse.type === 'item') {\r\n if (document.location.pathname === BASE_PATH + collapse.url) {\r\n // setMain(menu);\r\n setCurrNavItem(collapse);\r\n // no breadcrmbs\r\n setBrdCrmbs(undefined);\r\n itemFromMenu = true;\r\n }\r\n }\r\n return false;\r\n });\r\n }\r\n };\r\n\r\n const getCustomNavItem = () => {\r\n let curr_program = null;\r\n const path_parts = location.pathname.split('/').filter((p) => p.length > 0);\r\n if (path_parts && path_parts.length > 0) {\r\n let sys_program_key = '';\r\n if (path_parts.length > 1 && path_parts[path_parts.length - 1].toLowerCase() == 'list') {\r\n sys_program_key = path_parts[path_parts.length - 2].toLowerCase();\r\n } else if (path_parts.length > 2 && path_parts[path_parts.length - 1].toLowerCase() == 'maint') {\r\n sys_program_key = `${path_parts[path_parts.length - 3].toLowerCase()}_maint`;\r\n } else if (path_parts.length > 3 && path_parts[path_parts.length - 2].toLowerCase() == 'maint') {\r\n sys_program_key = `${path_parts[path_parts.length - 4].toLowerCase()}_maint`;\r\n } else {\r\n sys_program_key = path_parts[0].toLowerCase();\r\n }\r\n\r\n if (SystemPrograms[sys_program_key]) {\r\n curr_program = SystemPrograms[sys_program_key];\r\n } else {\r\n curr_program = {\r\n Title: capitalizeTitle(sys_program_key)\r\n };\r\n }\r\n }\r\n if (curr_program) {\r\n const custom_nav_item: NavItemType = {\r\n title: curr_program.Title,\r\n breadcrumbs: true,\r\n url: curr_program.MainPath,\r\n type: 'item'\r\n };\r\n setCurrNavItem(custom_nav_item);\r\n\r\n if (curr_program.BreadCrumbs) {\r\n const custom_brdcrmbs = curr_program.BreadCrumbs.map((i) => ({ title: i.Title, url: i.Path }));\r\n setBrdCrmbs(custom_brdcrmbs);\r\n // set active menu item\r\n setActiveMenuItem(custom_brdcrmbs[0].url.toLowerCase());\r\n } else {\r\n setBrdCrmbs(undefined);\r\n if (custom_nav_item.url) {\r\n setActiveMenuItem(custom_nav_item.url.toLowerCase());\r\n }\r\n }\r\n } else {\r\n setBrdCrmbs(undefined);\r\n }\r\n };\r\n const setActiveMenuItem = (main_path: string) => {\r\n if (navigation && navigation.items) {\r\n for (let i = 0; i < navigation.items.length; i += 1) {\r\n const menu = navigation.items[i] as { children: NavItemType[]; type?: string };\r\n if (menu.type && menu.type === 'group') {\r\n if (menu.children) {\r\n for (let j = 0; j < menu.children.length; j += 1) {\r\n const in_menu = menu.children[j];\r\n if (in_menu.url && in_menu.url.toLowerCase() == main_path) {\r\n dispatch(activeItem([in_menu.id!]));\r\n // console.log(in_menu);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n // item separator\r\n const SeparatorIcon = separator!;\r\n const separatorIcon = separator ? : ;\r\n\r\n let mainContent;\r\n let itemContent;\r\n let breadcrumbContent: React.ReactElement = ;\r\n let itemTitle: NavItemType['title'] = '';\r\n // let CollapseIcon;\r\n let ItemIcon;\r\n\r\n // collapse item\r\n if (brdCrmbs && brdCrmbs.length > 0) {\r\n // CollapseIcon = main.icon ? main.icon : AccountTreeTwoTone;\r\n mainContent = brdCrmbs.map((m, i) => (\r\n \r\n {icons && }\r\n {m.title}\r\n \r\n ));\r\n }\r\n\r\n // items\r\n if (currNavItem && currNavItem.type === 'item') {\r\n itemTitle = currNavItem && currNavItem.title;\r\n\r\n ItemIcon = currNavItem && currNavItem.icon ? currNavItem.icon : AccountTreeTwoTone;\r\n itemContent = (\r\n \r\n {icons && }\r\n {itemTitle}\r\n \r\n );\r\n\r\n // main\r\n if (currNavItem && currNavItem.breadcrumbs !== false) {\r\n breadcrumbContent = (\r\n \r\n \r\n \r\n {title && !titleBottom && (\r\n \r\n \r\n \r\n {currNavItem.title}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {icons && }\r\n {icon && }\r\n {!icon && 'Dashboard'}\r\n \r\n {mainContent}\r\n {itemContent}\r\n \r\n \r\n {title && titleBottom && (\r\n \r\n \r\n {currNavItem.title}\r\n \r\n \r\n )}\r\n \r\n \r\n {card === false && divider !== false && }\r\n \r\n );\r\n }\r\n }\r\n\r\n return breadcrumbContent;\r\n};\r\n\r\nexport default Breadcrumbs;\r\n","import React, { Ref } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Card, CardContent, CardHeader, Divider, Typography, CardProps, CardHeaderProps, CardContentProps } from '@mui/material';\r\n\r\n// project imports\r\nimport { KeyedObject } from 'types';\r\n\r\n// constant\r\nconst headerSX = {\r\n py: 2,\r\n '& .MuiCardHeader-action': { mr: 0 }\r\n};\r\n\r\n// ==============================|| CUSTOM MAIN CARD ||============================== //\r\n\r\nexport interface MainCardProps extends KeyedObject {\r\n border?: boolean;\r\n boxShadow?: boolean;\r\n children: React.ReactNode | string;\r\n style?: React.CSSProperties;\r\n content?: boolean;\r\n className?: string;\r\n contentClass?: string;\r\n contentSX?: CardContentProps['sx'];\r\n darkTitle?: boolean;\r\n sx?: CardProps['sx'];\r\n secondary?: CardHeaderProps['action'];\r\n shadow?: string;\r\n elevation?: number;\r\n title?: React.ReactNode | string;\r\n}\r\n\r\nconst MainCard = React.forwardRef(\r\n (\r\n {\r\n border = true,\r\n boxShadow,\r\n children,\r\n content = true,\r\n contentClass = '',\r\n contentSX = {},\r\n darkTitle,\r\n secondary,\r\n shadow,\r\n sx = {},\r\n title,\r\n subheader,\r\n ...others\r\n }: MainCardProps,\r\n ref: Ref\r\n ) => {\r\n const theme = useTheme();\r\n\r\n return (\r\n \r\n {/* card header and action */}\r\n {!darkTitle && title && }\r\n {darkTitle && title && (\r\n {title}}\r\n subheader={subheader}\r\n action={secondary}\r\n />\r\n )}\r\n\r\n {/* content & header divider */}\r\n {title && }\r\n\r\n {/* card content */}\r\n {content && (\r\n \r\n {children}\r\n \r\n )}\r\n {!content && children}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default MainCard;\r\n","// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\n\r\n/**\r\n * if you want to use image instead of uncomment following.\r\n *\r\n * import logoDark from 'assets/images/logo-dark.svg';\r\n * import logo from 'assets/images/logo.svg';\r\n *\r\n \r\n */\r\nimport logoDark from 'assets/images/logo-dark.svg';\r\nimport logo from 'assets/images/TalLogo.jpg';\r\n\r\n// ==============================|| LOGO SVG ||============================== //\r\n\r\nconst Logo = () => {\r\n const theme = useTheme();\r\n\r\n return (\r\n \"Berry\"\r\n /**\r\n * if you want to use image instead of svg uncomment following, and comment out element.\r\n *\r\n * \"Berry\"\r\n *\r\n */\r\n );\r\n};\r\n\r\nexport default Logo;\r\n","export default \"data:image/png;base64,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\"","// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport MuiChip, { ChipProps } from '@mui/material/Chip';\r\n\r\n// ==============================|| CHIP ||============================== //\r\n\r\ninterface chipProps extends ChipProps {\r\n chipcolor?: string;\r\n sx?: {};\r\n disabled?: boolean;\r\n label?: string;\r\n avatar?: React.ReactElement | undefined;\r\n onDelete?: () => void;\r\n onClick?: () => void;\r\n}\r\n\r\nconst Chip = ({ chipcolor, disabled, sx = {}, variant, ...others }: chipProps) => {\r\n const theme = useTheme();\r\n\r\n let defaultSX = {\r\n color: theme.palette.mode === 'dark' ? theme.palette.primary.light : theme.palette.primary.main,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.primary.main : theme.palette.primary.light,\r\n ':hover': {\r\n color: theme.palette.primary.light,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.primary.dark + 90 : theme.palette.primary.dark\r\n }\r\n };\r\n\r\n let outlineSX = {\r\n color: theme.palette.primary.main,\r\n bgcolor: 'transparent',\r\n border: '1px solid',\r\n borderColor: theme.palette.primary.main,\r\n ':hover': {\r\n color: theme.palette.mode === 'dark' ? theme.palette.primary.light : theme.palette.primary.light,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.primary.main : theme.palette.primary.dark\r\n }\r\n };\r\n\r\n switch (chipcolor) {\r\n case 'secondary':\r\n variant === 'outlined'\r\n ? (outlineSX = {\r\n color: theme.palette.secondary.main,\r\n bgcolor: 'transparent',\r\n border: '1px solid',\r\n borderColor: theme.palette.secondary.main,\r\n ':hover': {\r\n color: theme.palette.mode === 'dark' ? theme.palette.secondary.light : theme.palette.secondary.main,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.secondary.dark : theme.palette.secondary.light\r\n }\r\n })\r\n : (defaultSX = {\r\n color: theme.palette.mode === 'dark' ? theme.palette.secondary.light : theme.palette.secondary.main,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.secondary.dark : theme.palette.secondary.light,\r\n ':hover': {\r\n color: theme.palette.secondary.light,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.secondary.dark + 90 : theme.palette.secondary.main\r\n }\r\n });\r\n break;\r\n case 'success':\r\n variant === 'outlined'\r\n ? (outlineSX = {\r\n color: theme.palette.success.dark,\r\n bgcolor: 'transparent',\r\n border: '1px solid',\r\n borderColor: theme.palette.success.dark,\r\n ':hover': {\r\n color: theme.palette.mode === 'dark' ? theme.palette.success.light : theme.palette.success.dark,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.success.dark : theme.palette.success.light + 60\r\n }\r\n })\r\n : (defaultSX = {\r\n color: theme.palette.mode === 'dark' ? theme.palette.success.light : theme.palette.success.dark,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.success.dark : theme.palette.success.light + 60,\r\n ':hover': {\r\n color: theme.palette.success.light,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.success.dark + 90 : theme.palette.success.dark\r\n }\r\n });\r\n break;\r\n case 'error':\r\n variant === 'outlined'\r\n ? (outlineSX = {\r\n color: theme.palette.error.main,\r\n bgcolor: 'transparent',\r\n border: '1px solid',\r\n borderColor: theme.palette.error.main,\r\n ':hover': {\r\n color: theme.palette.mode === 'dark' ? theme.palette.error.light : theme.palette.error.dark,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.error.dark : theme.palette.error.light\r\n }\r\n })\r\n : (defaultSX = {\r\n color: theme.palette.mode === 'dark' ? theme.palette.error.light : theme.palette.error.dark,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.error.dark : theme.palette.error.light + 60,\r\n ':hover': {\r\n color: theme.palette.error.light,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.error.dark + 90 : theme.palette.error.dark\r\n }\r\n });\r\n break;\r\n case 'orange':\r\n variant === 'outlined'\r\n ? (outlineSX = {\r\n color: theme.palette.orange?.dark!,\r\n bgcolor: 'transparent',\r\n border: '1px solid',\r\n borderColor: theme.palette.orange?.main!,\r\n ':hover': {\r\n color: theme.palette.orange?.dark!,\r\n bgcolor: theme.palette.orange?.light!\r\n }\r\n })\r\n : (defaultSX = {\r\n color: theme.palette.orange?.dark!,\r\n bgcolor: theme.palette.orange?.light!,\r\n ':hover': {\r\n color: theme.palette.orange?.light!,\r\n bgcolor: theme.palette.orange?.dark!\r\n }\r\n });\r\n break;\r\n case 'warning':\r\n variant === 'outlined'\r\n ? (outlineSX = {\r\n color: theme.palette.warning.dark,\r\n bgcolor: 'transparent',\r\n border: '1px solid',\r\n borderColor: theme.palette.warning.dark,\r\n ':hover': {\r\n color: theme.palette.warning.dark,\r\n bgcolor: theme.palette.warning.light\r\n }\r\n })\r\n : (defaultSX = {\r\n color: theme.palette.warning.dark,\r\n bgcolor: theme.palette.warning.light,\r\n ':hover': {\r\n color: theme.palette.warning.light,\r\n bgcolor: theme.palette.mode === 'dark' ? theme.palette.warning.dark + 90 : theme.palette.warning.dark\r\n }\r\n });\r\n break;\r\n default:\r\n }\r\n\r\n if (disabled) {\r\n variant === 'outlined'\r\n ? (outlineSX = {\r\n color: theme.palette.grey[500],\r\n bgcolor: 'transparent',\r\n border: '1px solid',\r\n borderColor: theme.palette.grey[500],\r\n ':hover': {\r\n color: theme.palette.grey[500],\r\n bgcolor: 'transparent'\r\n }\r\n })\r\n : (defaultSX = {\r\n color: theme.palette.grey[500],\r\n bgcolor: theme.palette.grey[50],\r\n ':hover': {\r\n color: theme.palette.grey[500],\r\n bgcolor: theme.palette.grey[50]\r\n }\r\n });\r\n }\r\n\r\n let SX = defaultSX;\r\n if (variant === 'outlined') {\r\n SX = outlineSX;\r\n }\r\n SX = { ...SX, ...sx };\r\n return ;\r\n};\r\n\r\nexport default Chip;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\n\r\n// types\r\nimport { LoaderProps } from 'types/loader';\r\n\r\nconst initialState: LoaderProps = {\r\n action: false,\r\n loaderVisible: false,\r\n loaderColor: 'primary',\r\n loaderType: 'form',\r\n autoHideLoaderDuration: 5000\r\n};\r\n\r\n// ==============================|| SLICE - SNACKBAR ||============================== //\r\n\r\nconst loader = createSlice({\r\n name: 'loader',\r\n initialState,\r\n reducers: {\r\n \r\n showLoader (state) {\r\n state.action = !state.action;\r\n state.loaderVisible = true;\r\n state.loaderColor = initialState.loaderColor;\r\n state.loaderType = initialState.loaderType;\r\n state.autoHideLoaderDuration = initialState.autoHideLoaderDuration;\r\n \r\n },\r\n hideLoader(state) {\r\n state.loaderVisible = false;\r\n }\r\n }\r\n});\r\n\r\nexport default loader.reducer;\r\n\r\nexport const { hideLoader, showLoader} = loader.actions;\r\n","/* eslint-disable arrow-body-style */\r\nimport { fetchRequest } from 'utils/fetchRequest';\r\nimport { config } from 'Constants';\r\nimport { FileType } from 'ui-component/extended/Form/CustomFileUpload';\r\nconst parseString = require('xml2js').parseString;\r\n\r\nexport enum CompareType {\r\n Equals,\r\n GreaterThan,\r\n GreaterThanOrEqual,\r\n LessThan,\r\n LessThanOrEqual,\r\n NotEqual\r\n}\r\nexport type FilterType = 'dealers' | 'manufacturers' | 'models' | 'products' | 'things' | 'roles' | 'schemas' | 'shadows' | 'shadow_names';\r\n\r\nexport type SystemFilters = {\r\n DealersList: any;\r\n ManufacturersList: any;\r\n ProductsList: any;\r\n ModelsList: any;\r\n ThingsList: any;\r\n RolesList: any;\r\n SchemasList: any;\r\n ShadowsList: any;\r\n ShadowNamesList: any;\r\n};\r\n\r\nexport const GeneralSystemApi = {\r\n getAwsData: () => {\r\n return new Promise((resolve) => {\r\n fetchRequest(`${config.url.API_URL}/WebServices/SiteService.asmx/GetAwsThings`, 'post', new URLSearchParams({}).toString())\r\n .then((response: any) => {\r\n parseString(response, (err: any, result: any) => {\r\n if (result) {\r\n const res = JSON.parse(result.string._);\r\n\r\n if (res.Success) {\r\n if (res.Response) {\r\n const responseData = JSON.parse(res.Response);\r\n resolve(responseData);\r\n }\r\n } else {\r\n alert(res.ErrorMessage);\r\n console.error('Error during getData ErrorMessage:', res.ErrorMessage);\r\n }\r\n }\r\n });\r\n })\r\n\r\n .catch((err) => {\r\n resolve(null);\r\n console.log('GetJobsList failed!!!');\r\n });\r\n });\r\n },\r\n uploadFile: (image_base64: string, file_name: string, file_type: any) => {\r\n return new Promise((resolve) => {\r\n fetchRequest(\r\n `${config.url.API_URL}/WebServices/FilesService.asmx/UploadFile`,\r\n 'post',\r\n new URLSearchParams({ \r\n imageBase64: image_base64, \r\n fileName: file_name,\r\n fileType: file_type }).toString()\r\n )\r\n .then((response: any) => {\r\n parseString(response, (err: any, result: any) => {\r\n if (result) {\r\n const res = JSON.parse(result.string._);\r\n\r\n if (res.Success) {\r\n if (res.Response) {\r\n const responseData = JSON.parse(res.Response);\r\n resolve(responseData);\r\n }\r\n } else {\r\n alert(res.ErrorMessage);\r\n console.error('Error during getData ErrorMessage:', res.ErrorMessage);\r\n }\r\n }\r\n });\r\n })\r\n\r\n .catch((err) => {\r\n resolve(null);\r\n console.log('GetJobsList failed!!!');\r\n });\r\n });\r\n },\r\n getAutocompleteAddress: (address_search: string) => {\r\n return new Promise((resolve) => {\r\n fetchRequest(\r\n `${config.url.API_URL}/WebServices/MainService.asmx/AutocompleteAddress`,\r\n 'post',\r\n new URLSearchParams({ address: address_search }).toString()\r\n )\r\n .then((response: any) => {\r\n parseString(response, (err: any, result: any) => {\r\n if (result) {\r\n const res = JSON.parse(result.string._);\r\n\r\n if (res.Success) {\r\n if (res.Response) {\r\n const responseData = JSON.parse(res.Response);\r\n resolve(responseData);\r\n }\r\n } else {\r\n console.error('Error during AutocompleteAddress ErrorMessage:', res.ErrorMessage);\r\n }\r\n }\r\n });\r\n })\r\n\r\n .catch((err) => {\r\n resolve(null);\r\n console.error('AutocompleteAddress failed!!!', err);\r\n });\r\n });\r\n },\r\n getFilters: (filters: FilterType[]) => {\r\n return new Promise((resolve, reject) => {\r\n fetchRequest(\r\n `${config.url.API_URL}/WebServices/MainService.asmx/GetFilters`,\r\n 'post',\r\n new URLSearchParams({ filters: filters.join(',') }).toString()\r\n )\r\n .then((response: any) => {\r\n parseString(response, (err: any, result: any) => {\r\n if (result) {\r\n const res = JSON.parse(result.string._);\r\n\r\n if (res.Success) {\r\n if (res.Response) {\r\n const responseData = JSON.parse(res.Response);\r\n resolve(responseData);\r\n }\r\n } else {\r\n reject(res.ErrorMessage);\r\n console.error('Error during getFilters ErrorMessage:', res.ErrorMessage);\r\n }\r\n }\r\n });\r\n })\r\n\r\n .catch((err) => {\r\n reject(err);\r\n console.error('getFilters failed!!!', err);\r\n });\r\n });\r\n }\r\n};\r\n\r\nexport {};\r\n","export default \"data:image/png;base64,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\"","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\nimport { KanbanColumn, KanbanComment, KanbanItem, KanbanUserStory } from 'types/kanban';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['kanban'] = {\r\n error: null,\r\n columns: [],\r\n columnsOrder: [],\r\n comments: [],\r\n items: [],\r\n profiles: [],\r\n selectedItem: false,\r\n userStory: [],\r\n userStoryOrder: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'kanban',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // ADD COLUMN\r\n addColumnSuccess(state, action) {\r\n state.columns = action.payload.columns;\r\n state.columnsOrder = action.payload.columnsOrder;\r\n },\r\n\r\n // EDIT COLUMN\r\n editColumnSuccess(state, action) {\r\n state.columns = action.payload.columns;\r\n },\r\n\r\n // UPDATE COLUMN ORDER\r\n updateColumnOrderSuccess(state, action) {\r\n state.columnsOrder = action.payload.columnsOrder;\r\n },\r\n\r\n // DELETE COLUMN\r\n deleteColumnSuccess(state, action) {\r\n state.columns = action.payload.columns;\r\n state.columnsOrder = action.payload.columnsOrder;\r\n },\r\n\r\n // ADD ITEM\r\n addItemSuccess(state, action) {\r\n state.items = action.payload.items;\r\n state.columns = action.payload.columns;\r\n state.userStory = action.payload.userStory;\r\n },\r\n\r\n // EDIT ITEM\r\n editItemSuccess(state, action) {\r\n state.items = action.payload.items;\r\n state.columns = action.payload.columns;\r\n state.userStory = action.payload.userStory;\r\n },\r\n\r\n // UPDATE COLUMN ITEM ORDER\r\n updateColumnItemOrderSuccess(state, action) {\r\n state.columns = action.payload.columns;\r\n },\r\n\r\n // SELECT ITEM\r\n selectItemSuccess(state, action) {\r\n state.selectedItem = action.payload.selectedItem;\r\n },\r\n\r\n // ADD ITEM COMMENT\r\n addItemCommentSuccess(state, action) {\r\n state.items = action.payload.items;\r\n state.comments = action.payload.comments;\r\n },\r\n\r\n // DELETE ITEM\r\n deleteItemSuccess(state, action) {\r\n state.items = action.payload.items;\r\n state.columns = action.payload.columns;\r\n state.userStory = action.payload.userStory;\r\n },\r\n\r\n // ADD STORY\r\n addStorySuccess(state, action) {\r\n state.userStory = action.payload.userStory;\r\n state.userStoryOrder = action.payload.userStoryOrder;\r\n },\r\n\r\n // EDIT STORY\r\n editStorySuccess(state, action) {\r\n state.userStory = action.payload.userStory;\r\n },\r\n\r\n // UPDATE STORY ORDER\r\n updateStoryOrderSuccess(state, action) {\r\n state.userStoryOrder = action.payload.userStoryOrder;\r\n },\r\n\r\n // UPDATE STORY ITEM ORDER\r\n updateStoryItemOrderSuccess(state, action) {\r\n state.userStory = action.payload.userStory;\r\n },\r\n\r\n // ADD STORY COMMENT\r\n addStoryCommentSuccess(state, action) {\r\n state.userStory = action.payload.userStory;\r\n state.comments = action.payload.comments;\r\n },\r\n\r\n // DELETE STORY\r\n deleteStorySuccess(state, action) {\r\n state.userStory = action.payload.userStory;\r\n state.userStoryOrder = action.payload.userStoryOrder;\r\n },\r\n\r\n // GET COLUMNS\r\n getColumnsSuccess(state, action) {\r\n state.columns = action.payload;\r\n },\r\n\r\n // GET COLUMNS ORDER\r\n getColumnsOrderSuccess(state, action) {\r\n state.columnsOrder = action.payload;\r\n },\r\n\r\n // GET COMMENTS\r\n getCommentsSuccess(state, action) {\r\n state.comments = action.payload;\r\n },\r\n\r\n // GET PROFILES\r\n getProfilesSuccess(state, action) {\r\n state.profiles = action.payload;\r\n },\r\n\r\n // GET ITEMS\r\n getItemsSuccess(state, action) {\r\n state.items = action.payload;\r\n },\r\n\r\n // GET USER STORY\r\n getUserStorySuccess(state, action) {\r\n state.userStory = action.payload;\r\n },\r\n\r\n // GET USER STORY ORDER\r\n getUserStoryOrderSuccess(state, action) {\r\n state.userStoryOrder = action.payload;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function getColumns() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/kanban/columns');\r\n dispatch(slice.actions.getColumnsSuccess(response.data.columns));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getColumnsOrder() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/kanban/columns-order');\r\n dispatch(slice.actions.getColumnsOrderSuccess(response.data.columnsOrder));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getComments() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/kanban/comments');\r\n dispatch(slice.actions.getCommentsSuccess(response.data.comments));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getProfiles() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/kanban/profiles');\r\n dispatch(slice.actions.getProfilesSuccess(response.data.profiles));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getItems() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/kanban/items');\r\n dispatch(slice.actions.getItemsSuccess(response.data.items));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getUserStory() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/kanban/userstory');\r\n dispatch(slice.actions.getUserStorySuccess(response.data.userStory));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getUserStoryOrder() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/kanban/userstory-order');\r\n dispatch(slice.actions.getUserStoryOrderSuccess(response.data.userStoryOrder));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addColumn(column: KanbanColumn, columns: KanbanColumn[], columnsOrder: string[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/add-column', { column, columns, columnsOrder });\r\n dispatch(slice.actions.addColumnSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function editColumn(column: KanbanColumn, columns: KanbanColumn[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/edit-column', { column, columns });\r\n dispatch(slice.actions.editColumnSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function updateColumnOrder(columnsOrder: string[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/update-column-order', { columnsOrder });\r\n dispatch(slice.actions.updateColumnOrderSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function deleteColumn(columnId: string, columnsOrder: string[], columns: KanbanColumn[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/delete-column', { columnId, columnsOrder, columns });\r\n dispatch(slice.actions.deleteColumnSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addItem(\r\n columnId: string,\r\n columns: KanbanColumn[],\r\n item: KanbanItem,\r\n items: KanbanItem[],\r\n storyId: string,\r\n userStory: KanbanUserStory[]\r\n) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/add-item', { columnId, columns, item, items, storyId, userStory });\r\n dispatch(slice.actions.addItemSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function editItem(\r\n columnId: string,\r\n columns: KanbanColumn[],\r\n item: KanbanItem,\r\n items: KanbanItem[],\r\n storyId: string,\r\n userStory: KanbanUserStory[]\r\n) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/edit-item', { items, item, userStory, storyId, columns, columnId });\r\n dispatch(slice.actions.editItemSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function updateColumnItemOrder(columns: KanbanColumn[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/update-item-order', { columns });\r\n dispatch(slice.actions.updateColumnItemOrderSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function selectItem(selectedItem: string | false) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/select-item', { selectedItem });\r\n dispatch(slice.actions.selectItemSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addItemComment(itemId: string | false, comment: KanbanComment, items: KanbanItem[], comments: KanbanComment[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/add-item-comment', { items, itemId, comment, comments });\r\n dispatch(slice.actions.addItemCommentSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function deleteItem(itemId: string | false, items: KanbanItem[], columns: KanbanColumn[], userStory: KanbanUserStory[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/delete-item', { columns, itemId, userStory, items });\r\n dispatch(slice.actions.deleteItemSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addStory(story: any, userStory: KanbanUserStory[], userStoryOrder: string[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/add-story', { userStory, story, userStoryOrder });\r\n dispatch(slice.actions.addStorySuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function editStory(story: KanbanUserStory, userStory: KanbanUserStory[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/edit-story', { userStory, story });\r\n dispatch(slice.actions.editStorySuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function updateStoryOrder(userStoryOrder: string[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/update-story-order', { userStoryOrder });\r\n dispatch(slice.actions.updateStoryOrderSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function updateStoryItemOrder(userStory: KanbanUserStory[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/update-storyitem-order', { userStory });\r\n dispatch(slice.actions.updateStoryItemOrderSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addStoryComment(storyId: string, comment: KanbanComment, comments: KanbanComment[], userStory: KanbanUserStory[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/add-story-comment', { userStory, storyId, comment, comments });\r\n dispatch(slice.actions.addStoryCommentSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function deleteStory(storyId: string, userStory: KanbanUserStory[], userStoryOrder: string[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/kanban/delete-story', { userStory, storyId, userStoryOrder });\r\n dispatch(slice.actions.deleteStorySuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","export default \"data:image/png;base64,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\"","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\nimport { Reply } from 'types/user-profile';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['user'] = {\r\n error: null,\r\n usersS1: [],\r\n usersS2: [],\r\n followers: [],\r\n friendRequests: [],\r\n friends: [],\r\n gallery: [],\r\n posts: [],\r\n detailCards: [],\r\n simpleCards: [],\r\n profileCards: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'user',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // GET USERS STYLE 1\r\n getUsersListStyle1Success(state, action) {\r\n state.usersS1 = action.payload;\r\n },\r\n\r\n // GET USERS STYLE 2\r\n getUsersListStyle2Success(state, action) {\r\n state.usersS2 = action.payload;\r\n },\r\n\r\n // GET FOLLOWERS\r\n getFollowersSuccess(state, action) {\r\n state.followers = action.payload;\r\n },\r\n\r\n // FILTER FOLLOWERS\r\n filterFollowersSuccess(state, action) {\r\n state.followers = action.payload;\r\n },\r\n\r\n // GET FRIEND REQUESTS\r\n getFriendRequestsSuccess(state, action) {\r\n state.friendRequests = action.payload;\r\n },\r\n\r\n // FILTER FRIEND REQUESTS\r\n filterFriendRequestsSuccess(state, action) {\r\n state.friendRequests = action.payload;\r\n },\r\n\r\n // GET FRIENDS\r\n getFriendsSuccess(state, action) {\r\n state.friends = action.payload;\r\n },\r\n\r\n // FILTER FRIENDS\r\n filterFriendsSuccess(state, action) {\r\n state.friends = action.payload;\r\n },\r\n\r\n // GET GALLERY\r\n getGallerySuccess(state, action) {\r\n state.gallery = action.payload;\r\n },\r\n\r\n // GET POSTS\r\n getPostsSuccess(state, action) {\r\n state.posts = action.payload;\r\n },\r\n\r\n // EDIT COMMENT\r\n editCommentSuccess(state, action) {\r\n state.posts = action.payload;\r\n },\r\n\r\n // ADD COMMENT\r\n addCommentSuccess(state, action) {\r\n state.posts = action.payload;\r\n },\r\n\r\n // ADD REPLY\r\n addReplySuccess(state, action) {\r\n state.posts = action.payload;\r\n },\r\n\r\n // LIKE POST\r\n likePostSuccess(state, action) {\r\n state.posts = action.payload;\r\n },\r\n\r\n // LIKE COMMENT\r\n likeCommentSuccess(state, action) {\r\n state.posts = action.payload;\r\n },\r\n\r\n // LIKE REPLY\r\n likeReplySuccess(state, action) {\r\n state.posts = action.payload;\r\n },\r\n\r\n // GET DETAIL CARDS\r\n getDetailCardsSuccess(state, action) {\r\n state.detailCards = action.payload;\r\n },\r\n\r\n // FILTER DETAIL CARDS\r\n filterDetailCardsSuccess(state, action) {\r\n state.detailCards = action.payload;\r\n },\r\n\r\n // GET SIMPLE CARDS\r\n getSimpleCardsSuccess(state, action) {\r\n state.simpleCards = action.payload;\r\n },\r\n\r\n // FILTER SIMPLE CARDS\r\n filterSimpleCardsSuccess(state, action) {\r\n state.simpleCards = action.payload;\r\n },\r\n\r\n // GET PROFILE CARDS\r\n getProfileCardsSuccess(state, action) {\r\n state.profileCards = action.payload;\r\n },\r\n\r\n // FILTER PROFILE CARDS\r\n filterProfileCardsSuccess(state, action) {\r\n state.profileCards = action.payload;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function getUsersListStyle1() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/user-list/s1/list');\r\n dispatch(slice.actions.getUsersListStyle1Success(response.data.users_s1));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getUsersListStyle2() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/user-list/s2/list');\r\n dispatch(slice.actions.getUsersListStyle2Success(response.data.users_s2));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getFollowers() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/followers/list');\r\n dispatch(slice.actions.getFollowersSuccess(response.data.followers));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function filterFollowers(key: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/followers/filter', { key });\r\n dispatch(slice.actions.filterFollowersSuccess(response.data.results));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getFriendRequests() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/friend-request/list');\r\n dispatch(slice.actions.getFriendRequestsSuccess(response.data.friends));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function filterFriendRequests(key: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/friend-request/filter', { key });\r\n dispatch(slice.actions.filterFriendRequestsSuccess(response.data.results));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getFriends() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/friends/list');\r\n dispatch(slice.actions.getFriendsSuccess(response.data.friends));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function filterFriends(key: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/friends/filter', { key });\r\n dispatch(slice.actions.filterFriendsSuccess(response.data.results));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getGallery() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/gallery/list');\r\n dispatch(slice.actions.getGallerySuccess(response.data.gallery));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getPosts() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/posts/list');\r\n dispatch(slice.actions.getPostsSuccess(response.data.posts));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function editComment(key: string, id: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/posts/editComment', { key, id });\r\n dispatch(slice.actions.editCommentSuccess(response.data.posts));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addComment(postId: string, comment: Reply) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/comments/add', { postId, comment });\r\n dispatch(slice.actions.addCommentSuccess(response.data.posts));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addReply(postId: string, commentId: string, reply: Reply) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/replies/add', { postId, commentId, reply });\r\n dispatch(slice.actions.addReplySuccess(response.data.posts));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function likePost(postId: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/posts/list/like', { postId });\r\n dispatch(slice.actions.likePostSuccess(response.data.posts));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function likeComment(postId: string, commentId: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/comments/list/like', { postId, commentId });\r\n dispatch(slice.actions.likeCommentSuccess(response.data.posts));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function likeReply(postId: string, commentId: string, replayId: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/replies/list/like', { postId, commentId, replayId });\r\n dispatch(slice.actions.likeReplySuccess(response.data.posts));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getDetailCards() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/details-card/list');\r\n dispatch(slice.actions.getDetailCardsSuccess(response.data.users));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function filterDetailCards(key: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/details-card/filter', { key });\r\n dispatch(slice.actions.filterDetailCardsSuccess(response.data.results));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getSimpleCards() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/simple-card/list');\r\n dispatch(slice.actions.getSimpleCardsSuccess(response.data.users));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function filterSimpleCards(key: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/simple-card/filter', { key });\r\n dispatch(slice.actions.filterSimpleCardsSuccess(response.data.results));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getProfileCards() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/profile-card/list');\r\n dispatch(slice.actions.getProfileCardsSuccess(response.data.users));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function filterProfileCards(key: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/profile-card/filter', { key });\r\n dispatch(slice.actions.filterProfileCardsSuccess(response.data.results));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","export default __webpack_public_path__ + \"static/media/img-profile1.9d901df5.png\";","export default __webpack_public_path__ + \"static/media/img-profile2.071c9e98.jpg\";","export default __webpack_public_path__ + \"static/media/img-profile4.14adda37.jpg\";","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\nimport { ProductsFilter, Address } from 'types/e-commerce';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['product'] = {\r\n error: null,\r\n products: [],\r\n product: null,\r\n relatedProducts: [],\r\n reviews: [],\r\n addresses: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'product',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // GET PRODUCTS\r\n getProductsSuccess(state, action) {\r\n state.products = action.payload;\r\n },\r\n\r\n // FILTER PRODUCTS\r\n filterProductsSuccess(state, action) {\r\n state.products = action.payload;\r\n },\r\n\r\n // GET PRODUCT\r\n getProductSuccess(state, action) {\r\n state.product = action.payload;\r\n },\r\n\r\n // GET RELATED PRODUCTS\r\n getRelatedProductsSuccess(state, action) {\r\n state.relatedProducts = action.payload;\r\n },\r\n\r\n // GET PRODUCT REVIEWS\r\n getProductReviewsSuccess(state, action) {\r\n state.reviews = action.payload;\r\n },\r\n\r\n // GET ADDRESSES\r\n getAddressesSuccess(state, action) {\r\n state.addresses = action.payload;\r\n },\r\n\r\n // ADD ADDRESS\r\n addAddressSuccess(state, action) {\r\n state.addresses = action.payload;\r\n },\r\n\r\n // EDIT ADDRESS\r\n editAddressSuccess(state, action) {\r\n state.addresses = action.payload;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function getProducts() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/products/list');\r\n dispatch(slice.actions.getProductsSuccess(response.data.products));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function filterProducts(filter: ProductsFilter) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/products/filter', { filter });\r\n dispatch(slice.actions.filterProductsSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getProduct(id: string | undefined) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/product/details', { id });\r\n dispatch(slice.actions.getProductSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getRelatedProducts(id: string | undefined) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/product/related', { id });\r\n dispatch(slice.actions.getRelatedProductsSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getProductReviews() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/review/list');\r\n dispatch(slice.actions.getProductReviewsSuccess(response.data.productReviews));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getAddresses() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/address/list');\r\n dispatch(slice.actions.getAddressesSuccess(response.data.address));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addAddress(address: Address) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/address/new', address);\r\n dispatch(slice.actions.addAddressSuccess(response.data.address));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function editAddress(address: Address) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/address/edit', address);\r\n dispatch(slice.actions.editAddressSuccess(response.data.address));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\nimport { Address, ProductCardProps } from 'types/cart';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['cart'] = {\r\n error: null,\r\n checkout: {\r\n step: 0,\r\n products: [],\r\n subtotal: 0,\r\n total: 0,\r\n discount: 0,\r\n shipping: 0,\r\n billing: null,\r\n payment: {\r\n type: 'free',\r\n method: 'cod',\r\n card: ''\r\n }\r\n }\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'cart',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // ADD PRODUCT\r\n addProductSuccess(state, action) {\r\n state.checkout.products = action.payload.products;\r\n state.checkout.subtotal += action.payload.subtotal;\r\n state.checkout.total += action.payload.subtotal;\r\n },\r\n\r\n // REMOVE PRODUCT\r\n removeProductSuccess(state, action) {\r\n state.checkout.products = action.payload.products;\r\n state.checkout.subtotal += -action.payload.subtotal;\r\n state.checkout.total += -action.payload.subtotal;\r\n },\r\n\r\n // UPDATE PRODUCT\r\n updateProductSuccess(state, action) {\r\n state.checkout.products = action.payload.products;\r\n state.checkout.subtotal = state.checkout.subtotal - action.payload.oldSubTotal + action.payload.subtotal;\r\n state.checkout.total = state.checkout.total - action.payload.oldSubTotal + action.payload.subtotal;\r\n },\r\n\r\n // SET STEP\r\n setStepSuccess(state, action) {\r\n state.checkout.step = action.payload;\r\n },\r\n\r\n // SET NEXT STEP\r\n setNextStepSuccess(state, action) {\r\n state.checkout.step += 1;\r\n },\r\n\r\n // SET BACK STEP\r\n setBackStepSuccess(state, action) {\r\n state.checkout.step -= 1;\r\n },\r\n\r\n // SET BILLING ADDRESS\r\n setBillingAddressSuccess(state, action) {\r\n state.checkout.billing = action.payload.billing;\r\n },\r\n\r\n // SET DISCOUNT\r\n setDiscountSuccess(state, action) {\r\n let difference = 0;\r\n if (state.checkout.discount > 0) {\r\n difference = state.checkout.discount;\r\n }\r\n\r\n state.checkout.discount = action.payload.amount;\r\n state.checkout.total = state.checkout.total + difference - action.payload.amount;\r\n },\r\n\r\n // SET SHIPPING CHARGE\r\n setShippingChargeSuccess(state, action) {\r\n state.checkout.shipping = action.payload.shipping;\r\n state.checkout.total += action.payload.newShipping;\r\n state.checkout.payment = {\r\n ...state.checkout.payment,\r\n type: action.payload.type\r\n };\r\n },\r\n\r\n // SET PAYMENT METHOD\r\n setPaymentMethodSuccess(state, action) {\r\n state.checkout.payment = {\r\n ...state.checkout.payment,\r\n method: action.payload.method\r\n };\r\n },\r\n\r\n // SET PAYMENT CARD\r\n setPaymentCardSuccess(state, action) {\r\n state.checkout.payment = {\r\n ...state.checkout.payment,\r\n card: action.payload.card\r\n };\r\n },\r\n\r\n // RESET CART\r\n resetCardSuccess(state, action) {\r\n state.checkout = initialState.checkout;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function addProduct(product: ProductCardProps, products: ProductCardProps[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/add', { product, products });\r\n dispatch(slice.actions.addProductSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function removeProduct(id: string | number | undefined, products: ProductCardProps[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/remove', { id, products });\r\n dispatch(slice.actions.removeProductSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function updateProduct(id: string | number | undefined, quantity: number, products: ProductCardProps[]) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/update', { id, quantity, products });\r\n dispatch(slice.actions.updateProductSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function setStep(step: number) {\r\n return () => {\r\n dispatch(slice.actions.setStepSuccess(step));\r\n };\r\n}\r\n\r\nexport function setNextStep() {\r\n return () => {\r\n dispatch(slice.actions.setNextStepSuccess({}));\r\n };\r\n}\r\n\r\nexport function setBackStep() {\r\n return () => {\r\n dispatch(slice.actions.setBackStepSuccess({}));\r\n };\r\n}\r\n\r\nexport function setBillingAddress(address: Address | null) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/billing-address', { address });\r\n dispatch(slice.actions.setBillingAddressSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function setDiscount(code: string, total: number) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/discount', { code, total });\r\n dispatch(slice.actions.setDiscountSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function setShippingCharge(charge: string, shipping: number) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/shipping-charge', { charge, shipping });\r\n dispatch(slice.actions.setShippingChargeSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function setPaymentMethod(method: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/payment-method', { method });\r\n dispatch(slice.actions.setPaymentMethodSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function setPaymentCard(card: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/payment-card', { card });\r\n dispatch(slice.actions.setPaymentCardSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function resetCart() {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/cart/reset');\r\n dispatch(slice.actions.resetCardSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['customer'] = {\r\n error: null,\r\n customers: [],\r\n orders: [],\r\n products: [],\r\n productreviews: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'customer',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // GET CUSTOMERS\r\n getCustomersSuccess(state, action) {\r\n state.customers = action.payload;\r\n },\r\n\r\n // GET ORDERS\r\n getOrdersSuccess(state, action) {\r\n state.orders = action.payload;\r\n },\r\n\r\n // GET PRODUCTS\r\n getProductsSuccess(state, action) {\r\n state.products = action.payload;\r\n },\r\n\r\n // GET PRODUCT REVIEWS\r\n getProductReviewsSuccess(state, action) {\r\n state.productreviews = action.payload;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function getCustomers() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/customer/list');\r\n dispatch(slice.actions.getCustomersSuccess(response.data.customers));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getOrders() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/customer/order/list');\r\n dispatch(slice.actions.getOrdersSuccess(response.data.orders));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getProducts() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/customer/product/list');\r\n dispatch(slice.actions.getProductsSuccess(response.data.products));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getProductReviews() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/customer/product/reviews');\r\n dispatch(slice.actions.getProductReviewsSuccess(response.data.productreviews));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\nimport { UserProfile } from 'types/user-profile';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['contact'] = {\r\n error: null,\r\n contacts: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'contact',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // GET CONTACTS\r\n getContactsSuccess(state, action) {\r\n state.contacts = action.payload;\r\n },\r\n\r\n // MODIFY CONTACT\r\n modifyContactSuccess(state, action) {\r\n state.contacts = action.payload;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function getContacts() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/contact/list');\r\n dispatch(slice.actions.getContactsSuccess(response.data.contacts));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function modifyContact(contact: UserProfile) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/contact/modify', contact);\r\n dispatch(slice.actions.modifyContactSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\nimport { ChatHistory } from 'types/chat';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['chat'] = {\r\n error: null,\r\n chats: [],\r\n user: {},\r\n users: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'chat',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // GET USER\r\n getUserSuccess(state, action) {\r\n state.user = action.payload;\r\n },\r\n\r\n // GET USER CHATS\r\n getUserChatsSuccess(state, action) {\r\n state.chats = action.payload;\r\n },\r\n\r\n // GET USERS\r\n getUsersSuccess(state, action) {\r\n state.users = action.payload;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function getUser(id: number) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/chat/users/id', { id });\r\n dispatch(slice.actions.getUserSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getUserChats(user: string | undefined) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/chat/filter', { user });\r\n dispatch(slice.actions.getUserChatsSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function insertChat(chat: ChatHistory) {\r\n return async () => {\r\n try {\r\n await axios.post('/api/chat/insert', chat);\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function getUsers() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/chat/users');\r\n dispatch(slice.actions.getUsersSuccess(response.data.users));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\nimport { FormikValues } from 'formik';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['calendar'] = {\r\n error: null,\r\n events: []\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'calendar',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // GET EVENTS\r\n getEventsSuccess(state, action) {\r\n state.events = action.payload;\r\n },\r\n\r\n // ADD EVENT\r\n addEventSuccess(state, action) {\r\n state.events = action.payload;\r\n },\r\n\r\n // UPDATE EVENT\r\n updateEventSuccess(state, action) {\r\n state.events = action.payload;\r\n },\r\n\r\n // REMOVE EVENT\r\n removeEventSuccess(state, action) {\r\n state.events = action.payload;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function getEvents() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/calendar/events');\r\n dispatch(slice.actions.getEventsSuccess(response.data.events));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function addEvent(event: FormikValues) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/calendar/events/new', event);\r\n dispatch(slice.actions.addEventSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function updateEvent(event: FormikValues) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/calendar/events/update', event);\r\n dispatch(slice.actions.updateEventSuccess(response.data.events));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function removeEvent(eventId: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/calendar/events/remove', { eventId });\r\n dispatch(slice.actions.removeEventSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","// third-party\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// project imports\r\nimport axios from 'utils/axios';\r\nimport { dispatch } from '../index';\r\n\r\n// types\r\nimport { DefaultRootStateProps } from 'types';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst initialState: DefaultRootStateProps['mail'] = {\r\n error: null,\r\n mails: [],\r\n unreadCount: undefined\r\n};\r\n\r\nconst slice = createSlice({\r\n name: 'mail',\r\n initialState,\r\n reducers: {\r\n // HAS ERROR\r\n hasError(state, action) {\r\n state.error = action.payload;\r\n },\r\n\r\n // GET MAILS\r\n getMailsSuccess(state, action) {\r\n state.mails = action.payload.mails;\r\n state.unreadCount = action.payload.unreadCount;\r\n },\r\n\r\n // FILTER MAILS\r\n filterMailsSuccess(state, action) {\r\n state.mails = action.payload;\r\n }\r\n }\r\n});\r\n\r\n// Reducer\r\nexport default slice.reducer;\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function getMails() {\r\n return async () => {\r\n try {\r\n const response = await axios.get('/api/mails/list');\r\n dispatch(slice.actions.getMailsSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function filterMails(filter: string) {\r\n return async () => {\r\n try {\r\n const response = await axios.post('/api/mails/filter', { filter });\r\n dispatch(slice.actions.filterMailsSuccess(response.data));\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function setImportant(id: string) {\r\n return async () => {\r\n try {\r\n await axios.post('/api/mails/setImportant', { id });\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function setStarred(id: string) {\r\n return async () => {\r\n try {\r\n await axios.post('/api/mails/setStarred', { id });\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function setRead(id: string) {\r\n return async () => {\r\n try {\r\n await axios.post('/api/mails/setRead', { id });\r\n } catch (error) {\r\n dispatch(slice.actions.hasError(error));\r\n }\r\n };\r\n}\r\n","export default __webpack_public_path__ + \"static/media/logo-dark.67cadf22.svg\";","export default \"data:image/jpeg;base64,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\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#eceff1\",\"primary200\":\"#b0bec5\",\"primaryMain\":\"#607d8b\",\"primaryDark\":\"#546e7a\",\"primary800\":\"#455a64\",\"secondaryLight\":\"#e0f2f1\",\"secondary200\":\"#80cbc4\",\"secondaryMain\":\"#009688\",\"secondaryDark\":\"#00897b\",\"secondary800\":\"#00695c\",\"successLight\":\"#edf7ed\",\"success200\":\"#b6e0b3\",\"successMain\":\"#6cc067\",\"successDark\":\"#64ba5f\",\"errorLight\":\"#e48784\",\"errorMain\":\"#d9534f\",\"errorDark\":\"#d54c48\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fdf5ea\",\"warningMain\":\"#f0ad4e\",\"warningDark\":\"#ec9c3d\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#060d12\",\"darkBackground\":\"#0e1b23\",\"darkLevel1\":\"#0b161d\",\"darkLevel2\":\"#14252f\",\"darkTextTitle\":\"#e4e8f7\",\"darkTextPrimary\":\"#d5d9e9\",\"darkTextSecondary\":\"#d8ddf0\",\"darkPrimaryLight\":\"#eceff1\",\"darkPrimaryMain\":\"#78919c\",\"darkPrimaryDark\":\"#587583\",\"darkPrimary200\":\"#b0bec5\",\"darkPrimary800\":\"#44606e\",\"darkSecondaryLight\":\"#e0f2f1\",\"darkSecondaryMain\":\"#009688\",\"darkSecondaryDark\":\"#00897b\",\"darkSecondary200\":\"#80cbc4\",\"darkSecondary800\":\"#00695c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e4e7ec\",\"primary200\":\"#909ab0\",\"primaryMain\":\"#203461\",\"primaryDark\":\"#1c2f59\",\"primary800\":\"#132145\",\"secondaryLight\":\"#fde8ef\",\"secondary200\":\"#f6a0bd\",\"secondaryMain\":\"#ec407a\",\"secondaryDark\":\"#ea3a72\",\"secondary800\":\"#e42a5d\",\"successLight\":\"#e3f8e8\",\"success200\":\"#8be09f\",\"successMain\":\"#17c13e\",\"successDark\":\"#14bb38\",\"errorLight\":\"#e48784\",\"errorMain\":\"#d9534f\",\"errorDark\":\"#d54c48\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fdf5ea\",\"warningMain\":\"#f0ad4e\",\"warningDark\":\"#ec9c3d\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#030614\",\"darkBackground\":\"#0a0f23\",\"darkLevel1\":\"#070e13\",\"darkLevel2\":\"#12172f\",\"darkTextTitle\":\"#e4e8f7\",\"darkTextPrimary\":\"#d5d9e9\",\"darkTextSecondary\":\"#d8ddf0\",\"darkPrimaryLight\":\"#ecedf1\",\"darkPrimaryMain\":\"#606d88\",\"darkPrimaryDark\":\"#586580\",\"darkPrimary200\":\"#b0b6c4\",\"darkPrimary800\":\"#44506b\",\"darkSecondaryLight\":\"#fde8ef\",\"darkSecondaryMain\":\"#ec407a\",\"darkSecondaryDark\":\"#ea3a72\",\"darkSecondary200\":\"#f6a0bd\",\"darkSecondary800\":\"#e42a5d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e3ebeb\",\"primary200\":\"#8bacad\",\"primaryMain\":\"#16595a\",\"primaryDark\":\"#135152\",\"primary800\":\"#0c3e3f\",\"secondaryLight\":\"#f8f0e5\",\"secondary200\":\"#e3bf91\",\"secondaryMain\":\"#c77e23\",\"secondaryDark\":\"#c1761f\",\"secondary800\":\"#b36115\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#010f17\",\"darkBackground\":\"#010606\",\"darkLevel1\":\"#02131d\",\"darkLevel2\":\"#010f17\",\"darkTextTitle\":\"#fff\",\"darkTextPrimary\":\"#fff\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#eceff1\",\"darkPrimaryMain\":\"#1f7778\",\"darkPrimaryDark\":\"#1b6f70\",\"darkPrimary200\":\"#8fbbbc\",\"darkPrimary800\":\"#125a5b\",\"darkSecondaryLight\":\"#f8f0e5\",\"darkSecondaryMain\":\"#c77e23\",\"darkSecondaryDark\":\"#c1761f\",\"darkSecondary200\":\"#e3bf91\",\"darkSecondary800\":\"#b36115\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e3e8e8\",\"primary200\":\"#8b9fa1\",\"primaryMain\":\"#173e43\",\"primaryDark\":\"#14383d\",\"primary800\":\"#0d282c\",\"secondaryLight\":\"#e8f6f5\",\"secondary200\":\"#9fd8d6\",\"secondaryMain\":\"#3fb0ac\",\"secondaryDark\":\"#39a9a5\",\"secondary800\":\"#299792\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#051114\",\"darkBackground\":\"#030708\",\"darkLevel1\":\"#02131d\",\"darkLevel2\":\"#051114\",\"darkTextTitle\":\"#fff\",\"darkTextPrimary\":\"#fff\",\"darkTextSecondary\":\"#ccd2eb\",\"darkPrimaryLight\":\"#e3e8e8\",\"darkPrimaryMain\":\"#3a5b5f\",\"darkPrimaryDark\":\"#14383d\",\"darkPrimary200\":\"#8b9fa1\",\"darkPrimary800\":\"#0d282c\",\"darkSecondaryLight\":\"#e8f6f5\",\"darkSecondaryMain\":\"#3fb0ac\",\"darkSecondaryDark\":\"#39a9a5\",\"darkSecondary200\":\"#9fd8d6\",\"darkSecondary800\":\"#299792\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e2e5e8\",\"primary200\":\"#8591a1\",\"primaryMain\":\"#0a2342\",\"primaryDark\":\"#091f3c\",\"primary800\":\"#05152b\",\"secondaryLight\":\"#e6f4f1\",\"secondary200\":\"#96d2c6\",\"secondaryMain\":\"#2ca58d\",\"secondaryDark\":\"#279d85\",\"secondary800\":\"#1b8a70\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#030c1d\",\"darkBackground\":\"#051327\",\"darkLevel1\":\"#071a33\",\"darkLevel2\":\"#091f3c\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#e2e5e8\",\"darkPrimaryMain\":\"#54657b\",\"darkPrimaryDark\":\"#2f445e\",\"darkPrimary200\":\"#8591a1\",\"darkPrimary800\":\"#05152b\",\"darkSecondaryLight\":\"#e6f4f1\",\"darkSecondaryMain\":\"#2ca58d\",\"darkSecondaryDark\":\"#279d85\",\"darkSecondary200\":\"#96d2c6\",\"darkSecondary800\":\"#1b8a70\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e8eaf6\",\"primary200\":\"#9fa8da\",\"primaryMain\":\"#3f51b5\",\"primaryDark\":\"#3949ab\",\"primary800\":\"#283593\",\"secondaryLight\":\"#e8eaf6\",\"secondary200\":\"#9fa8da\",\"secondaryMain\":\"#3f51b5\",\"secondaryDark\":\"#3949ab\",\"secondary800\":\"#283593\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#111936\",\"darkBackground\":\"#1a223f\",\"darkLevel1\":\"#29314f\",\"darkLevel2\":\"#212946\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#eeedfd\",\"darkPrimaryMain\":\"#7267ef\",\"darkPrimaryDark\":\"#6a5fed\",\"darkPrimary200\":\"#b9b3f7\",\"darkPrimary800\":\"#554ae8\",\"darkSecondaryLight\":\"#eeedfd\",\"darkSecondaryMain\":\"#7267ef\",\"darkSecondaryDark\":\"#6a5fed\",\"darkSecondary200\":\"#b9b3f7\",\"darkSecondary800\":\"#554ae8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e3f2fd\",\"primary200\":\"#90caf9\",\"primaryMain\":\"#2196f3\",\"primaryDark\":\"#1e88e5\",\"primary800\":\"#1565c0\",\"secondaryLight\":\"#ede7f6\",\"secondary200\":\"#b39ddb\",\"secondaryMain\":\"#673ab7\",\"secondaryDark\":\"#5e35b1\",\"secondary800\":\"#4527a0\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#3dc312\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#e16d1a\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#111936\",\"darkBackground\":\"#1a223f\",\"darkLevel1\":\"#29314f\",\"darkLevel2\":\"#212946\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#e3f2fd\",\"darkPrimaryMain\":\"#2196f3\",\"darkPrimaryDark\":\"#1e88e5\",\"darkPrimary200\":\"#90caf9\",\"darkPrimary800\":\"#1565c0\",\"darkSecondaryLight\":\"#d1c4e9\",\"darkSecondaryMain\":\"#7c4dff\",\"darkSecondaryDark\":\"#651fff\",\"darkSecondary200\":\"#b39ddb\",\"darkSecondary800\":\"#6200ea\"};","// third-party\r\nimport { combineReducers } from 'redux';\r\nimport { persistReducer } from 'redux-persist';\r\nimport storage from 'redux-persist/lib/storage';\r\n\r\n// project imports\r\nimport snackbarReducer from './slices/snackbar';\r\nimport loaderReducer from './slices/loader';\r\nimport customerReducer from './slices/customer';\r\nimport contactReducer from './slices/contact';\r\nimport productReducer from './slices/product';\r\nimport chatReducer from './slices/chat';\r\nimport calendarReducer from './slices/calendar';\r\nimport mailReducer from './slices/mail';\r\nimport userReducer from './slices/user';\r\nimport cartReducer from './slices/cart';\r\nimport kanbanReducer from './slices/kanban';\r\nimport menuReducer from './slices/menu';\r\n\r\n// ==============================|| COMBINE REDUCER ||============================== //\r\n\r\nconst reducer = combineReducers({\r\n snackbar: snackbarReducer,\r\n loader: loaderReducer,\r\n cart: persistReducer(\r\n {\r\n key: 'cart',\r\n storage,\r\n keyPrefix: 'berry-'\r\n },\r\n cartReducer\r\n ),\r\n kanban: kanbanReducer,\r\n customer: customerReducer,\r\n contact: contactReducer,\r\n product: productReducer,\r\n chat: chatReducer,\r\n calendar: calendarReducer,\r\n mail: mailReducer,\r\n user: userReducer,\r\n menu: menuReducer\r\n});\r\n\r\nexport default reducer;\r\n","// third-party\r\nimport { configureStore } from '@reduxjs/toolkit';\r\nimport { useDispatch as useAppDispatch, useSelector as useAppSelector, TypedUseSelectorHook } from 'react-redux';\r\n\r\nimport { persistStore } from 'redux-persist';\r\n\r\n// project imports\r\nimport rootReducer from './reducer';\r\n\r\n// ==============================|| REDUX - MAIN STORE ||============================== //\r\n\r\nconst store = configureStore({\r\n reducer: rootReducer,\r\n middleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: false, immutableCheck: false })\r\n});\r\n\r\nconst persister = persistStore(store);\r\n\r\nexport type RootState = ReturnType;\r\n\r\nexport type AppDispatch = typeof store.dispatch;\r\n\r\nconst { dispatch } = store;\r\n\r\nconst useDispatch = () => useAppDispatch();\r\nconst useSelector: TypedUseSelectorHook = useAppSelector;\r\n\r\nexport { store, persister, dispatch, useSelector, useDispatch };\r\n","// types\r\nimport { ConfigProps } from 'types/config';\r\n\r\nexport const JWT_API = {\r\n secret: 'SECRET-KEY',\r\n timeout: '1 days'\r\n};\r\n\r\nexport const FIREBASE_API = {\r\n apiKey: 'AIzaSyBernKzdSojh_vWXBHt0aRhf5SC9VLChbM',\r\n authDomain: 'berry-material-react.firebaseapp.com',\r\n projectId: 'berry-material-react',\r\n storageBucket: 'berry-material-react.appspot.com',\r\n messagingSenderId: '901111229354',\r\n appId: '1:901111229354:web:a5ae5aa95486297d69d9d3',\r\n measurementId: 'G-MGJHSL8XW3'\r\n};\r\n\r\nexport const AUTH0_API = {\r\n client_id: '7T4IlWis4DKHSbG8JAye4Ipk0rvXkH9V',\r\n domain: 'dev-w0-vxep3.us.auth0.com'\r\n};\r\n\r\nexport const AWS_API = {\r\n poolId: 'us-east-1_e1MIPlqVo',\r\n appClientId: '37kc67qeln9n0mk04vhejhp8p1'\r\n};\r\n\r\n// basename: only at build time to set, and Don't add '/' at end off BASENAME for breadcrumbs, also Don't put only '/' use blank('') instead,\r\n// like '/berry-material-react/react/default'\r\nexport const BASE_PATH = '';\r\n\r\nexport const DASHBOARD_PATH = '/analytics';\r\nexport const google_ApiKey = 'AIzaSyBvBeoqALhoZrvR416NJK5cq8VWsNZdy3c';\r\nexport const maxFileUploadSize_MB = 5;\r\nconst config: ConfigProps = {\r\n gridPageSize: 10,\r\n fontFamily: `'Roboto', sans-serif`,\r\n borderRadius: 8,\r\n outlinedFilled: true,\r\n navType: 'light', // light, dark\r\n presetColor: 'default', // default, theme1, theme2, theme3, theme4, theme5, theme6\r\n locale: 'en', // 'en' - English, 'fr' - French, 'ro' - Romanian, 'zh' - Chinese\r\n rtlLayout: false,\r\n container: false,\r\n explorer_play_delay: 500,\r\n explorer_real_time_delay: 1000,\r\n analytics_refresh_time_delay: 30000,\r\n \r\n};\r\n\r\nexport default config;\r\n","import { useContext } from 'react';\r\nimport { ConfigContext } from 'contexts/ConfigContext';\r\n\r\n// ==============================|| CONFIG - HOOKS ||============================== //\r\n\r\nconst useConfig = () => useContext(ConfigContext);\r\n\r\nexport default useConfig;\r\n","// types\r\nimport { MenuProps } from 'types/menu';\r\nimport { createSlice } from '@reduxjs/toolkit';\r\n\r\n// initial state\r\nconst initialState: MenuProps = {\r\n openItem: ['dashboard'],\r\n drawerOpen: false\r\n};\r\n\r\n// ==============================|| SLICE - MENU ||============================== //\r\n\r\nconst menu = createSlice({\r\n name: 'menu',\r\n initialState,\r\n reducers: {\r\n activeItem(state, action) {\r\n state.openItem = action.payload;\r\n },\r\n\r\n openDrawer(state, action) {\r\n state.drawerOpen = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport default menu.reducer;\r\n\r\nexport const { activeItem, openDrawer } = menu.actions;\r\n","/**\r\n * Adaptor for axios\r\n */\r\n\r\nimport AxiosMockAdapter from 'axios-mock-adapter';\r\nimport axios from './axios';\r\n\r\nconst services = new AxiosMockAdapter(axios, { delayResponse: 0 });\r\nexport default services;\r\n","// third-party\r\nimport jwt from 'jsonwebtoken';\r\n\r\n// project imports\r\nimport services from 'utils/mockAdapter';\r\nimport { JWT_API } from 'config';\r\nimport { JWTDataProps } from 'types/auth';\r\n\r\n// constant\r\nconst JWT_SECRET = JWT_API.secret;\r\nconst JWT_EXPIRES_TIME = JWT_API.timeout;\r\n\r\nconst delay = (timeout: number) => new Promise((res) => setTimeout(res, timeout));\r\n\r\nlet users = [\r\n {\r\n id: '', // 5e86809283e28b96d2d38537\r\n email: '', // info@codedthemes.com\r\n password: '', // 123456\r\n name: '' // JWT User\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onPost('/api/account/login').reply(async (request) => {\r\n try {\r\n await delay(500);\r\n\r\n const { email, password } = JSON.parse(request.data);\r\n\r\n if (window.localStorage.getItem('users') !== undefined && window.localStorage.getItem('users') !== null) {\r\n const localUsers = window.localStorage.getItem('users');\r\n users = JSON.parse(localUsers!);\r\n }\r\n\r\n const user = users.find((_user) => _user.email === email);\r\n\r\n if (!user) {\r\n return [400, { message: 'Verify Your Email & Password' }];\r\n }\r\n\r\n if (user.password !== password) {\r\n return [400, { message: 'Invalid Password' }];\r\n }\r\n\r\n const serviceToken = jwt.sign({ userId: user.id }, JWT_SECRET, { expiresIn: JWT_EXPIRES_TIME });\r\n\r\n return [\r\n 200,\r\n {\r\n serviceToken,\r\n user: {\r\n id: user.id,\r\n email: user.email,\r\n name: user.name\r\n }\r\n }\r\n ];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Server Error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/account/register').reply(async (request) => {\r\n try {\r\n await delay(500);\r\n\r\n const { id, email, password, firstName, lastName } = JSON.parse(request.data);\r\n\r\n if (!email || !password) {\r\n return [400, { message: 'Enter Your Email & Password' }];\r\n }\r\n\r\n if (!firstName || !lastName) {\r\n return [400, { message: 'Enter Your Name' }];\r\n }\r\n\r\n users = [\r\n ...users,\r\n {\r\n id,\r\n email,\r\n password,\r\n name: `${firstName} ${lastName}`\r\n }\r\n ];\r\n\r\n return [200, users];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Server Error' }];\r\n }\r\n});\r\n\r\nservices.onGet('/api/account/me').reply((request) => {\r\n try {\r\n const { Authorization } = request.headers!;\r\n\r\n if (!Authorization) {\r\n return [401, { message: 'Token Missing' }];\r\n }\r\n\r\n if (window.localStorage.getItem('users') !== undefined && window.localStorage.getItem('users') !== null) {\r\n const localUsers = window.localStorage.getItem('users');\r\n users = JSON.parse(localUsers!);\r\n }\r\n\r\n const serviceToken = Authorization!.toString();\r\n const jwData = jwt.verify(serviceToken, JWT_SECRET);\r\n const { userId } = jwData as JWTDataProps;\r\n const user = users.find((_user) => _user.id === userId);\r\n\r\n if (!user) {\r\n return [401, { message: 'Invalid Token' }];\r\n }\r\n\r\n return [\r\n 200,\r\n {\r\n user: {\r\n id: user.id,\r\n email: user.email\r\n }\r\n }\r\n ];\r\n } catch (err) {\r\n return [500, { message: 'Server Error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { Post } from 'types/user-profile';\r\n\r\n// assets\r\nimport image1 from 'assets/images/profile/img-profile1.png';\r\nimport image2 from 'assets/images/profile/img-profile2.jpg';\r\nimport image4 from 'assets/images/profile/img-profile4.jpg';\r\n\r\n// social profile\r\nlet posts: Post[] = [\r\n {\r\n id: '#4POST_JONE_DOE',\r\n profile: {\r\n id: '#52JONE_DOE',\r\n avatar: 'img-user.png',\r\n name: 'John Doe',\r\n time: 'now'\r\n },\r\n data: {\r\n content: `Laboris non ad et aute sint aliquip mollit voluptate velit dolore magna fugiat ex.\r\n \\n Commodo amet veniam nostrud mollit quis sint qui nulla elit esse excepteur ullamco esse magna. Nisi duis aute est in mollit irure enim tempor in.`,\r\n images: [],\r\n likes: {\r\n like: false,\r\n value: 0\r\n },\r\n comments: []\r\n }\r\n },\r\n {\r\n id: '#1POST_JONE_DOE',\r\n profile: {\r\n id: '#52JONE_DOE',\r\n avatar: 'user-1.png',\r\n name: 'John Doe',\r\n time: '15 min ago'\r\n },\r\n data: {\r\n content:\r\n 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. There are many variations of passages.',\r\n images: [\r\n {\r\n img: image1,\r\n featured: true\r\n }\r\n ],\r\n likes: {\r\n like: true,\r\n value: 102\r\n },\r\n comments: [\r\n {\r\n id: '#3COMMENT_JONE_DOE',\r\n profile: {\r\n id: '#52JONE_DOE',\r\n avatar: 'user-3.png',\r\n name: 'Barney Thea',\r\n time: '8 min ago '\r\n },\r\n data: {\r\n comment: 'It is a long established fact that a reader will be distracted by the readable content of a page.',\r\n likes: {\r\n like: true,\r\n value: 55\r\n }\r\n }\r\n },\r\n {\r\n id: '#2COMMENT_JONE_DOE',\r\n profile: {\r\n id: '#52JONE_DOE',\r\n avatar: 'user-4.png',\r\n name: 'Maddison Wilber',\r\n time: '5 min ago '\r\n },\r\n data: {\r\n comment:\r\n 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.There are many variations of passages.',\r\n likes: {\r\n like: false,\r\n value: 68\r\n },\r\n replies: [\r\n {\r\n id: '#1REPLY_JONE_DOE',\r\n profile: {\r\n id: '#52JONE_DOE',\r\n avatar: 'user-5.png',\r\n name: 'John Doe',\r\n time: 'just now '\r\n },\r\n data: {\r\n comment: 'It is a long established fact that a reader will be distracted by the readable content.',\r\n likes: {\r\n like: true,\r\n value: 10\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '#2POST_JONE_DOE',\r\n profile: {\r\n id: '#52JONE_DOE',\r\n avatar: 'user-2.png',\r\n name: 'John Doe',\r\n time: '15 min ago '\r\n },\r\n data: {\r\n content: 'It is a long established fact that a reader will be distracted by the readable content of a page',\r\n images: [\r\n {\r\n img: image2,\r\n title: 'Image Title'\r\n },\r\n {\r\n img: image4,\r\n title: 'Painter'\r\n }\r\n ],\r\n likes: {\r\n like: false,\r\n value: 150\r\n },\r\n comments: [\r\n {\r\n id: '#2COMMENT_JONE_DOE',\r\n profile: {\r\n id: '#52JONE_DOE',\r\n avatar: 'user-3.png',\r\n name: 'Barney Thea',\r\n time: '15 min ago '\r\n },\r\n data: {\r\n comment:\r\n 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.',\r\n likes: {\r\n like: true,\r\n value: 65\r\n },\r\n replies: []\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '#3POST_JONE_DOE',\r\n profile: {\r\n id: '#52JONE_DOE',\r\n avatar: 'img-user.png',\r\n name: 'John Doe',\r\n time: '15 min ago '\r\n },\r\n data: {\r\n content: 'It is a long established fact that a reader will be distracted by the readable content of a page',\r\n images: [],\r\n video: 'vyJU9efvUtQ',\r\n likes: {\r\n like: true,\r\n value: 540\r\n }\r\n }\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/posts/list').reply(200, { posts });\r\n\r\nservices.onPost('/api/posts/editComment').reply((config) => {\r\n try {\r\n const { key, id } = JSON.parse(config.data);\r\n\r\n posts = posts.filter((post, index) => {\r\n if (post.id === key) {\r\n const cComments = post.data.comments || [];\r\n post.data.comments = [id, ...cComments];\r\n return post;\r\n }\r\n return post;\r\n });\r\n\r\n return [200, { posts }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/comments/add').reply((config) => {\r\n try {\r\n const { postId, comment } = JSON.parse(config.data);\r\n\r\n const postIndex = posts.findIndex((x) => x.id === postId);\r\n const post = posts[postIndex];\r\n const cComments = post.data.comments || [];\r\n post.data.comments = [comment, ...cComments];\r\n\r\n return [200, { posts: [...posts] }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/replies/add').reply((config) => {\r\n try {\r\n const { postId, commentId, reply } = JSON.parse(config.data);\r\n const postIndex = posts.findIndex((x) => x.id === postId);\r\n const post = posts[postIndex];\r\n const cComments = post.data.comments || [];\r\n const commentIndex = cComments.findIndex((x) => x.id === commentId);\r\n const comment = cComments[commentIndex];\r\n /** comment.data.replies has to be defined */\r\n if (comment && comment.data && comment.data.replies) comment.data.replies = [...comment.data.replies, reply];\r\n return [200, { posts: [...posts] }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/posts/list/like').reply((config) => {\r\n try {\r\n const { postId } = JSON.parse(config.data);\r\n const postIndex = posts.findIndex((x) => x.id === postId);\r\n const post = { ...posts[postIndex] };\r\n post.data = { ...post.data };\r\n post.data.likes = { ...post.data.likes };\r\n post.data.likes.like = !post.data.likes.like;\r\n post.data.likes.value = post.data.likes.like ? post.data.likes.value + 1 : post.data.likes.value - 1;\r\n posts[postIndex] = post;\r\n return [200, { posts: [...posts] }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/comments/list/like').reply((config) => {\r\n try {\r\n const { postId, commentId } = JSON.parse(config.data);\r\n const postIndex = posts.findIndex((x) => x.id === postId);\r\n const post = posts[postIndex];\r\n const cComments = post.data.comments || [];\r\n const commentIndex = cComments.findIndex((x) => x.id === commentId);\r\n const comment = { ...cComments[commentIndex] };\r\n /** comment.data.likes has to be defined */\r\n if (comment && comment.data && comment.data.likes) comment.data.likes.like = !comment.data.likes.like;\r\n if (comment && comment.data && comment.data.likes)\r\n comment.data.likes.value = comment.data.likes.like ? comment.data.likes.value + 1 : comment.data.likes.value - 1;\r\n if (post && post.data && post.data.comments) post.data.comments[commentIndex] = comment;\r\n return [200, { posts: [...posts] }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/replies/list/like').reply((config) => {\r\n try {\r\n const { postId, commentId, replayId } = JSON.parse(config.data);\r\n const postIndex = posts.findIndex((x) => x.id === postId);\r\n const post = posts[postIndex];\r\n const cComments = post.data.comments || [];\r\n const commentIndex = cComments.findIndex((x) => x.id === commentId);\r\n const comment = { ...cComments[commentIndex] };\r\n const replayIndex = comment?.data?.replies?.findIndex((x) => x.id === replayId);\r\n if (replayIndex !== undefined) {\r\n if (comment && comment.data && comment.data.replies) {\r\n const reply = { ...comment.data.replies[replayIndex] };\r\n if (reply && reply.data && reply.data.likes) {\r\n reply.data.likes.like = !reply.data.likes.like;\r\n reply.data.likes.value = reply.data.likes.like ? reply.data.likes.value + 1 : reply.data.likes.value - 1;\r\n }\r\n comment.data.replies[replayIndex] = reply;\r\n if (post && post.data && post.data.comments) post.data.comments[commentIndex] = comment;\r\n }\r\n }\r\n return [200, { posts: [...posts] }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { KeyedObject } from 'types';\r\n\r\n// followers list\r\n\r\nconst followers: KeyedObject[] = [\r\n {\r\n id: '#1Followers_Barney',\r\n avatar: 'user-6.png',\r\n name: 'Barney',\r\n location: 'Handburgh',\r\n follow: 1\r\n },\r\n {\r\n id: '#2Followers_Thea',\r\n avatar: 'user-3.png',\r\n name: 'Thea',\r\n location: 'New jana',\r\n follow: 2\r\n },\r\n {\r\n id: '#3Followers_Guiseppe',\r\n avatar: 'user-7.png',\r\n name: 'Guiseppe',\r\n location: 'Jenkinsstad',\r\n follow: 1\r\n },\r\n {\r\n id: '#4Followers_Henderson',\r\n avatar: 'user-8.png',\r\n name: 'Henderson',\r\n location: 'South Antonina',\r\n follow: 1\r\n },\r\n {\r\n id: '#5Followers_Maddison',\r\n avatar: 'user-9.png',\r\n name: 'Maddison',\r\n location: 'New Dorthy',\r\n follow: 1\r\n },\r\n {\r\n id: '#6Followers_Wilber',\r\n avatar: 'user-1.png',\r\n name: 'Wilber',\r\n location: 'Twilahsven',\r\n follow: 1\r\n },\r\n {\r\n id: '#7Followers_Hayden',\r\n avatar: 'user-4.png',\r\n name: 'Hayden',\r\n location: 'Darrelshaire',\r\n follow: 1\r\n },\r\n {\r\n id: '#8Followers_Lloyd',\r\n avatar: 'user-10.png',\r\n name: 'Lloyd',\r\n location: 'New Credrick',\r\n follow: 1\r\n },\r\n {\r\n id: '#9Followers_Kris',\r\n avatar: 'user-8.png',\r\n name: 'Kris',\r\n location: 'New Dianna',\r\n follow: 1\r\n },\r\n {\r\n id: '#10Followers_Kyler',\r\n avatar: 'user-11.png',\r\n name: 'Kyler',\r\n location: 'Murraymouth',\r\n follow: 1\r\n },\r\n {\r\n id: '#11Followers_Pamela',\r\n avatar: 'user-3.png',\r\n name: 'Pamela',\r\n location: 'Murraymouth',\r\n follow: 1\r\n },\r\n {\r\n id: '#12Followers_Betty',\r\n avatar: 'user-6.png',\r\n name: 'John Doe',\r\n location: 'North Zole',\r\n follow: 1\r\n },\r\n {\r\n id: '#13Followers_Anthony',\r\n avatar: 'user-5.png',\r\n name: 'Anthony',\r\n location: 'Lake Judy',\r\n follow: 1\r\n },\r\n {\r\n id: '#14Followers_Reggie',\r\n avatar: 'user-12.png',\r\n name: 'Reggie',\r\n location: 'Kailynland',\r\n follow: 1\r\n },\r\n {\r\n id: '#15Followers_Francesca',\r\n avatar: 'user-1.png',\r\n name: 'Francesca',\r\n location: 'Pagacview',\r\n follow: 2\r\n },\r\n {\r\n id: '#16Followers_Carmel',\r\n avatar: 'user-9.png',\r\n name: 'Carmel',\r\n location: 'Port Lerashire',\r\n follow: 1\r\n },\r\n {\r\n id: '#17Followers_Darwin',\r\n avatar: 'user-4.png',\r\n name: 'Darwin',\r\n location: 'North Jacquesside',\r\n follow: 2\r\n },\r\n {\r\n id: '#18Followers_Kaylin',\r\n avatar: 'user-3.png',\r\n name: 'Kaylin',\r\n location: 'Bergstrombury',\r\n follow: 1\r\n },\r\n {\r\n id: '#19Followers_Kamryn',\r\n avatar: 'user-7.png',\r\n name: 'Kamryn',\r\n location: 'South Norma',\r\n follow: 1\r\n },\r\n {\r\n id: '#20Followers_Madelyn',\r\n avatar: 'user-8.png',\r\n name: 'Madelyn',\r\n location: 'Port Opheliamouth',\r\n follow: 1\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/followers/list').reply(200, { followers });\r\n\r\nservices.onPost('/api/followers/filter').reply((config) => {\r\n try {\r\n const { key } = JSON.parse(config.data);\r\n\r\n const results = followers.filter((row: KeyedObject) => {\r\n let matches = true;\r\n\r\n const properties: string[] = ['name', 'location', 'follow'];\r\n let containsQuery = false;\r\n\r\n properties.forEach((property: string) => {\r\n if (row[property].toString().toLowerCase().includes(key.toString().toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n return matches;\r\n });\r\n\r\n return [200, { results }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { KeyedObject } from 'types';\r\n\r\n// friends list\r\nconst friends: KeyedObject[] = [\r\n {\r\n id: '#1Friends_Barney',\r\n avatar: 'user-1.png',\r\n name: 'Barney',\r\n location: 'Handburgh'\r\n },\r\n {\r\n id: '#2Friends_Thea',\r\n avatar: 'user-2.png',\r\n name: 'Thea',\r\n location: 'New jana'\r\n },\r\n {\r\n id: '#3Friends_Guiseppe',\r\n avatar: 'user-3.png',\r\n name: 'Guiseppe',\r\n location: 'Jenkinsstad'\r\n },\r\n {\r\n id: '#4Friends_Henderson',\r\n avatar: 'user-4.png',\r\n name: 'Henderson',\r\n location: 'South Antonina'\r\n },\r\n {\r\n id: '#5Friends_Maddison',\r\n avatar: 'user-5.png',\r\n name: 'Maddison',\r\n location: 'New Dorthy'\r\n },\r\n {\r\n id: '#6Friends_Wilber',\r\n avatar: 'user-6.png',\r\n name: 'Wilber',\r\n location: 'Twilahsven'\r\n },\r\n {\r\n id: '#7Friends_Hayden',\r\n avatar: 'user-7.png',\r\n name: 'Hayden',\r\n location: 'Darrelshaire'\r\n },\r\n {\r\n id: '#8Friends_Lloyd',\r\n avatar: 'user-8.png',\r\n name: 'Lloyd',\r\n location: 'New Credrick'\r\n },\r\n {\r\n id: '#9Friends_Kris',\r\n avatar: 'user-9.png',\r\n name: 'Kris',\r\n location: 'New Dianna'\r\n },\r\n {\r\n id: '#10Friends_Kyler',\r\n avatar: 'user-10.png',\r\n name: 'Kyler',\r\n location: 'Murraymouth'\r\n },\r\n {\r\n id: '#11Friends_Pamela',\r\n avatar: 'user-11.png',\r\n name: 'Pamela',\r\n location: 'Murraymouth'\r\n },\r\n {\r\n id: '#12Friends_Betty',\r\n avatar: 'user-12.png',\r\n name: 'John Doe',\r\n location: 'North Zole'\r\n },\r\n {\r\n id: '#13Friends_Anthony',\r\n avatar: 'user-1.png',\r\n name: 'Anthony',\r\n location: 'Lake Judy'\r\n },\r\n {\r\n id: '#14Friends_Reggie',\r\n avatar: 'user-3.png',\r\n name: 'Reggie',\r\n location: 'Kailynland'\r\n },\r\n {\r\n id: '#15Friends_Francesca',\r\n avatar: 'user-4.png',\r\n name: 'Francesca',\r\n location: 'Pagacview'\r\n },\r\n {\r\n id: '#16Friends_Carmel',\r\n avatar: 'user-5.png',\r\n name: 'Carmel',\r\n location: 'Port Lerashire'\r\n },\r\n {\r\n id: '#17Friends_Darwin',\r\n avatar: 'user-6.png',\r\n name: 'Darwin',\r\n location: 'North Jacquesside'\r\n },\r\n {\r\n id: '#18Friends_Kaylin',\r\n avatar: 'user-7.png',\r\n name: 'Kaylin',\r\n location: 'Bergstrombury'\r\n },\r\n {\r\n id: '#19Friends_Kamryn',\r\n avatar: 'user-8.png',\r\n name: 'Kamryn',\r\n location: 'South Norma'\r\n },\r\n {\r\n id: '#20Friends_Madelyn',\r\n avatar: 'user-9.png',\r\n name: 'Madelyn',\r\n location: 'Port Opheliamouth'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/friends/list').reply(200, { friends });\r\n\r\nservices.onPost('/api/friends/filter').reply((config) => {\r\n try {\r\n const { key } = JSON.parse(config.data);\r\n\r\n const results = friends.filter((row: KeyedObject) => {\r\n let matches = true;\r\n\r\n const properties = ['name', 'location'];\r\n let containsQuery = false;\r\n\r\n properties.forEach((property) => {\r\n if (row[property].toString().toLowerCase().includes(key.toString().toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n return matches;\r\n });\r\n\r\n return [200, { results }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { KeyedObject } from 'types';\r\n\r\n// friends list\r\nconst friends: KeyedObject[] = [\r\n {\r\n id: '#1Friends_Barney',\r\n avatar: 'user-1.png',\r\n name: 'Barney',\r\n mutual: 10\r\n },\r\n {\r\n id: '#2Friends_Thea',\r\n avatar: 'user-2.png',\r\n name: 'Thea',\r\n mutual: 89\r\n },\r\n {\r\n id: '#3Friends_Guiseppe',\r\n avatar: 'user-3.png',\r\n name: 'Guiseppe',\r\n mutual: 65\r\n },\r\n {\r\n id: '#4Friends_Henderson',\r\n avatar: 'user-4.png',\r\n name: 'Henderson',\r\n mutual: 1\r\n },\r\n {\r\n id: '#5Friends_Maddison',\r\n avatar: 'user-5.png',\r\n name: 'Maddison',\r\n mutual: 14\r\n },\r\n {\r\n id: '#6Friends_Wilber',\r\n avatar: 'user-6.png',\r\n name: 'Wilber',\r\n mutual: 36\r\n },\r\n {\r\n id: '#7Friends_Hayden',\r\n avatar: 'user-7.png',\r\n name: 'Hayden',\r\n mutual: 106\r\n },\r\n {\r\n id: '#8Friends_Lloyd',\r\n avatar: 'user-8.png',\r\n name: 'Lloyd',\r\n mutual: 10\r\n },\r\n {\r\n id: '#9Friends_Kris',\r\n avatar: 'user-9.png',\r\n name: 'Kris',\r\n mutual: 0\r\n },\r\n {\r\n id: '#10Friends_Kyler',\r\n avatar: 'user-10.png',\r\n name: 'Kyler',\r\n mutual: 48\r\n },\r\n {\r\n id: '#11Friends_Pamela',\r\n avatar: 'user-11.png',\r\n name: 'Pamela',\r\n mutual: 72\r\n },\r\n {\r\n id: '#12Friends_Betty',\r\n avatar: 'user-12.png',\r\n name: 'John Doe',\r\n mutual: 99\r\n },\r\n {\r\n id: '#13Friends_Anthony',\r\n avatar: 'user-1.png',\r\n name: 'Anthony',\r\n mutual: 78\r\n },\r\n {\r\n id: '#14Friends_Reggie',\r\n avatar: 'user-3.png',\r\n name: 'Reggie',\r\n mutual: 1\r\n },\r\n {\r\n id: '#15Friends_Francesca',\r\n avatar: 'user-4.png',\r\n name: 'Francesca',\r\n mutual: 68\r\n },\r\n {\r\n id: '#16Friends_Carmel',\r\n avatar: 'user-5.png',\r\n name: 'Carmel',\r\n mutual: 15\r\n },\r\n {\r\n id: '#17Friends_Darwin',\r\n avatar: 'user-6.png',\r\n name: 'Darwin',\r\n mutual: 10\r\n },\r\n {\r\n id: '#18Friends_Kaylin',\r\n avatar: 'user-7.png',\r\n name: 'Kaylin',\r\n mutual: 36\r\n },\r\n {\r\n id: '#19Friends_Kamryn',\r\n avatar: 'user-8.png',\r\n name: 'Kamryn',\r\n mutual: 55\r\n },\r\n {\r\n id: '#20Friends_Madelyn',\r\n avatar: 'user-9.png',\r\n name: 'Madelyn',\r\n mutual: 78\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/friend-request/list').reply(200, { friends });\r\n\r\nservices.onPost('/api/friend-request/filter').reply((config) => {\r\n try {\r\n const { key } = JSON.parse(config.data);\r\n\r\n const results = friends.filter((row: KeyedObject) => {\r\n let matches = true;\r\n\r\n const properties = ['name', 'mutual'];\r\n let containsQuery = false;\r\n\r\n properties.forEach((property) => {\r\n if (row[property].toString().toLowerCase().includes(key.toString().toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n return matches;\r\n });\r\n\r\n return [200, { results }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { KeyedObject } from 'types';\r\n\r\n// gallery components\r\n\r\nconst gallery: KeyedObject[] = [\r\n {\r\n id: '#1Gallery',\r\n image: 'img-gal-1.png',\r\n title: '1080p_table_denar.pdf',\r\n dateTime: 'Tue Aug 24 2021'\r\n },\r\n {\r\n id: '#2Gallery',\r\n image: 'img-gal-2.png',\r\n title: 'handmade.mp2',\r\n dateTime: 'Fri Apr 30 2021'\r\n },\r\n {\r\n id: '#3Gallery',\r\n image: 'img-gal-3.png',\r\n title: 'granite_cheese.wav',\r\n dateTime: 'Fri Jun 25 2021'\r\n },\r\n {\r\n id: '#4Gallery',\r\n image: 'img-gal-4.png',\r\n title: 'invoice.mpg',\r\n dateTime: 'Sat Oct 23 2021'\r\n },\r\n {\r\n id: '#5Gallery',\r\n image: 'img-gal-5.png',\r\n title: 'benchmark_forge.m1v',\r\n dateTime: 'Fri Jan 21 2022'\r\n },\r\n {\r\n id: '#6Gallery',\r\n image: 'img-gal-6.png',\r\n title: 'violet_withdrawal.png',\r\n dateTime: 'Wed Sep 22 2021'\r\n },\r\n {\r\n id: '#7Gallery',\r\n image: 'img-gal-7.png',\r\n title: 'web_readiness.mpeg',\r\n dateTime: 'Mon Jul 12 2021'\r\n },\r\n {\r\n id: '#8Gallery',\r\n image: 'img-gal-8.png',\r\n title: 'zimbabwe.htm',\r\n dateTime: 'Sat Mar 20 2021'\r\n },\r\n {\r\n id: '#9Gallery',\r\n image: 'img-gal-9.png',\r\n title: 'circuit.m3a',\r\n dateTime: 'Tue Jan 18 2022'\r\n },\r\n {\r\n id: '#10Gallery',\r\n image: 'img-gal-10.png',\r\n title: 'data_red.png',\r\n dateTime: 'Sun Apr 04 2021'\r\n },\r\n {\r\n id: '#11Gallery',\r\n image: 'img-gal-11.png',\r\n title: 'handcrafted.html',\r\n dateTime: 'Tue May 25 2021'\r\n },\r\n {\r\n id: '#12Gallery',\r\n image: 'img-gal-12.png',\r\n title: 'hacking_games.pdf',\r\n dateTime: 'Tue Oct 19 2021'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/gallery/list').reply(200, { gallery });\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { KeyedObject } from 'types';\r\n\r\n// user list\r\nconst users = [\r\n {\r\n id: '#1Card_Phoebe',\r\n avatar: 'user-1.png',\r\n name: 'Phoebe',\r\n role: 'Dynamic Operations Officer',\r\n about: 'Use the neural RSS application, then you can program the bluetooth firewall! #DOO',\r\n email: 'claudia_kuhn@yahoo.com',\r\n contact: '380-293-0177',\r\n location: 'Port Narcos'\r\n },\r\n {\r\n id: '#2Card_Gaetano',\r\n avatar: 'user-2.png',\r\n name: 'Gaetano',\r\n role: 'Investor Division Strategist',\r\n about: 'Try to connect the SAS transmitter, maybe it will index the optical hard drive!',\r\n email: 'alia_shields25@yahoo.com',\r\n contact: '253-418-5940',\r\n location: 'Herminahaven'\r\n },\r\n {\r\n id: '#3Card_Elisabeth',\r\n avatar: 'user-3.png',\r\n name: 'Elisabeth',\r\n role: 'Future Markets Associate',\r\n about: 'If we calculate the monitor, we can get to the CSS sensor through the open-source AGP application!',\r\n email: 'kieran.mertz87@hotmail.com',\r\n contact: '283-029-1364',\r\n location: 'Kihnland'\r\n },\r\n {\r\n id: '#4Card_Rosalia',\r\n avatar: 'user-4.png',\r\n name: 'Rosalia',\r\n role: 'Global Brand Planner',\r\n about: 'The SCSI program is down, override the cross-platform sensor so we can quantify the SAS firewall!',\r\n email: 'luis.nader30@hotmail.com',\r\n contact: '972-477-5225',\r\n location: 'Collinsborough'\r\n },\r\n {\r\n id: '#5Card_Lizeth',\r\n avatar: 'user-5.png',\r\n name: 'Lizeth',\r\n role: 'District Intranet Executive',\r\n about: 'The TCP hard drive is down, navigate the redundant driver so we can connect the SMS sensor!',\r\n email: 'alicia.ohara@company.com',\r\n contact: '474-215-1871',\r\n location: 'Alizaville'\r\n },\r\n {\r\n id: '#6Card_Jessyca',\r\n avatar: 'user-6.png',\r\n name: 'Jessyca',\r\n role: 'Future Accountability Liaison',\r\n about: \"You can't program the protocol without parsing the 1080p PNG bandwidth!\",\r\n email: 'titus.kunde76@hotmail.com',\r\n contact: '235-802-6863',\r\n location: 'Brandonville'\r\n },\r\n {\r\n id: '#7Card_Roberto',\r\n avatar: 'user-7.png',\r\n name: 'Roberto',\r\n role: 'Product Communications Analyst',\r\n about: 'Use the solid state JBOD application, then you can generate the multi-byte pixel!',\r\n email: 'keira61@hotmail.com',\r\n contact: '712-162-3638',\r\n location: 'Manuelastad'\r\n },\r\n {\r\n id: '#8Card_Ava',\r\n avatar: 'user-2.png',\r\n name: 'Ava',\r\n role: 'Forward Accounts Assistant',\r\n about: 'Use the 1080p HDD circuit, then you can calculate the open-source interface!',\r\n email: 'jailyn_wilderman@company.com',\r\n contact: '192-612-2096',\r\n location: 'Lake Keenan'\r\n },\r\n {\r\n id: '#9Card_Dillon',\r\n avatar: 'user-4.png',\r\n name: 'Dillon',\r\n role: 'Future Factors Strategist',\r\n about: 'The PNG alarm is down, navigate the back-end application so we can generate the FTP driver!',\r\n email: 'caesar80@yahoo.com',\r\n contact: '798-877-8614',\r\n location: 'Russelfurt'\r\n },\r\n {\r\n id: '#10Card_Domingo',\r\n avatar: 'user-7.png',\r\n name: 'Domingo',\r\n role: 'Investor Identity Facilitator',\r\n about: 'Use the neural XSS firewall, then you can generate the cross-platform capacitor!',\r\n email: 'hudson.welch54@company.com',\r\n contact: '642-979-7584',\r\n location: 'Itzelview'\r\n },\r\n {\r\n id: '#11Card_Connor',\r\n avatar: 'user-1.png',\r\n name: 'Connor',\r\n role: 'Dynamic Intranet Strategist',\r\n about: 'The CSS program is down, copy the mobile capacitor so we can override the AI alarm!',\r\n email: 'reese_daniel54@yahoo.com',\r\n contact: '838-147-6612',\r\n location: 'Margarettstad'\r\n },\r\n {\r\n id: '#12Card_Delfina',\r\n avatar: 'user-5.png',\r\n name: 'Delfina',\r\n role: 'Chief Response Orchestrator',\r\n about: \"Parsing the monitor won't do anything, we need to navigate the back-end JBOD bus!\",\r\n email: 'stevie.corwin25@company.com',\r\n contact: '777-709-1293',\r\n location: 'North Monty'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/details-card/list').reply(200, { users });\r\n\r\nservices.onPost('/api/details-card/filter').reply((config) => {\r\n try {\r\n const { key } = JSON.parse(config.data);\r\n\r\n const results = users.filter((row: KeyedObject) => {\r\n let matches = true;\r\n\r\n const properties: string[] = ['name', 'role', 'about', 'email', 'contact', 'location'];\r\n let containsQuery = false;\r\n\r\n properties.forEach((property) => {\r\n if (row[property].toString().toLowerCase().includes(key.toString().toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n return matches;\r\n });\r\n\r\n return [200, { results }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { KeyedObject } from 'types';\r\n\r\n// user simple cards\r\nconst users = [\r\n {\r\n id: '#1Card_Kelli',\r\n avatar: 'user-1.png',\r\n name: 'Kelli',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#2Card_Laurence',\r\n avatar: 'user-2.png',\r\n name: 'Laurence',\r\n status: 'Rejected'\r\n },\r\n {\r\n id: '#3Card_Melyssa',\r\n avatar: 'user-3.png',\r\n name: 'Melyssa',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#4Card_Montana',\r\n avatar: 'user-4.png',\r\n name: 'Montana',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#5Card_Johnathan',\r\n avatar: 'user-5.png',\r\n name: 'Johnathan',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#6Card_Joanne',\r\n avatar: 'user-6.png',\r\n name: 'Joanne',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#7Card_Lisandro',\r\n avatar: 'user-7.png',\r\n name: 'Lisandro',\r\n status: 'Rejected'\r\n },\r\n {\r\n id: '#8Card_Geovany',\r\n avatar: 'user-1.png',\r\n name: 'Geovany',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#9Card_Lucius',\r\n avatar: 'user-2.png',\r\n name: 'Lucius',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#10Card_River',\r\n avatar: 'user-3.png',\r\n name: 'River',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#11Card_Haylee',\r\n avatar: 'user-4.png',\r\n name: 'Haylee',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#12Card_John',\r\n avatar: 'user-5.png',\r\n name: 'John',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#13Card_Jeanne',\r\n avatar: 'user-6.png',\r\n name: 'Jeanne',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#14Card_Maryam',\r\n avatar: 'user-7.png',\r\n name: 'Maryam',\r\n status: 'Rejected'\r\n },\r\n {\r\n id: '#15Card_Alexandre',\r\n avatar: 'user-1.png',\r\n name: 'Alexandre',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#16Card_Jordi',\r\n avatar: 'user-2.png',\r\n name: 'Jordi',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#17Card_Sharon',\r\n avatar: 'user-3.png',\r\n name: 'Sharon',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#18Card_Trycia',\r\n avatar: 'user-4.png',\r\n name: 'Trycia',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#19Card_Mazie',\r\n avatar: 'user-5.png',\r\n name: 'Mazie',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#20Card_Virgie',\r\n avatar: 'user-6.png',\r\n name: 'Virgie',\r\n status: 'Active'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/simple-card/list').reply(200, { users });\r\n\r\nservices.onPost('/api/simple-card/filter').reply((config) => {\r\n try {\r\n const { key } = JSON.parse(config.data);\r\n\r\n const results = users.filter((row: KeyedObject) => {\r\n let matches = true;\r\n\r\n const properties = ['name', 'status'];\r\n let containsQuery = false;\r\n\r\n properties.forEach((property) => {\r\n if (row[property].toString().toLowerCase().includes(key.toString().toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n return matches;\r\n });\r\n\r\n return [200, { results }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { KeyedObject } from 'types';\r\n\r\n// user profile card\r\nconst users = [\r\n {\r\n id: '#1Card_Perry',\r\n avatar: 'user-7.png',\r\n profile: 'profile-back-1.png',\r\n name: 'Perry',\r\n role: 'Internal Assurance Architect',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#2Card_Jennyfer',\r\n avatar: 'user-6.png',\r\n profile: 'profile-back-2.png',\r\n name: 'Jennyfer',\r\n role: 'Internal Data Facilitator',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#3Card_Antonette',\r\n avatar: 'user-5.png',\r\n profile: 'profile-back-3.png',\r\n name: 'Antonette',\r\n role: 'National Applications Officer',\r\n status: 'Rejected'\r\n },\r\n {\r\n id: '#4Card_Mekhi',\r\n avatar: 'user-4.png',\r\n profile: 'profile-back-4.png',\r\n name: 'Mekhi',\r\n role: 'Central Quality Liaison',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#5Card_Margie',\r\n avatar: 'user-3.png',\r\n profile: 'profile-back-5.png',\r\n name: 'Margie',\r\n role: 'Direct Implementation Developer',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#6Card_Wilfrid',\r\n avatar: 'user-2.png',\r\n profile: 'profile-back-6.png',\r\n name: 'Wilfrid',\r\n role: 'Lead Intranet Planner',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#7Card_Kennedy',\r\n avatar: 'user-1.png',\r\n profile: 'profile-back-7.png',\r\n name: 'Kennedy',\r\n role: 'Regional Division Administrator',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#8Card_Ida',\r\n avatar: 'user-4.png',\r\n profile: 'profile-back-8.png',\r\n name: 'Ida',\r\n role: 'Central Brand Coordinator',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#9Card_Madyson',\r\n avatar: 'user-5.png',\r\n profile: 'profile-back-9.png',\r\n name: 'Madyson',\r\n role: 'Product Tactics Facilitator',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#10Card_Murphy',\r\n avatar: 'user-6.png',\r\n profile: 'profile-back-10.png',\r\n name: 'Murphy',\r\n role: 'Lead Directives Analyst',\r\n status: 'Rejected'\r\n },\r\n {\r\n id: '#11Card_Lucie',\r\n avatar: 'user-7.png',\r\n profile: 'profile-back-11.png',\r\n name: 'Lucie',\r\n role: 'Principal Marketing Administrator',\r\n status: 'Active'\r\n },\r\n {\r\n id: '#12Card_Sonny',\r\n avatar: 'user-1.png',\r\n profile: 'profile-back-12.png',\r\n name: 'Sonny',\r\n role: 'Direct Assurance Administrator',\r\n status: 'Active'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/profile-card/list').reply(200, { users });\r\n\r\nservices.onPost('/api/profile-card/filter').reply((config) => {\r\n try {\r\n const { key } = JSON.parse(config.data);\r\n\r\n const results = users.filter((row: KeyedObject) => {\r\n let matches = true;\r\n\r\n const properties = ['name', 'role', 'status'];\r\n let containsQuery = false;\r\n\r\n properties.forEach((property) => {\r\n if (row[property].toString().toLowerCase().includes(key.toString().toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n\r\n if (!containsQuery) {\r\n matches = false;\r\n }\r\n return matches;\r\n });\r\n\r\n return [200, { results }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// asset\r\nimport Avatar1 from 'assets/images/users/avatar-1.png';\r\nimport Avatar2 from 'assets/images/users/avatar-2.png';\r\nimport Avatar3 from 'assets/images/users/avatar-3.png';\r\n\r\n// user list\r\nconst users_s1 = [\r\n {\r\n id: '01',\r\n avatar: 'user-1.png',\r\n name: 'Curtis',\r\n verify: 1,\r\n email: 'wiegand@hotmail.com',\r\n location: 'Saucerize',\r\n friends: 834,\r\n followers: 3645,\r\n status: 'Active'\r\n },\r\n {\r\n id: '02',\r\n avatar: 'user-2.png',\r\n name: 'Xavier',\r\n verify: 1,\r\n email: 'tyrell86@company.com',\r\n location: 'South Bradfordstad',\r\n friends: 634,\r\n followers: 2345,\r\n status: 'Pending'\r\n },\r\n {\r\n id: '03',\r\n avatar: 'user-3.png',\r\n name: 'Lola',\r\n verify: 1,\r\n email: 'aufderhar56@yahoo.com',\r\n location: 'North Tannermouth',\r\n friends: 164,\r\n followers: 9345,\r\n status: 'Rejected'\r\n },\r\n {\r\n id: '04',\r\n avatar: 'user-4.png',\r\n name: 'Milton',\r\n verify: 1,\r\n email: 'dikinson49@hotmail.com',\r\n location: 'North Anika',\r\n friends: 684,\r\n followers: 3654,\r\n status: 'Pending'\r\n },\r\n {\r\n id: '05',\r\n avatar: 'user-5.png',\r\n name: 'Lysanne',\r\n verify: 0,\r\n email: 'zack.turner49@company.com',\r\n location: 'Betteland',\r\n friends: 842,\r\n followers: 5863,\r\n status: 'Active'\r\n },\r\n {\r\n id: '06',\r\n avatar: 'user-6.png',\r\n name: 'Bonita',\r\n verify: 1,\r\n email: 'keebler57@company.com',\r\n location: 'Alexburgh',\r\n friends: 543,\r\n followers: 8965,\r\n status: 'Rejected'\r\n },\r\n {\r\n id: '07',\r\n avatar: 'user-7.png',\r\n name: 'Retta',\r\n verify: 1,\r\n email: 'mathew92@yahoo.com',\r\n location: 'East Bryceland',\r\n friends: 871,\r\n followers: 9321,\r\n status: 'Active'\r\n },\r\n {\r\n id: '08',\r\n avatar: 'user-8.png',\r\n name: 'Zoie',\r\n verify: 1,\r\n email: 'hulda1@hotmail.com',\r\n location: 'Beattytown',\r\n friends: 354,\r\n followers: 1686,\r\n status: 'Pending'\r\n },\r\n {\r\n id: '09',\r\n avatar: 'user-9.png',\r\n name: 'Easton',\r\n verify: 1,\r\n email: 'hilpert66@hotmail.com',\r\n location: 'North Pedromouth',\r\n friends: 546,\r\n followers: 9562,\r\n status: 'Active'\r\n },\r\n {\r\n id: '10',\r\n avatar: 'user-10.png',\r\n name: 'Brianne',\r\n verify: 1,\r\n email: 'noe45@hotmail.com',\r\n location: 'New Alexanderborough',\r\n friends: 1482,\r\n followers: 10865,\r\n status: 'Active'\r\n }\r\n];\r\n\r\nconst users_s2 = [\r\n {\r\n image: Avatar1,\r\n name: 'Elnora',\r\n designation: 'Lead Marketing Facilitator',\r\n badgeStatus: 'active',\r\n subContent: 'We need to generate the virtual CSS hard drive!',\r\n email: 'Reid_OConnell4@yahoo.com',\r\n phone: '506-654-1653',\r\n location: 'Saucerize',\r\n progressValue: '78%'\r\n },\r\n {\r\n image: Avatar2,\r\n name: 'Hirohito',\r\n designation: 'Investor Creative Liaison',\r\n badgeStatus: 'active',\r\n subContent: 'If we synthesize the protocol, we can get to the RSS circuit through.',\r\n email: 'Conner22@hotmail.com',\r\n phone: '673-157-1670',\r\n location: 'Port Narcos',\r\n progressValue: '78%'\r\n },\r\n {\r\n image: Avatar3,\r\n name: 'Kathie',\r\n designation: 'Human Accountability Strategist',\r\n badgeStatus: 'inactive',\r\n subContent: 'We need to generate the virtual CSS hard drive!',\r\n email: 'Dangelo40@company.com',\r\n phone: '506-654-1653',\r\n location: 'Saucerize',\r\n progressValue: '78%'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/user-list/s1/list').reply(200, { users_s1 });\r\n\r\nservices.onGet('/api/user-list/s2/list').reply(200, { users_s2 });\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { UserProfile } from 'types/user-profile';\r\n\r\n// user profile list\r\nconst users: UserProfile[] = [\r\n {\r\n // id: '#1Profile_Elmore',\r\n // avatar: 'friend-1.svg',\r\n name: 'Elnora',\r\n role: 'Lead Marketing Facilitator',\r\n // about: 'We need to generate the virtual CSS hard drive!',\r\n email: 'reid_oconnell4@yahoo.com',\r\n // contact: '506-654-1653',\r\n // location: 'Port Narcos',\r\n // groups: [\r\n // {\r\n // id: '#1Group_Kelli',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Kelli'\r\n // },\r\n // {\r\n // id: '#2Group_Laurence',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Laurence'\r\n // },\r\n // {\r\n // id: '#3Group_Melyssa',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Melyssa'\r\n // },\r\n // {\r\n // id: '#4Group_Montana',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Montana'\r\n // },\r\n // {\r\n // id: '#5Group_Johnathan',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Johnathan'\r\n // }\r\n // ],\r\n // Progress: {\r\n // label: 'Progress',\r\n // variant: 'primary',\r\n // value: 60\r\n // }\r\n },\r\n {\r\n // id: '#1Profile_Hipolito',\r\n // avatar: 'friend-1.svg',\r\n name: 'Hirohito',\r\n role: 'Investor Creative Liaison',\r\n // about: 'If we synthesize the protocol, we can get to the RSS circuit through.',\r\n email: 'conner22@hotmail.com',\r\n // contact: '673-157-1670',\r\n // location: 'Handburgh',\r\n // groups: [\r\n // {\r\n // id: '#1Group_Kelli',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Kelli'\r\n // },\r\n // {\r\n // id: '#2Group_Laurence',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Laurence'\r\n // },\r\n // {\r\n // id: '#3Group_Melyssa',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Melyssa'\r\n // },\r\n // {\r\n // id: '#4Group_Montana',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Montana'\r\n // },\r\n // {\r\n // id: '#5Group_Johnathan',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Johnathan'\r\n // }\r\n // ],\r\n // Progress: {\r\n // label: 'Progress',\r\n // variant: 'success',\r\n // value: 95\r\n // }\r\n },\r\n {\r\n // id: '#1Profile_Kattie',\r\n // avatar: 'friend-1.svg',\r\n name: 'Kathie',\r\n role: 'Human Accountability Strategist',\r\n // about: \"connecting the panel won't do anything, we need to reboot the virtual PCI pixel!\",\r\n email: 'dangelo40@company.com',\r\n // contact: '158-348-7483',\r\n // location: 'New jana',\r\n // groups: [\r\n // {\r\n // id: '#1Group_Kelli',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Kelli'\r\n // },\r\n // {\r\n // id: '#2Group_Laurence',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Laurence'\r\n // },\r\n // {\r\n // id: '#3Group_Melyssa',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Melyssa'\r\n // },\r\n // {\r\n // id: '#4Group_Montana',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Montana'\r\n // },\r\n // {\r\n // id: '#5Group_Johnathan',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Johnathan'\r\n // }\r\n // ],\r\n // Progress: {\r\n // label: 'Progress',\r\n // variant: 'error',\r\n // value: 50\r\n // }\r\n },\r\n {\r\n // id: '#1Profile_Maudie',\r\n // avatar: 'friend-1.svg',\r\n name: 'Maudie',\r\n role: 'Product Solutions Administrator',\r\n // about: 'We need to navigate the virtual SQL system!',\r\n email: 'al_lueilwitz72@company.com',\r\n // contact: '208-053-8713',\r\n // location: 'Twilahsven',\r\n // groups: [\r\n // {\r\n // id: '#1Group_Kelli',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Kelli'\r\n // },\r\n // {\r\n // id: '#2Group_Laurence',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Laurence'\r\n // },\r\n // {\r\n // id: '#3Group_Melyssa',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Melyssa'\r\n // },\r\n // {\r\n // id: '#4Group_Montana',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Montana'\r\n // },\r\n // {\r\n // id: '#5Group_Johnathan',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Johnathan'\r\n // }\r\n // ],\r\n // Progress: {\r\n // label: 'Progress',\r\n // variant: 'primary',\r\n // value: 80\r\n // }\r\n },\r\n {\r\n // id: '#1Profile_Veda',\r\n // avatar: 'friend-1.svg',\r\n name: 'Veda',\r\n role: 'Direct Web Administrator',\r\n // about: 'The ADP hard drive is down, transmit the online driver so we can calculate.',\r\n email: 'roel_wiza@yahoo.com',\r\n // contact: '496-861-7697',\r\n // location: 'New Credrick',\r\n // groups: [\r\n // {\r\n // id: '#1Group_Kelli',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Kelli'\r\n // },\r\n // {\r\n // id: '#2Group_Laurence',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Laurence'\r\n // },\r\n // {\r\n // id: '#3Group_Melyssa',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Melyssa'\r\n // },\r\n // {\r\n // id: '#4Group_Montana',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Montana'\r\n // },\r\n // {\r\n // id: '#5Group_Johnathan',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Johnathan'\r\n // }\r\n // ],\r\n // Progress: {\r\n // label: 'Progress',\r\n // variant: 'primary',\r\n // value: 35\r\n // }\r\n },\r\n {\r\n // id: '#1Profile_Damian',\r\n // avatar: 'friend-1.svg',\r\n name: 'Damian',\r\n role: 'Central Functionality Specialist',\r\n // about: 'Use the auxiliary XML monitor, then you can copy the open-source microchip!',\r\n email: 'davon6@yahoo.com',\r\n // contact: '100-605-5130',\r\n // location: 'Murraymouth',\r\n // groups: [\r\n // {\r\n // id: '#1Group_Kelli',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Kelli'\r\n // },\r\n // {\r\n // id: '#2Group_Laurence',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Laurence'\r\n // },\r\n // {\r\n // id: '#3Group_Melyssa',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Melyssa'\r\n // },\r\n // {\r\n // id: '#4Group_Montana',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Montana'\r\n // },\r\n // {\r\n // id: '#5Group_Johnathan',\r\n // avatar: 'friend-1.svg',\r\n // name: 'Johnathan'\r\n // }\r\n // ],\r\n // Progress: {\r\n // label: 'Progress',\r\n // variant: 'primary',\r\n // value: 78\r\n // }\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/profile-list/list').reply(200, { users });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst jobs = [\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 1 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 0,\r\n in_alert: 1\r\n },\r\n {\r\n id: '10012',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 2 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 0,\r\n in_alert: 1\r\n },\r\n {\r\n id: '10013',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 3 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 1,\r\n in_alert: 0\r\n },\r\n {\r\n id: '10014',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 4 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 0,\r\n in_alert: 1\r\n },\r\n {\r\n id: '10015',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 5 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 0,\r\n in_fault: 0,\r\n in_alert: 0\r\n },\r\n {\r\n id: '10016',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 6 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 0,\r\n in_alert: 1\r\n },\r\n {\r\n id: '10017',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 7 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 0,\r\n in_alert: 0\r\n },\r\n {\r\n id: '10018',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 8 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 0,\r\n in_alert: 0\r\n },\r\n {\r\n id: '10019',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 9 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 0,\r\n in_alert: 0\r\n },\r\n {\r\n id: '10020',\r\n manufacturer: 'Savaria',\r\n name: 'Sample Jobe 1 ',\r\n model: 'Eclipse',\r\n dealer: 'dealer 1',\r\n last_connection_at: '22-Jan-2022 19:21',\r\n connected: 1,\r\n in_fault: 1,\r\n in_alert: 0\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/job-list/list').reply(200, { jobs });\r\n","// third-party\r\nimport { sub } from 'date-fns';\r\nimport { Chance } from 'chance';\r\n\r\n// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { MailProps } from 'types/mail';\r\n\r\nconst chance = new Chance();\r\n\r\n// mail conversation\r\nlet mails: MailProps[] = [\r\n {\r\n id: '#2Mail_Phoebe',\r\n subject: chance.sentence({ words: 10 }),\r\n isRead: false,\r\n important: true,\r\n starred: false,\r\n time: sub(new Date(), { days: 0, hours: 1, minutes: 45 }),\r\n promotions: false,\r\n forums: false,\r\n attach: false,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-3.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' })\r\n },\r\n sender: {\r\n avatar: 'user-4.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' }),\r\n about: chance.paragraph({ sentences: 1 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: []\r\n },\r\n {\r\n id: '#1Mail_Phoebe',\r\n subject: chance.sentence({ words: 8 }),\r\n isRead: true,\r\n important: false,\r\n starred: true,\r\n time: sub(new Date(), { days: 0, hours: 5, minutes: 45 }),\r\n promotions: true,\r\n forums: true,\r\n attach: true,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-1.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' })\r\n },\r\n sender: {\r\n avatar: 'user-2.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' }),\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: [\r\n {\r\n id: '#1Attach',\r\n image: 'img-gal-1.png',\r\n title: '1080p_table_denar.pdf'\r\n },\r\n {\r\n id: '#2Attach',\r\n image: 'img-gal-2.png',\r\n title: 'handmade.mp2'\r\n },\r\n {\r\n id: '#3Attach',\r\n image: 'img-gal-3.png',\r\n title: 'granite_cheese.wav'\r\n }\r\n ]\r\n },\r\n {\r\n id: '#3Mail_Phoebe',\r\n subject: chance.sentence({ words: 5 }),\r\n isRead: true,\r\n important: false,\r\n starred: false,\r\n time: sub(new Date(), { days: 1, hours: 1, minutes: 0 }),\r\n promotions: false,\r\n forums: false,\r\n attach: false,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-5.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' })\r\n },\r\n sender: {\r\n avatar: 'user-6.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' }),\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: []\r\n },\r\n {\r\n id: '#4Mail_Phoebe',\r\n subject: chance.sentence({ words: 12 }),\r\n isRead: false,\r\n important: true,\r\n starred: false,\r\n time: sub(new Date(), { days: 2, hours: 8, minutes: 15 }),\r\n promotions: true,\r\n forums: false,\r\n attach: true,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-7.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' })\r\n },\r\n sender: {\r\n avatar: 'user-8.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' }),\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: [\r\n {\r\n id: '#2Attach',\r\n image: 'img-gal-2.png',\r\n title: 'handmade.mp2'\r\n },\r\n {\r\n id: '#3Attach',\r\n image: 'img-gal-3.png',\r\n title: 'granite_cheese.wav'\r\n }\r\n ]\r\n },\r\n {\r\n id: '#5Mail_Phoebe',\r\n subject: chance.sentence({ words: 8 }),\r\n isRead: true,\r\n important: false,\r\n starred: true,\r\n time: sub(new Date(), { days: 6, hours: 12, minutes: 55 }),\r\n promotions: false,\r\n forums: true,\r\n attach: true,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-9.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' })\r\n },\r\n sender: {\r\n avatar: 'user-10.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' }),\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: [\r\n {\r\n id: '#1Attach',\r\n image: 'img-gal-1.png',\r\n title: '1080p_table_denar.pdf'\r\n },\r\n {\r\n id: '#3Attach',\r\n image: 'img-gal-3.png',\r\n title: 'granite_cheese.wav'\r\n }\r\n ]\r\n },\r\n {\r\n id: '#6Mail_Phoebe',\r\n subject: chance.sentence({ words: 10 }),\r\n isRead: true,\r\n important: true,\r\n starred: true,\r\n time: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),\r\n promotions: false,\r\n forums: false,\r\n attach: false,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-11.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' })\r\n },\r\n sender: {\r\n avatar: 'user-12.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: chance.email({ domain: 'company.com' }),\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: []\r\n },\r\n {\r\n id: '#7Mail_Phoebe',\r\n subject: chance.sentence({ words: 3 }),\r\n isRead: true,\r\n important: false,\r\n starred: true,\r\n time: sub(new Date(), { days: 10, hours: 8, minutes: 5 }),\r\n promotions: false,\r\n forums: true,\r\n attach: true,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-2.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: 'guiseppe.thea@company.com',\r\n to: 'carmel.pamela@company.com'\r\n },\r\n sender: {\r\n avatar: 'user-1.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: 'guiseppe.thea@company.com',\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: [\r\n {\r\n id: '#1Attach',\r\n image: 'img-gal-1.png',\r\n title: '1080p_table_denar.pdf'\r\n },\r\n {\r\n id: '#2Attach',\r\n image: 'img-gal-2.png',\r\n title: 'handmade.mp2'\r\n }\r\n ]\r\n },\r\n {\r\n id: '#8Mail_Phoebe',\r\n subject: chance.sentence({ words: 6 }),\r\n isRead: false,\r\n important: false,\r\n starred: false,\r\n time: sub(new Date(), { days: 12, hours: 12, minutes: 5 }),\r\n promotions: true,\r\n forums: false,\r\n attach: false,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-5.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: 'guiseppe.thea@company.com',\r\n to: 'carmel.pamela@company.com'\r\n },\r\n sender: {\r\n avatar: 'user-1.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: 'guiseppe.thea@company.com',\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: []\r\n },\r\n {\r\n id: '#9Mail_Phoebe',\r\n subject: chance.sentence({ words: 10 }),\r\n isRead: true,\r\n important: false,\r\n starred: false,\r\n time: sub(new Date(), { days: 13, hours: 12, minutes: 45 }),\r\n promotions: false,\r\n forums: false,\r\n attach: true,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-2.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: 'guiseppe.thea@company.com',\r\n to: 'carmel.pamela@company.com'\r\n },\r\n sender: {\r\n avatar: 'user-1.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: 'guiseppe.thea@company.com',\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: [\r\n {\r\n id: '#1Attach',\r\n image: 'img-gal-1.png',\r\n title: '1080p_table_denar.pdf'\r\n },\r\n {\r\n id: '#2Attach',\r\n image: 'img-gal-2.png',\r\n title: 'handmade.mp2'\r\n }\r\n ]\r\n },\r\n {\r\n id: '#10Mail_Phoebe',\r\n subject: chance.sentence({ words: 5 }),\r\n isRead: true,\r\n important: true,\r\n starred: true,\r\n time: sub(new Date(), { days: 14, hours: 1, minutes: 5 }),\r\n promotions: true,\r\n forums: true,\r\n attach: true,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-6.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: 'guiseppe.thea@company.com',\r\n to: 'carmel.pamela@company.com'\r\n },\r\n sender: {\r\n avatar: 'user-2.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: 'guiseppe.thea@company.com',\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: [\r\n {\r\n id: '#1Attach',\r\n image: 'img-gal-1.png',\r\n title: '1080p_table_denar.pdf'\r\n },\r\n {\r\n id: '#2Attach',\r\n image: 'img-gal-2.png',\r\n title: 'handmade.mp2'\r\n }\r\n ]\r\n },\r\n {\r\n id: '#11Mail_Phoebe',\r\n subject: chance.sentence({ words: 7 }),\r\n isRead: true,\r\n important: false,\r\n starred: false,\r\n time: sub(new Date(), { days: 14, hours: 11, minutes: 45 }),\r\n promotions: false,\r\n forums: false,\r\n attach: false,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-2.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: 'guiseppe.thea@company.com',\r\n to: 'carmel.pamela@company.com'\r\n },\r\n sender: {\r\n avatar: 'user-1.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: 'guiseppe.thea@company.com',\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: [\r\n {\r\n id: '#1Attach',\r\n image: 'img-gal-1.png',\r\n title: '1080p_table_denar.pdf'\r\n },\r\n {\r\n id: '#2Attach',\r\n image: 'img-gal-2.png',\r\n title: 'handmade.mp2'\r\n }\r\n ]\r\n },\r\n {\r\n id: '#12Mail_Phoebe',\r\n subject: chance.sentence({ words: 10 }),\r\n isRead: false,\r\n important: false,\r\n starred: false,\r\n time: sub(new Date(), { days: 15, hours: 12, minutes: 5 }),\r\n promotions: true,\r\n forums: true,\r\n attach: false,\r\n sent: chance.bool(),\r\n draft: chance.bool(),\r\n spam: false,\r\n trash: chance.bool(),\r\n profile: {\r\n avatar: 'user-2.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: 'guiseppe.thea@company.com',\r\n to: 'carmel.pamela@company.com'\r\n },\r\n sender: {\r\n avatar: 'user-1.png',\r\n name: chance.name({ nationality: 'en' }),\r\n email: chance.email({ domain: 'company.com' }),\r\n to: 'guiseppe.thea@company.com',\r\n about: chance.sentence({ words: 8 })\r\n },\r\n message: chance.paragraph(),\r\n attachments: []\r\n }\r\n];\r\n\r\n// filter functions\r\nconst getInboxMails = () => mails.filter((item) => !item.spam);\r\nconst getSentMails = () => mails.filter((item) => item.sent);\r\nconst getDraftMails = () => mails.filter((item) => item.draft);\r\nconst getSpamMails = () => mails.filter((item) => item.spam);\r\nconst getTrashMails = () => mails.filter((item) => item.trash);\r\nconst getStarredMails = () => mails.filter((item) => item.starred);\r\nconst getImportantMails = () => mails.filter((item) => item.important);\r\nconst getPromotionsMails = () => mails.filter((item) => item.promotions);\r\nconst getForumMails = () => mails.filter((item) => item.forums);\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/mails/list').reply(() => [\r\n 200,\r\n {\r\n mails,\r\n unreadCount: {\r\n all: mails.filter((i) => !i.isRead).length,\r\n inbox: getInboxMails().filter((i) => !i.isRead).length,\r\n sent: getSentMails().filter((i) => !i.isRead).length,\r\n draft: getDraftMails().filter((i) => !i.isRead).length,\r\n spam: getSpamMails().filter((i) => !i.isRead).length,\r\n trash: getTrashMails().filter((i) => !i.isRead).length,\r\n starred: getStarredMails().filter((i) => !i.isRead).length,\r\n important: getImportantMails().filter((i) => !i.isRead).length,\r\n promotions: getPromotionsMails().filter((i) => !i.isRead).length,\r\n forums: getForumMails().filter((i) => !i.isRead).length\r\n }\r\n }\r\n]);\r\n\r\nservices.onPost('/api/mails/setRead').reply((config) => {\r\n try {\r\n const { id } = JSON.parse(config.data);\r\n const mailIndex = mails.findIndex((i) => i.id === id);\r\n mails[mailIndex] = { ...mails[mailIndex], isRead: true };\r\n mails = [...mails];\r\n return [200, []];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/mails/setImportant').reply((config) => {\r\n try {\r\n const { id } = JSON.parse(config.data);\r\n const mailIndex = mails.findIndex((i) => i.id === id);\r\n mails[mailIndex] = { ...mails[mailIndex], important: !mails[mailIndex].important };\r\n mails = [...mails];\r\n return [200, []];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/mails/setStarred').reply((config) => {\r\n try {\r\n const { id } = JSON.parse(config.data);\r\n const mailIndex = mails.findIndex((i) => i.id === id);\r\n mails[mailIndex] = { ...mails[mailIndex], starred: !mails[mailIndex].starred };\r\n mails = [...mails];\r\n return [200, []];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/mails/filter').reply((config) => {\r\n try {\r\n const { filter } = JSON.parse(config.data);\r\n\r\n let result = [];\r\n switch (filter) {\r\n case 'inbox':\r\n result = getInboxMails();\r\n break;\r\n case 'sent':\r\n result = getSentMails();\r\n break;\r\n case 'draft':\r\n result = getDraftMails();\r\n break;\r\n case 'spam':\r\n result = getSpamMails();\r\n break;\r\n case 'trash':\r\n result = getTrashMails();\r\n break;\r\n case 'starred':\r\n result = getStarredMails();\r\n break;\r\n case 'important':\r\n result = getImportantMails();\r\n break;\r\n case 'promotions':\r\n result = getPromotionsMails();\r\n break;\r\n case 'forums':\r\n result = getForumMails();\r\n break;\r\n case 'all':\r\n default:\r\n result = mails;\r\n break;\r\n }\r\n\r\n return [200, result];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// third-party\r\nimport { v4 as UIDV4 } from 'uuid';\r\nimport { add, set, sub } from 'date-fns';\r\nimport _ from 'lodash';\r\n\r\n// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { CalendarEventProps } from 'types/calendar';\r\n\r\n// color variants\r\nimport value from 'assets/scss/_themes-vars.module.scss';\r\n\r\n// calendar events\r\nlet events: CalendarEventProps[] = [\r\n {\r\n id: '5e8882f1f0c9216397e05a9b',\r\n allDay: false,\r\n color: value.secondaryMain,\r\n description: 'SCRUM Planning',\r\n start: sub(new Date(), { days: 12, hours: 0, minutes: 45 }),\r\n end: sub(new Date(), { days: 12, hours: 0, minutes: 30 }),\r\n title: 'Repeating Event'\r\n },\r\n {\r\n id: '5e8882fcd525e076b3c1542c',\r\n allDay: true,\r\n color: value.orangeLight,\r\n textColor: value.orangeDark,\r\n description: 'Sorry, John!',\r\n start: sub(new Date(), { days: 8, hours: 0, minutes: 45 }),\r\n end: sub(new Date(), { days: 8, hours: 0, minutes: 30 }),\r\n title: 'Conference'\r\n },\r\n {\r\n id: '5e8882e440f6322fa399eeb8',\r\n allDay: true,\r\n color: value.successLight,\r\n textColor: value.successDark,\r\n description: 'Inform about new contract',\r\n start: sub(new Date(), { days: 6, hours: 6, minutes: 30 }),\r\n end: sub(new Date(), { days: 7, hours: 4, minutes: 30 }),\r\n title: 'All Day Event'\r\n },\r\n {\r\n id: '5e88830672d089c53c46ece3',\r\n allDay: false,\r\n color: value.primaryMain,\r\n description: 'Get a new quote for the payment processor',\r\n start: set(new Date(), { hours: 10, minutes: 30 }),\r\n end: set(new Date(), { hours: 13, minutes: 30 }),\r\n title: 'Lunch'\r\n },\r\n {\r\n id: '5e888302e62149e4b49aa609',\r\n allDay: false,\r\n textColor: value.grey900,\r\n color: value.warningMain,\r\n description: 'Discuss about the new project',\r\n start: add(new Date(), { days: 2, hours: 3, minutes: 30 }),\r\n end: add(new Date(), { days: 2, hours: 3, minutes: 20 }),\r\n title: 'Meeting'\r\n },\r\n {\r\n id: '5e888302e62149e4b49aa709',\r\n allDay: false,\r\n color: value.errorDark,\r\n description: \"Let's Go\",\r\n start: add(new Date(), { days: 2, hours: 2, minutes: 30 }),\r\n end: add(new Date(), { days: 2, hours: 3, minutes: 30 }),\r\n title: 'Birthday Party'\r\n },\r\n {\r\n id: '5e8882f1f0c9216396e05a9b',\r\n allDay: false,\r\n color: value.secondaryMain,\r\n description: 'SCRUM Planning',\r\n start: add(new Date(), { days: 2, hours: 3, minutes: 30 }),\r\n end: add(new Date(), { days: 2, hours: 4, minutes: 30 }),\r\n title: 'Repeating Event'\r\n },\r\n {\r\n id: '5e888302e62149e4b49aa610',\r\n allDay: false,\r\n color: value.grey500,\r\n description: \"Let's Go\",\r\n start: add(new Date(), { days: 2, hours: 3, minutes: 45 }),\r\n end: add(new Date(), { days: 2, hours: 4, minutes: 50 }),\r\n title: 'Dinner'\r\n },\r\n {\r\n id: '5e8882eb5f8ec686220ff131',\r\n allDay: true,\r\n color: value.secondaryLight,\r\n textColor: value.secondaryDark,\r\n description: 'Discuss about new partnership',\r\n start: add(new Date(), { days: 5, hours: 0, minutes: 0 }),\r\n end: add(new Date(), { days: 8, hours: 1, minutes: 0 }),\r\n title: 'Long Event'\r\n },\r\n {\r\n id: '5e888302e62349e4b49aa609',\r\n allDay: false,\r\n color: value.primaryLight,\r\n textColor: value.primary800,\r\n description: 'Discuss about the project launch',\r\n start: add(new Date(), { days: 6, hours: 0, minutes: 15 }),\r\n end: add(new Date(), { days: 6, hours: 0, minutes: 20 }),\r\n title: 'Meeting'\r\n },\r\n {\r\n id: '5e888302e62149e4b49ab609',\r\n allDay: false,\r\n color: value.successMain,\r\n description: 'Discuss about the tour',\r\n start: add(new Date(), { days: 12, hours: 3, minutes: 45 }),\r\n end: add(new Date(), { days: 12, hours: 4, minutes: 50 }),\r\n title: 'Happy Hour'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/calendar/events').reply(200, { events });\r\n\r\nservices.onPost('/api/calendar/events/new').reply((request) => {\r\n try {\r\n const { allDay, description, color, textColor, end, start, title } = JSON.parse(request.data);\r\n const event = {\r\n id: UIDV4(),\r\n allDay,\r\n description,\r\n color,\r\n textColor,\r\n end,\r\n start,\r\n title\r\n };\r\n\r\n events = [...events, event];\r\n\r\n return [200, events];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/calendar/events/update').reply((request) => {\r\n try {\r\n const { eventId, update } = JSON.parse(request.data);\r\n\r\n events = _.map(events, (_event) => {\r\n if (_event.id === eventId) {\r\n _.assign(_event, { ...update });\r\n }\r\n\r\n return _event;\r\n });\r\n\r\n return [200, { events }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/calendar/events/remove').reply((request) => {\r\n try {\r\n const { eventId } = JSON.parse(request.data);\r\n events = _.reject(events, { id: eventId });\r\n\r\n return [200, events];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { ChatHistory } from 'types/chat';\r\n\r\n// chat constant\r\nconst text1 = `Hi Good Morning!`;\r\nconst text2 = `Hey. Very Good morning. How are you?`;\r\nconst text3 = `Good. Thank you`;\r\nconst text4 = `I need your minute, are you available?`;\r\n\r\nconst text5 = `Hey man`;\r\nconst text6 = `Hi, Wats up?`;\r\nconst text7 = `Need your minute. are you available?`;\r\nconst text8 = `Sure. Let's meet.`;\r\n\r\n// user list\r\nconst users = [\r\n {\r\n id: 1,\r\n name: 'Alene',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Sr. Customer Manager',\r\n work_email: 'alene_work@company.com',\r\n personal_email: 'alene@company.com',\r\n work_phone: '380-293-0177',\r\n personal_phone: '380-293-0177',\r\n location: 'Port Narcos',\r\n avatar: 'avatar-1.png',\r\n status: 'Technical Department',\r\n lastMessage: '2h ago',\r\n birthdayText: 'happy Birthday Alene',\r\n unReadChatCount: 2,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 2,\r\n name: 'Keefe',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Dynamic Operations Officer',\r\n work_email: 'keefe_work@gmil.com',\r\n personal_email: 'keefe@gmil.com',\r\n work_phone: '253-418-5940',\r\n personal_phone: '253-418-5940',\r\n location: 'Afghanistan',\r\n avatar: 'avatar-2.png',\r\n status: 'Support Executive',\r\n lastMessage: '1:20 AM',\r\n birthdayText: 'happy Birthday Keefe',\r\n unReadChatCount: 3,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 3,\r\n name: 'Lazaro',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Resource Investigator',\r\n work_email: 'lazaro_work@gmil.com',\r\n personal_email: 'lazaro@gmil.com',\r\n work_phone: '283-029-1364',\r\n personal_phone: '283-029-1364',\r\n location: 'Albania',\r\n avatar: 'avatar-3.png',\r\n status: 'Resource Investigator',\r\n lastMessage: 'Yesterday',\r\n birthdayText: 'happy Birthday Lazaro',\r\n unReadChatCount: 1,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 4,\r\n name: 'Hazle',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Teamworker',\r\n work_email: 'hazle_work@gmil.com',\r\n personal_email: 'hazle@gmil.com',\r\n work_phone: '380-293-0177',\r\n personal_phone: '380-293-0177',\r\n location: 'Algeria',\r\n avatar: 'avatar-4.png',\r\n status: 'Teamworker',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Hazle',\r\n unReadChatCount: 0,\r\n online_status: 'do_not_disturb'\r\n },\r\n {\r\n id: 5,\r\n name: 'Herman Essertg',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Co-ordinator',\r\n work_email: 'herman_essertg_work@gmil.com',\r\n personal_email: 'herman_essertg@gmil.com',\r\n work_phone: '253-418-5940',\r\n personal_phone: '253-418-5940',\r\n location: 'Andorra',\r\n avatar: 'avatar-5.png',\r\n status: 'Co-ordinator',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Herman',\r\n unReadChatCount: 0,\r\n online_status: 'do_not_disturb'\r\n },\r\n {\r\n id: 6,\r\n name: 'Wilhelmine Durrg',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Monitor Evaluator',\r\n work_email: 'wilhelmine_durrg_work@gmil.com',\r\n personal_email: 'wilhelmine_durrg@gmil.com',\r\n work_phone: '380-293-0177',\r\n personal_phone: '380-293-0177',\r\n location: 'Angola',\r\n avatar: 'avatar-6.png',\r\n status: 'Monitor Evaluator',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Wilhelmine',\r\n unReadChatCount: 0,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 7,\r\n name: 'Agilulf Fuxg',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Specialist',\r\n work_email: 'agilulf_fuxg_work@gmil.com',\r\n personal_email: 'agilulf_fuxg@gmil.com',\r\n work_phone: '253-418-5940',\r\n personal_phone: '253-418-5940',\r\n location: 'Antigua and Barbuda',\r\n avatar: 'avatar-7.png',\r\n status: 'Specialist',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Agilulf',\r\n unReadChatCount: 0,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 8,\r\n name: 'Adaline Bergfalks',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Shaper',\r\n work_email: 'adaline_bergfalks_work@gmil.com',\r\n personal_email: 'adaline_bergfalks@gmil.com',\r\n work_phone: '253-118-5940',\r\n personal_phone: '253-118-5940',\r\n location: 'Argentina',\r\n avatar: 'avatar-6.png',\r\n status: 'Shaper',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Adaline',\r\n unReadChatCount: 0,\r\n online_status: 'offline'\r\n },\r\n {\r\n id: 9,\r\n name: 'Eadwulf Beckete',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Implementer',\r\n work_email: 'eadwulf_beckete_work@gmil.com',\r\n personal_email: 'eadwulf_beckete@gmil.com',\r\n work_phone: '153-418-5940',\r\n personal_phone: '153-418-5940',\r\n location: 'Armenia',\r\n avatar: 'avatar-1.png',\r\n status: 'Implementer',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Eadwulf',\r\n unReadChatCount: 0,\r\n online_status: 'offline'\r\n },\r\n {\r\n id: 10,\r\n name: 'Midas',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Leader',\r\n work_email: 'midas_work@gmil.com',\r\n personal_email: 'midas@gmil.com',\r\n work_phone: '252-418-5940',\r\n personal_phone: '252-418-5940',\r\n location: 'Australia',\r\n avatar: 'avatar-2.png',\r\n status: 'Leader',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Midas',\r\n unReadChatCount: 0,\r\n online_status: 'offline'\r\n },\r\n {\r\n id: 11,\r\n name: 'Uranus',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Facilitator',\r\n work_email: 'uranus_work@gmil.com',\r\n personal_email: 'uranus@gmil.com',\r\n work_phone: '253-218-5940',\r\n personal_phone: '253-218-5940',\r\n location: 'Austria',\r\n avatar: 'avatar-3.png',\r\n status: 'Facilitator',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Uranus',\r\n unReadChatCount: 0,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 12,\r\n name: 'Peahen',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Coach',\r\n work_email: 'peahen_work@gmil.com',\r\n personal_email: 'peahen@gmil.com',\r\n work_phone: '253-418-1940',\r\n personal_phone: '253-418-1940',\r\n location: 'Azerbaijan',\r\n avatar: 'avatar-4.png',\r\n status: 'One of the Graces.',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Peahen',\r\n unReadChatCount: 0,\r\n online_status: 'do_not_disturb'\r\n },\r\n {\r\n id: 13,\r\n name: 'Menelaus',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Facilitator',\r\n work_email: 'menelaus_work@gmil.com',\r\n personal_email: 'menelaus@gmil.com',\r\n work_phone: '053-418-5940',\r\n personal_phone: '053-418-5940',\r\n location: 'Bahamas',\r\n avatar: 'avatar-5.png',\r\n status: 'To stay',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Menelaus',\r\n unReadChatCount: 0,\r\n online_status: 'offline'\r\n }\r\n];\r\n\r\n// chat history\r\nconst chatHistories: ChatHistory[] = [\r\n { id: 1, from: 'User1', to: 'Alene', text: text1, time: '11:23 AM' },\r\n { id: 2, from: 'Alene', to: 'User1', text: text2, time: '11:23 AM' },\r\n { id: 3, from: 'User1', to: 'Alene', text: text3, time: '11:23 AM' },\r\n { id: 4, from: 'Alene', to: 'User1', text: text4, time: '11:23 AM' },\r\n\r\n { id: 5, from: 'User1', to: 'Keefe', text: text5, time: '11:24 AM' },\r\n { id: 6, from: 'Keefe', to: 'User1', text: text6, time: '11:24 AM' },\r\n { id: 7, from: 'User1', to: 'Keefe', text: text7, time: '11:24 AM' },\r\n { id: 8, from: 'Keefe', to: 'User1', text: text8, time: '11:24 AM' },\r\n\r\n { id: 9, from: 'User1', to: 'Lazaro', text: text1, time: '11:25 AM' },\r\n { id: 10, from: 'Lazaro', to: 'User1', text: text2, time: '11:25 AM' },\r\n { id: 11, from: 'User1', to: 'Lazaro', text: text3, time: '11:25 AM' },\r\n { id: 12, from: 'Lazaro', to: 'User1', text: text4, time: '11:25 AM' },\r\n\r\n { id: 13, from: 'User1', to: 'Hazle', text: text5, time: '11:26 AM' },\r\n { id: 14, from: 'Hazle', to: 'User1', text: text6, time: '11:26 AM' },\r\n { id: 15, from: 'User1', to: 'Hazle', text: text7, time: '11:26 AM' },\r\n { id: 16, from: 'Hazle', to: 'User1', text: text8, time: '11:26 AM' },\r\n\r\n { id: 17, from: 'User1', to: 'Herman Essertg', text: text1, time: '11:27 AM' },\r\n { id: 18, from: 'Herman Essertg', to: 'User1', text: text2, time: '11:27 AM' },\r\n { id: 19, from: 'User1', to: 'Herman Essertg', text: text3, time: '11:27 AM' },\r\n { id: 20, from: 'Herman Essertg', to: 'User1', text: text4, time: '11:27 AM' },\r\n\r\n { id: 21, from: 'User1', to: 'Wilhelmine Durrg', text: text5, time: '11:28 AM' },\r\n { id: 22, from: 'Wilhelmine Durrg', to: 'User1', text: text6, time: '11:28 AM' },\r\n { id: 23, from: 'User1', to: 'Wilhelmine Durrg', text: text7, time: '11:28 AM' },\r\n { id: 24, from: 'Wilhelmine Durrg', to: 'User1', text: text8, time: '11:28 AM' },\r\n\r\n { id: 25, from: 'User1', to: 'Agilulf Fuxg', text: text1, time: '11:29 AM' },\r\n { id: 26, from: 'Agilulf Fuxg', to: 'User1', text: text2, time: '11:29 AM' },\r\n { id: 27, from: 'User1', to: 'Agilulf Fuxg', text: text3, time: '11:29 AM' },\r\n { id: 28, from: 'Agilulf Fuxg', to: 'User1', text: text4, time: '11:29 AM' },\r\n\r\n { id: 29, from: 'User1', to: 'Adaline Bergfalks', text: text5, time: '11:30 AM' },\r\n { id: 30, from: 'Adaline Bergfalks', to: 'User1', text: text6, time: '11:30 AM' },\r\n { id: 31, from: 'User1', to: 'Adaline Bergfalks', text: text7, time: '11:30 AM' },\r\n { id: 32, from: 'Adaline Bergfalks', to: 'User1', text: text8, time: '11:30 AM' },\r\n\r\n { id: 33, from: 'User1', to: 'Eadwulf Beckete', text: text1, time: '11:31 AM' },\r\n { id: 34, from: 'Eadwulf Beckete', to: 'User1', text: text2, time: '11:31 AM' },\r\n { id: 35, from: 'User1', to: 'Eadwulf Beckete', text: text3, time: '11:31 AM' },\r\n { id: 36, from: 'Eadwulf Beckete', to: 'User1', text: text4, time: '11:31 AM' },\r\n\r\n { id: 37, from: 'User1', to: 'Midas', text: text5, time: '11:32 AM' },\r\n { id: 38, from: 'Midas', to: 'User1', text: text6, time: '11:32 AM' },\r\n { id: 39, from: 'User1', to: 'Midas', text: text7, time: '11:32 AM' },\r\n { id: 40, from: 'Midas', to: 'User1', text: text8, time: '11:32 AM' },\r\n\r\n { id: 41, from: 'User1', to: 'Uranus', text: text1, time: '11:33 AM' },\r\n { id: 42, from: 'Uranus', to: 'User1', text: text2, time: '11:33 AM' },\r\n { id: 43, from: 'User1', to: 'Uranus', text: text3, time: '11:33 AM' },\r\n { id: 44, from: 'Uranus', to: 'User1', text: text4, time: '11:33 AM' },\r\n\r\n { id: 45, from: 'User1', to: 'Peahen', text: text5, time: '11:34 AM' },\r\n { id: 46, from: 'Peahen', to: 'User1', text: text6, time: '11:34 AM' },\r\n { id: 47, from: 'User1', to: 'Peahen', text: text7, time: '11:34 AM' },\r\n { id: 48, from: 'Peahen', to: 'User1', text: text8, time: '11:34 AM' },\r\n\r\n { id: 49, from: 'User1', to: 'Menelaus', text: text1, time: '11:35 AM' },\r\n { id: 50, from: 'Menelaus', to: 'User1', text: text2, time: '11:35 AM' },\r\n { id: 51, from: 'User1', to: 'Menelaus', text: text3, time: '11:35 AM' },\r\n { id: 52, from: 'Menelaus', to: 'User1', text: text4, time: '11:35 AM' }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/chat/users').reply(200, { users });\r\n\r\nservices.onPost('/api/chat/users/id').reply((config) => {\r\n try {\r\n const { id } = JSON.parse(config.data);\r\n const index = users.findIndex((x) => x.id === id);\r\n return [200, users[index]];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/chat/filter').reply(async (config) => {\r\n try {\r\n const { user } = JSON.parse(config.data);\r\n const result = chatHistories.filter((item) => item.from === user || item.to === user);\r\n return [200, result];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/chat/insert').reply((config) => {\r\n try {\r\n const { from, to, text, time } = JSON.parse(config.data);\r\n const result = chatHistories.push({ from, to, text, time });\r\n return [200, result];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/chat/users/modify').reply((config) => {\r\n try {\r\n const user = JSON.parse(config.data);\r\n if (user.id) {\r\n const index = users.findIndex((u) => u.id === user.id);\r\n if (index > -1) {\r\n users[index] = { ...users[index], ...user };\r\n }\r\n } else {\r\n users.push({ ...user, id: users.length + 1 });\r\n }\r\n return [200, []];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// third-party\r\nimport { add, sub } from 'date-fns';\r\nimport { Chance } from 'chance';\r\n\r\n// types\r\nimport { KeyedObject } from 'types';\r\nimport { Products } from 'types/e-commerce';\r\n\r\nconst chance = new Chance();\r\n\r\n// products list\r\nconst products: Products[] = [\r\n {\r\n id: 1,\r\n image: 'prod-1.jpg',\r\n name: chance.name(),\r\n description: chance.paragraph({ sentences: 2 }),\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n discount: 25,\r\n salePrice: 350,\r\n offerPrice: 275,\r\n gender: 'male',\r\n categories: ['fashion', 'books'],\r\n colors: ['errorDark', 'orangeDark', 'errorMain', 'secondaryMain'],\r\n popularity: chance.natural(),\r\n date: chance.natural(),\r\n created: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),\r\n isStock: true\r\n },\r\n {\r\n id: 2,\r\n image: 'prod-2.jpg',\r\n name: chance.name(),\r\n description: chance.paragraph({ sentences: 2 }),\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n discount: 10,\r\n salePrice: 89.99,\r\n offerPrice: 81.99,\r\n gender: 'kids',\r\n categories: ['fashion', 'toys'],\r\n colors: ['primary200', 'successLight', 'secondary200', 'warningMain'],\r\n popularity: chance.natural(),\r\n date: chance.natural(),\r\n created: sub(new Date(), { days: 10, hours: 8, minutes: 69 }),\r\n isStock: false\r\n },\r\n {\r\n id: 3,\r\n image: 'prod-3.jpg',\r\n name: chance.name(),\r\n description: chance.paragraph({ sentences: 2 }),\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n discount: 40,\r\n salePrice: 85.0,\r\n offerPrice: 49.9,\r\n gender: 'male',\r\n categories: ['fashion', 'electronics'],\r\n colors: ['primary200', 'primaryDark'],\r\n popularity: chance.natural(),\r\n date: chance.natural(),\r\n created: sub(new Date(), { days: 4, hours: 9, minutes: 50 }),\r\n isStock: true\r\n },\r\n {\r\n id: 4,\r\n image: 'prod-4.jpg',\r\n name: chance.name(),\r\n description: chance.paragraph({ sentences: 2 }),\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n discount: 17,\r\n salePrice: 36.0,\r\n offerPrice: 29.99,\r\n gender: 'kids',\r\n categories: ['fashion', 'electronics', 'toys'],\r\n colors: ['errorLight', 'orangeMain', 'warningMain'],\r\n popularity: chance.natural(),\r\n date: chance.natural(),\r\n created: sub(new Date(), { days: 7, hours: 6, minutes: 45 }),\r\n isStock: false\r\n },\r\n {\r\n id: 5,\r\n image: 'prod-5.jpg',\r\n name: chance.name(),\r\n description: chance.paragraph({ sentences: 2 }),\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n discount: 20,\r\n salePrice: 15.99,\r\n offerPrice: 12.99,\r\n gender: 'male',\r\n categories: ['books'],\r\n colors: ['warningMain', 'primary200'],\r\n popularity: chance.natural(),\r\n date: chance.natural(),\r\n created: sub(new Date(), { days: 2, hours: 9, minutes: 45 }),\r\n isStock: true\r\n },\r\n {\r\n id: 6,\r\n image: 'prod-6.jpg',\r\n name: chance.name(),\r\n description: chance.paragraph({ sentences: 2 }),\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n discount: 13,\r\n salePrice: 99.99,\r\n offerPrice: 86.99,\r\n gender: 'female',\r\n categories: ['fashion', 'kitchen'],\r\n colors: ['primaryDark', 'orangeDark'],\r\n popularity: chance.natural(),\r\n date: chance.natural(),\r\n created: add(new Date(), { days: 6, hours: 10, minutes: 0 }),\r\n isStock: true\r\n },\r\n {\r\n id: 7,\r\n image: 'prod-7.jpg',\r\n name: chance.name(),\r\n description: chance.paragraph({ sentences: 2 }),\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n discount: 15,\r\n salePrice: 16.99,\r\n offerPrice: 14.59,\r\n gender: 'male',\r\n categories: ['fashion'],\r\n colors: ['errorDark', 'secondaryMain', 'errorMain', 'orangeDark'],\r\n popularity: chance.natural(),\r\n date: chance.natural(),\r\n created: add(new Date(), { days: 14, hours: 1, minutes: 55 }),\r\n isStock: false\r\n },\r\n {\r\n id: 8,\r\n image: 'prod-8.jpg',\r\n name: chance.name(),\r\n description: chance.paragraph({ sentences: 2 }),\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n discount: 20,\r\n salePrice: 129.99,\r\n offerPrice: 100.0,\r\n gender: 'female',\r\n categories: ['toys'],\r\n colors: ['darkMain', 'errorMain', 'successDark'],\r\n popularity: chance.natural(),\r\n date: chance.natural(),\r\n created: sub(new Date(), { days: 0, hours: 11, minutes: 10 }),\r\n isStock: true\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/products/list').reply(200, { products });\r\n\r\nservices.onPost('/api/products/filter').reply((config) => {\r\n try {\r\n const { filter } = JSON.parse(config.data);\r\n\r\n if (filter.sort === 'high') {\r\n products.sort((a: Products, b: Products) => Number(b.offerPrice) - Number(a.offerPrice));\r\n }\r\n\r\n if (filter.sort === 'low') {\r\n products.sort((a, b) => Number(a.offerPrice) - Number(b.offerPrice));\r\n }\r\n\r\n if (filter.sort === 'popularity') {\r\n products.sort((a, b) => Number(b.popularity) - Number(a.popularity));\r\n }\r\n\r\n if (filter.sort === 'discount') {\r\n products.sort((a, b) => Number(b.discount) - Number(a.discount));\r\n }\r\n\r\n if (filter.sort === 'discount') {\r\n products.sort((a, b) => Number(b.discount) - Number(a.discount));\r\n }\r\n\r\n if (filter.sort === 'new') {\r\n products.sort((a, b) => Number(b.new) - Number(a.new));\r\n }\r\n\r\n const results = products.filter((product: KeyedObject) => {\r\n let searchMatches = true;\r\n\r\n if (filter.search) {\r\n const properties = ['name', 'description', 'rating', 'salePrice', 'offerPrice', 'gender'];\r\n let containsQuery = false;\r\n\r\n properties.forEach((property) => {\r\n if (product[property].toString().toLowerCase().includes(filter.search.toString().toLowerCase())) {\r\n containsQuery = true;\r\n }\r\n });\r\n\r\n if (!containsQuery) {\r\n searchMatches = false;\r\n }\r\n }\r\n\r\n const genderMatches = filter.gender.length > 0 ? filter.gender.some((item: string) => item === product.gender) : true;\r\n const categoriesMatches =\r\n filter.categories.length > 0 && filter.categories.some((category: string) => category !== 'all')\r\n ? filter.categories.some((category: string) => product.categories.some((item: string) => item === category))\r\n : true;\r\n const colorsMatches =\r\n filter.colors.length > 0\r\n ? filter.colors.some((color: string) => product.colors.some((item: string) => item === color))\r\n : true;\r\n\r\n const minMax = filter.price ? filter.price.split('-') : '';\r\n const priceMatches = filter.price ? product.offerPrice >= minMax[0] && product.offerPrice <= minMax[1] : true;\r\n const ratingMatches = filter.rating > 0 ? product.rating >= filter.rating : true;\r\n\r\n return searchMatches && genderMatches && categoriesMatches && colorsMatches && priceMatches && ratingMatches;\r\n });\r\n\r\n return [200, results];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/product/details').reply((config) => {\r\n try {\r\n const { id } = JSON.parse(config.data);\r\n\r\n let results;\r\n if (id === 'default') {\r\n [results] = products;\r\n } else {\r\n [results] = products.filter((product) => product.id === Number(id));\r\n }\r\n\r\n return [200, results];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/product/related').reply((config) => {\r\n try {\r\n const { id } = JSON.parse(config.data);\r\n\r\n const results = products.filter((product) => product.id !== Number(id));\r\n\r\n return [200, results];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// third-party\r\nimport { sub } from 'date-fns';\r\nimport { Chance } from 'chance';\r\n\r\n// types\r\nimport { Reviews } from 'types/e-commerce';\r\n\r\nconst chance = new Chance();\r\n\r\n// product reviews list\r\nconst productReviews: Reviews[] = [\r\n {\r\n id: '1',\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n review: chance.paragraph({ sentences: 2 }),\r\n date: sub(new Date(), { days: 0, hours: 1, minutes: 45 }),\r\n profile: {\r\n avatar: 'user-1.png',\r\n name: chance.name({ nationality: 'en' }),\r\n status: chance.bool()\r\n }\r\n },\r\n {\r\n id: '2',\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n review: chance.paragraph({ sentences: 2 }),\r\n date: sub(new Date(), { days: 5, hours: 12, minutes: 55 }),\r\n profile: {\r\n avatar: 'user-2.png',\r\n name: chance.name({ nationality: 'en' }),\r\n status: chance.bool()\r\n }\r\n },\r\n {\r\n id: '3',\r\n rating: chance.floating({ min: 0.1, max: 5.0 }),\r\n review: chance.paragraph({ sentences: 2 }),\r\n date: sub(new Date(), { days: 8, hours: 6, minutes: 20 }),\r\n profile: {\r\n avatar: 'user-3.png',\r\n name: chance.name({ nationality: 'en' }),\r\n status: chance.bool()\r\n }\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/review/list').reply(200, { productReviews });\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// third-party\r\nimport { Chance } from 'chance';\r\nimport { v4 as UIDV4 } from 'uuid';\r\n\r\n// types\r\nimport { Address } from 'types/e-commerce';\r\n\r\nconst chance = new Chance();\r\n\r\n// billing address list\r\nlet address: Address[] = [\r\n {\r\n id: 1,\r\n name: chance.name(),\r\n destination: 'home',\r\n building: chance.address({ short_suffix: true }),\r\n street: chance.address({ short_suffix: false }),\r\n city: chance.city(),\r\n state: chance.state({ full: true }),\r\n country: chance.country({ full: true }),\r\n post: chance.postcode(),\r\n phone: chance.phone(),\r\n isDefault: true\r\n },\r\n {\r\n id: 2,\r\n name: chance.name(),\r\n destination: 'office',\r\n building: chance.address({ short_suffix: true }),\r\n street: chance.address({ short_suffix: false }),\r\n city: chance.city(),\r\n state: chance.state({ full: true }),\r\n country: chance.country({ full: true }),\r\n post: chance.postcode(),\r\n phone: chance.phone(),\r\n isDefault: false\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/address/list').reply(200, { address });\r\n\r\nservices.onPost('/api/address/new').reply((request) => {\r\n try {\r\n const data = JSON.parse(request.data);\r\n const { name, destination, building, street, city, state, country, post, phone, isDefault } = data;\r\n const newAddress = {\r\n id: UIDV4(),\r\n name,\r\n destination,\r\n building,\r\n street,\r\n city,\r\n state,\r\n country,\r\n post,\r\n phone,\r\n isDefault\r\n };\r\n\r\n if (isDefault) {\r\n address = address.map((item) => {\r\n if (item.isDefault === true) {\r\n return { ...item, isDefault: false };\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n address = [...address, newAddress];\r\n\r\n return [200, { address }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/address/edit').reply((request) => {\r\n try {\r\n const data = JSON.parse(request.data);\r\n\r\n if (data.isDefault) {\r\n address = address.map((item) => {\r\n if (item.isDefault === true) {\r\n return { ...item, isDefault: false };\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n address = address.map((item) => {\r\n if (item.id === data.id) {\r\n return data;\r\n }\r\n return item;\r\n });\r\n\r\n return [200, { address }];\r\n } catch (err) {\r\n console.error(err);\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { Customer, Order, Product, ProductReview } from 'types/customer';\r\n\r\nconst customers: Customer[] = [\r\n { name: 'Joseph William 1', email: 'Joseph@mail.com', location: 'Hong Kong, China', orders: 263, date: '12.07.2018', status: 1 },\r\n { name: 'Ashy Handgun 2', email: 'Akshay@mail.com', location: 'New York, USA', orders: 750, date: '12.07.2018', status: 2 },\r\n { name: 'Larry Doe 3', email: 'larry@mail.com', location: 'Hong Kong, China', orders: 1120, date: '12.07.2018', status: 2 },\r\n { name: 'Sara Soudan 4', email: 'Sara@mail.com', location: 'New York, USA', orders: 975, date: '12.07.2018', status: 3 },\r\n { name: 'Joseph William 5', email: 'Joseph@mail.com', location: 'Hong Kong, China', orders: 263, date: '12.07.2018', status: 1 },\r\n { name: 'Aisha Handgun 6', email: 'Akshay@mail.com', location: 'New York, USA', orders: 750, date: '12.07.2018', status: 3 },\r\n { name: 'Larky Doe 7', email: 'larry@mail.com', location: 'Hong Kong, China', orders: 1120, date: '12.07.2018', status: 2 },\r\n { name: 'Sara Soupier 8', email: 'Sara@mail.com', location: 'New York, USA', orders: 975, date: '12.07.2018', status: 1 },\r\n { name: 'Joseph William 9', email: 'Joseph@mail.com', location: 'Hong Kong, China', orders: 263, date: '12.07.2018', status: 3 },\r\n { name: 'Anshan Handgun 10', email: 'Akshay@mail.com', location: 'New York, USA', orders: 750, date: '12.07.2018', status: 1 },\r\n { name: 'Lardy Doe 11', email: 'larry@mail.com', location: 'Hong Kong, China', orders: 1120, date: '12.07.2018', status: 1 },\r\n { name: 'Sara Soudan 12', email: 'Sara@mail.com', location: 'New York, USA', orders: 975, date: '12.07.2018', status: 3 },\r\n { name: 'Joseph William 13', email: 'Joseph@mail.com', location: 'Hong Kong, China', orders: 263, date: '12.07.2018', status: 2 },\r\n { name: 'Ashy Handgun 14', email: 'Akshay@mail.com', location: 'New York, USA', orders: 750, date: '12.07.2018', status: 2 },\r\n { name: 'Lars Doe 15', email: 'larry@mail.com', location: 'Hong Kong, China', orders: 1120, date: '12.07.2018', status: 1 },\r\n { name: 'Sara Souvenir 16', email: 'Sara@mail.com', location: 'New York, USA', orders: 975, date: '12.07.2018', status: 2 }\r\n];\r\n\r\nconst orders: Order[] = [\r\n { id: '790841', name: 'Joseph William 1', company: 'Toronto', type: 'Credit Card', qty: 2500, date: '12.07.2018', status: 3 },\r\n { id: '790842', name: 'Anshan Handgun 2', company: 'Toronto', type: 'Paytm', qty: 5000, date: '12.07.2018', status: 2 },\r\n { id: '798699', name: 'Larry Doe 3', company: 'Toronto', type: 'Net Banking', qty: 2500, date: '12.07.2018', status: 1 },\r\n { id: '790752', name: 'Sara Soudan 4', company: 'Toronto', type: 'Upi', qty: 5000, date: '12.07.2018', status: 1 },\r\n { id: '790955', name: 'Joseph William 5', company: 'Toronto', type: 'Credit Card', qty: 2500, date: '12.07.2018', status: 2 },\r\n { id: '790785', name: 'Anshan Handgun 6', company: 'Toronto', type: 'Upi', qty: 5000, date: '12.07.2018', status: 3 },\r\n { id: '800837', name: 'Larry Doe 7', company: 'Toronto', type: 'Paytm', qty: 2500, date: '12.07.2018', status: 3 },\r\n { id: '810365', name: 'Sara Soudan 8', company: 'Toronto', type: 'Net Banking', qty: 5000, date: '12.07.2018', status: 2 },\r\n { id: '810814', name: 'Sara Soudan 20', company: 'Toronto', type: 'Upi', qty: 2500, date: '12.07.2018', status: 1 },\r\n { id: '820385', name: 'Joseph William 9', company: 'Toronto', type: 'Net Banking', qty: 5000, date: '12.07.2018', status: 1 },\r\n { id: '820885', name: 'Anshan Handgun 10', company: 'Toronto', type: 'Credit Card', qty: 2500, date: '12.07.2018', status: 1 },\r\n { id: '830390', name: 'Larry Doe 11', company: 'Toronto', type: 'Paytm', qty: 5000, date: '12.07.2018', status: 2 },\r\n { id: '830879', name: 'Sara Soudan 12', company: 'Toronto', type: 'Upi', qty: 2500, date: '12.07.2018', status: 3 },\r\n { id: '900111', name: 'Joseph William 13', company: 'Toronto', type: 'Upi', qty: 5000, date: '12.07.2018', status: 3 },\r\n { id: '900836', name: 'Anshan Handgun 14', company: 'Toronto', type: 'Credit Card', qty: 2500, date: '12.07.2018', status: 2 },\r\n { id: '900112', name: 'Larry Doe 15', company: 'Toronto', type: 'Paytm', qty: 5000, date: '12.07.2018', status: 2 },\r\n { id: '900871', name: 'Sara Soudan 16', company: 'Toronto', type: 'Upi', qty: 2500, date: '12.07.2018', status: 1 },\r\n { id: '910232', name: 'Joseph William 17', company: 'Toronto', type: 'Upi', qty: 5000, date: '12.07.2018', status: 2 },\r\n { id: '910886', name: 'Anshan Handgun 18', company: 'Toronto', type: 'Credit Card', qty: 2500, date: '12.07.2018', status: 3 },\r\n { id: '910232', name: 'Larry Doe 19', company: 'Toronto', type: 'Net Banking', qty: 5000, date: '12.07.2018', status: 2 }\r\n];\r\n\r\nconst products: Product[] = [\r\n { id: '790841', name: 'Samsung TV 32” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '790842', name: 'Iphone 11 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '798699', name: 'Samsung TV 34” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '790752', name: 'Iphone 12 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '790955', name: 'Samsung TV 36” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '790785', name: 'Iphone 13 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '800837', name: 'Samsung TV 38” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '810365', name: 'Iphone 14 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '810814', name: 'Samsung TV 40” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '820385', name: 'Iphone 15 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '820885', name: 'Samsung TV 42” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '830390', name: 'Iphone 16 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '830879', name: 'Samsung TV 44” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '900111', name: 'Iphone 17 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '900836', name: 'Samsung TV 46” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '900112', name: 'Iphone 18 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '900871', name: 'Samsung TV 48” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '910232', name: 'Iphone 19 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 },\r\n { id: '910886', name: 'Samsung TV 50” LED Retina', category: 'Television', price: 2500, date: '12.07.2018', qty: 5 },\r\n { id: '910232', name: 'Iphone 20 Pro Max', category: 'Television', price: 5000, date: '12.07.2018', qty: 2 }\r\n];\r\n\r\nconst productreviews: ProductReview[] = [\r\n {\r\n name: 'Apple Watch Series 1',\r\n author: 'Joseph William',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 3.5,\r\n date: '12.07.2018',\r\n status: 1\r\n },\r\n {\r\n name: 'Apple X2 2',\r\n author: 'Anshan Handgun',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 5.0,\r\n date: '12.07.2018',\r\n status: 2\r\n },\r\n {\r\n name: 'Apple Watch Series 3',\r\n author: 'Larry Doe',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 4.5,\r\n date: '12.07.2018',\r\n status: 2\r\n },\r\n {\r\n name: 'Apple Watch Series 4',\r\n author: 'Joseph William',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 3.0,\r\n date: '12.07.2018',\r\n status: 3\r\n },\r\n {\r\n name: 'Apple X2 5',\r\n author: 'Anshan Handgun',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 2.0,\r\n date: '12.07.2018',\r\n status: 2\r\n },\r\n {\r\n name: 'Apple X2 6',\r\n author: 'Larry Doe',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 2.5,\r\n date: '12.07.2018',\r\n status: 1\r\n },\r\n {\r\n name: 'Apple Watch Series 7',\r\n author: 'Joseph William',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 4.0,\r\n date: '12.07.2018',\r\n status: 3\r\n },\r\n {\r\n name: 'Apple X2 8',\r\n author: 'Anshan Handgun',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 5.0,\r\n date: '12.07.2018',\r\n status: 3\r\n },\r\n {\r\n name: 'Apple Watch Series 9',\r\n author: 'Larry Doe',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 4.0,\r\n date: '12.07.2018',\r\n status: 1\r\n },\r\n {\r\n name: 'Apple Watch Series 10',\r\n author: 'Joseph William',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 3.5,\r\n date: '12.07.2018',\r\n status: 2\r\n },\r\n {\r\n name: 'Apple X2 11',\r\n author: 'Anshan Handgun',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 1.0,\r\n date: '12.07.2018',\r\n status: 1\r\n },\r\n {\r\n name: 'Apple X2 12',\r\n author: 'Larry Doe',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 1.5,\r\n date: '12.07.2018',\r\n status: 1\r\n },\r\n {\r\n name: 'Apple Watch Series 13',\r\n author: 'Joseph William',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 2.5,\r\n date: '12.07.2018',\r\n status: 3\r\n },\r\n {\r\n name: 'Apple X2 14',\r\n author: 'Anshan Handgun',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 5.0,\r\n date: '12.07.2018',\r\n status: 1\r\n },\r\n {\r\n name: 'Apple Watch Series 15',\r\n author: 'Larry Doe',\r\n review: 'The Series 4 is a significant step...',\r\n rating: 4.0,\r\n date: '12.07.2018',\r\n status: 2\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/customer/list').reply(200, { customers });\r\n\r\nservices.onGet('/api/customer/order/list').reply(200, { orders });\r\n\r\nservices.onGet('/api/customer/product/list').reply(200, { products });\r\n\r\nservices.onGet('/api/customer/product/reviews').reply(200, { productreviews });\r\n","// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// contact list\r\nconst contacts = [\r\n {\r\n id: 1,\r\n name: 'Alene',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Sr. Customer Manager',\r\n work_email: 'alene_work@company.com',\r\n personal_email: 'alene@company.com',\r\n work_phone: '380-293-0177',\r\n personal_phone: '380-293-0177',\r\n location: 'Port Narcos',\r\n avatar: 'avatar-1.png',\r\n status: 'Technical Department',\r\n lastMessage: '2h ago',\r\n birthdayText: 'happy Birthday Alene',\r\n unReadChatCount: 2,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 2,\r\n name: 'Keefe',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Dynamic Operations Officer',\r\n work_email: 'keefe_work@gmil.com',\r\n personal_email: 'keefe@gmil.com',\r\n work_phone: '253-418-5940',\r\n personal_phone: '253-418-5940',\r\n location: 'Afghanistan',\r\n avatar: 'avatar-2.png',\r\n status: 'Support Executive',\r\n lastMessage: '1:20 AM',\r\n birthdayText: 'happy Birthday Keefe',\r\n unReadChatCount: 3,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 3,\r\n name: 'Lazaro',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Resource Investigator',\r\n work_email: 'lazaro_work@gmil.com',\r\n personal_email: 'lazaro@gmil.com',\r\n work_phone: '283-029-1364',\r\n personal_phone: '283-029-1364',\r\n location: 'Albania',\r\n avatar: 'avatar-3.png',\r\n status: 'Resource Investigator',\r\n lastMessage: 'Yesterday',\r\n birthdayText: 'happy Birthday Lazaro',\r\n unReadChatCount: 1,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 4,\r\n name: 'Hazle',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Teamworker',\r\n work_email: 'hazle_work@gmil.com',\r\n personal_email: 'hazle@gmil.com',\r\n work_phone: '380-293-0177',\r\n personal_phone: '380-293-0177',\r\n location: 'Algeria',\r\n avatar: 'avatar-4.png',\r\n status: 'Teamworker',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Hazle',\r\n unReadChatCount: 0,\r\n online_status: 'do_not_disturb'\r\n },\r\n {\r\n id: 5,\r\n name: 'Herman Essertg',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Co-ordinator',\r\n work_email: 'herman_essertg_work@gmil.com',\r\n personal_email: 'herman_essertg@gmil.com',\r\n work_phone: '253-418-5940',\r\n personal_phone: '253-418-5940',\r\n location: 'Andorra',\r\n avatar: 'avatar-5.png',\r\n status: 'Co-ordinator',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Herman',\r\n unReadChatCount: 0,\r\n online_status: 'do_not_disturb'\r\n },\r\n {\r\n id: 6,\r\n name: 'Wilhelmine Durrg',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Monitor Evaluator',\r\n work_email: 'wilhelmine_durrg_work@gmil.com',\r\n personal_email: 'wilhelmine_durrg@gmil.com',\r\n work_phone: '380-293-0177',\r\n personal_phone: '380-293-0177',\r\n location: 'Angola',\r\n avatar: 'avatar-6.png',\r\n status: 'Monitor Evaluator',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Wilhelmine',\r\n unReadChatCount: 0,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 7,\r\n name: 'Agilulf Fuxg',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Specialist',\r\n work_email: 'agilulf_fuxg_work@gmil.com',\r\n personal_email: 'agilulf_fuxg@gmil.com',\r\n work_phone: '253-418-5940',\r\n personal_phone: '253-418-5940',\r\n location: 'Antigua and Barbuda',\r\n avatar: 'avatar-7.png',\r\n status: 'Specialist',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Agilulf',\r\n unReadChatCount: 0,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 8,\r\n name: 'Adaline Bergfalks',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Shaper',\r\n work_email: 'adaline_bergfalks_work@gmil.com',\r\n personal_email: 'adaline_bergfalks@gmil.com',\r\n work_phone: '253-118-5940',\r\n personal_phone: '253-118-5940',\r\n location: 'Argentina',\r\n avatar: 'avatar-6.png',\r\n status: 'Shaper',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Adaline',\r\n unReadChatCount: 0,\r\n online_status: 'offline'\r\n },\r\n {\r\n id: 9,\r\n name: 'Eadwulf Beckete',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Implementer',\r\n work_email: 'eadwulf_beckete_work@gmil.com',\r\n personal_email: 'eadwulf_beckete@gmil.com',\r\n work_phone: '153-418-5940',\r\n personal_phone: '153-418-5940',\r\n location: 'Armenia',\r\n avatar: 'avatar-1.png',\r\n status: 'Implementer',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Eadwulf',\r\n unReadChatCount: 0,\r\n online_status: 'offline'\r\n },\r\n {\r\n id: 10,\r\n name: 'Midas',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Leader',\r\n work_email: 'midas_work@gmil.com',\r\n personal_email: 'midas@gmil.com',\r\n work_phone: '252-418-5940',\r\n personal_phone: '252-418-5940',\r\n location: 'Australia',\r\n avatar: 'avatar-2.png',\r\n status: 'Leader',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Midas',\r\n unReadChatCount: 0,\r\n online_status: 'offline'\r\n },\r\n {\r\n id: 11,\r\n name: 'Uranus',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Facilitator',\r\n work_email: 'uranus_work@gmil.com',\r\n personal_email: 'uranus@gmil.com',\r\n work_phone: '253-218-5940',\r\n personal_phone: '253-218-5940',\r\n location: 'Austria',\r\n avatar: 'avatar-3.png',\r\n status: 'Facilitator',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Uranus',\r\n unReadChatCount: 0,\r\n online_status: 'available'\r\n },\r\n {\r\n id: 12,\r\n name: 'Peahen',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Coach',\r\n work_email: 'peahen_work@gmil.com',\r\n personal_email: 'peahen@gmil.com',\r\n work_phone: '253-418-1940',\r\n personal_phone: '253-418-1940',\r\n location: 'Azerbaijan',\r\n avatar: 'avatar-4.png',\r\n status: 'One of the Graces.',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Peahen',\r\n unReadChatCount: 0,\r\n online_status: 'do_not_disturb'\r\n },\r\n {\r\n id: 13,\r\n name: 'Menelaus',\r\n company: 'ABC Pvt Ltd',\r\n role: 'Facilitator',\r\n work_email: 'menelaus_work@gmil.com',\r\n personal_email: 'menelaus@gmil.com',\r\n work_phone: '053-418-5940',\r\n personal_phone: '053-418-5940',\r\n location: 'Bahamas',\r\n avatar: 'avatar-5.png',\r\n status: 'To stay',\r\n lastMessage: '4/25/2021',\r\n birthdayText: 'happy Birthday Menelaus',\r\n unReadChatCount: 0,\r\n online_status: 'offline'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/contact/list').reply(200, { contacts });\r\n\r\nservices.onPost('/api/contact/modify').reply((config) => {\r\n try {\r\n const user = JSON.parse(config.data);\r\n if (user.id) {\r\n const index = contacts.findIndex((u) => u.id === user.id);\r\n if (index > -1) {\r\n contacts[index] = { ...contacts[index], ...user };\r\n }\r\n } else {\r\n contacts.push({ ...user, id: contacts.length + 1 });\r\n }\r\n return [200, contacts];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","// third-party\r\nimport { Chance } from 'chance';\r\nimport { filter } from 'lodash';\r\n\r\n// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { CartProductStateProps, ProductCardProps } from 'types/cart';\r\n\r\nconst chance = new Chance();\r\n\r\nlet subtotal: number;\r\nlet result;\r\n\r\nlet latestProducts: CartProductStateProps[];\r\nlet newProduct: CartProductStateProps;\r\nlet inCartProduct: CartProductStateProps[];\r\nlet oldSubTotal;\r\nlet amount;\r\nlet newShipping;\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onPost('/api/cart/add').reply((config) => {\r\n try {\r\n const { product, products } = JSON.parse(config.data);\r\n\r\n newProduct = { ...product!, itemId: chance.timestamp() };\r\n subtotal = newProduct?.quantity * newProduct.offerPrice;\r\n\r\n inCartProduct = filter(products, {\r\n id: newProduct.id,\r\n color: newProduct.color,\r\n size: newProduct.size\r\n });\r\n if (inCartProduct && inCartProduct.length > 0) {\r\n const newProducts = products.map((item: CartProductStateProps) => {\r\n if (newProduct?.id === item.id && newProduct?.color === item.color && newProduct.size === item.size) {\r\n return { ...newProduct, quantity: newProduct.quantity + inCartProduct[0].quantity };\r\n }\r\n return item;\r\n });\r\n latestProducts = newProducts;\r\n } else {\r\n latestProducts = [...products, newProduct];\r\n }\r\n\r\n return [200, { products: latestProducts, subtotal }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/cart/remove').reply((config) => {\r\n try {\r\n const { id, products } = JSON.parse(config.data);\r\n\r\n result = filter(products, { itemId: id });\r\n subtotal = result[0].quantity * result[0].offerPrice;\r\n\r\n const newProducts = filter(products, (item) => item.itemId !== id);\r\n\r\n return [200, { products: newProducts, subtotal }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/cart/update').reply((config) => {\r\n try {\r\n const { id, quantity, products } = JSON.parse(config.data);\r\n\r\n result = filter(products, { itemId: id });\r\n subtotal = quantity! * result[0].offerPrice;\r\n oldSubTotal = 0;\r\n\r\n latestProducts = products.map((item: ProductCardProps) => {\r\n if (id === item.itemId) {\r\n oldSubTotal = item.quantity * (item.offerPrice || 0);\r\n return { ...item, quantity: quantity! };\r\n }\r\n return item;\r\n });\r\n\r\n return [200, { products: latestProducts, oldSubTotal, subtotal }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/cart/billing-address').reply((config) => {\r\n try {\r\n const { address } = JSON.parse(config.data);\r\n return [200, { billing: address! }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/cart/discount').reply((config) => {\r\n try {\r\n const { total, code } = JSON.parse(config.data);\r\n amount = 0;\r\n if (total > 0) {\r\n switch (code) {\r\n case 'BERRY50':\r\n amount = chance.integer({ min: 1, max: total < 49 ? total : 49 });\r\n break;\r\n case 'FLAT05':\r\n amount = total < 5 ? total : 5;\r\n break;\r\n case 'SUB150':\r\n amount = total < 150 ? total : 150;\r\n break;\r\n case 'UPTO200':\r\n amount = chance.integer({ min: 1, max: total < 199 ? total : 199 });\r\n break;\r\n default:\r\n amount = 0;\r\n }\r\n }\r\n\r\n return [200, { amount }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/cart/shipping-charge').reply((config) => {\r\n try {\r\n const { shipping, charge } = JSON.parse(config.data);\r\n newShipping = 0;\r\n if (shipping > 0 && charge === 'free') {\r\n newShipping = -5;\r\n }\r\n if (charge === 'fast') {\r\n newShipping = 5;\r\n }\r\n\r\n return [200, { shipping: charge === 'fast' ? 5 : 0, newShipping, type: charge! }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/cart/payment-method').reply((config) => {\r\n try {\r\n const { method } = JSON.parse(config.data);\r\n return [200, { method: method! }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/cart/payment-card').reply((config) => {\r\n try {\r\n const { card } = JSON.parse(config.data);\r\n return [200, { card: card! }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/cart/reset').reply(200, {});\r\n","// third-party\r\nimport { Chance } from 'chance';\r\nimport { add, set, sub } from 'date-fns';\r\n\r\n// project imports\r\nimport services from 'utils/mockAdapter';\r\n\r\n// types\r\nimport { KanbanColumn, KanbanComment, KanbanItem, KanbanProfile, KanbanUserStory } from 'types/kanban';\r\n\r\nconst chance = new Chance();\r\n\r\n// user profile data\r\nconst profileIdsData = {\r\n profile1: 'profile-1',\r\n profile2: 'profile-2',\r\n profile3: 'profile-3'\r\n};\r\n\r\nconst profilesData: KanbanProfile[] = [\r\n {\r\n id: profileIdsData.profile1,\r\n avatar: 'avatar-3.png',\r\n name: 'Barney Thea',\r\n time: '2 min ago'\r\n },\r\n {\r\n id: profileIdsData.profile2,\r\n avatar: 'avatar-1.png',\r\n name: 'Maddison Wilber',\r\n time: '1 day ago'\r\n },\r\n {\r\n id: profileIdsData.profile3,\r\n avatar: 'avatar-2.png',\r\n name: 'John Doe',\r\n time: 'now'\r\n }\r\n];\r\n\r\n// task comment data\r\nconst commentIdsData = {\r\n comment1: 'comment-1',\r\n comment2: 'comment-2',\r\n comment3: 'comment-3',\r\n comment4: 'comment-4',\r\n comment5: 'comment-5'\r\n};\r\n\r\nconst commentsData: KanbanComment[] = [\r\n {\r\n id: commentIdsData.comment1,\r\n comment: 'Comment 1',\r\n profileId: profileIdsData.profile1\r\n },\r\n {\r\n id: commentIdsData.comment2,\r\n comment: 'Comment 2',\r\n profileId: profileIdsData.profile2\r\n },\r\n {\r\n id: commentIdsData.comment3,\r\n comment: 'Comment 3',\r\n profileId: profileIdsData.profile3\r\n },\r\n {\r\n id: commentIdsData.comment4,\r\n comment: 'Comment 4',\r\n profileId: profileIdsData.profile2\r\n },\r\n {\r\n id: commentIdsData.comment5,\r\n comment: 'Comment 5',\r\n profileId: profileIdsData.profile3\r\n }\r\n];\r\n\r\n// items data\r\nconst itemIdsData = {\r\n item1: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item2: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item3: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item4: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item5: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item6: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item7: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item8: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item9: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n item10: `${chance.integer({ min: 1000, max: 9999 })}`\r\n};\r\n\r\nconst itemsData: KanbanItem[] = [\r\n {\r\n assign: profileIdsData.profile1,\r\n attachments: [],\r\n commentIds: [commentIdsData.comment1],\r\n description: 'Content of item 1',\r\n dueDate: sub(new Date(), { days: 12 }),\r\n id: itemIdsData.item1,\r\n image: 'profile-back-1.png',\r\n priority: 'low',\r\n title: 'Online fees payment & instant announcements'\r\n },\r\n {\r\n assign: profileIdsData.profile2,\r\n attachments: [],\r\n commentIds: [commentIdsData.comment2, commentIdsData.comment5],\r\n description: 'Content of item 2',\r\n dueDate: sub(new Date(), { days: 18 }),\r\n id: itemIdsData.item2,\r\n image: false,\r\n priority: 'high',\r\n title: 'Creation and Maintenance of Inventory Objects'\r\n },\r\n {\r\n assign: profileIdsData.profile3,\r\n attachments: [],\r\n description: 'Content of item 3',\r\n dueDate: sub(new Date(), { days: 8 }),\r\n id: itemIdsData.item3,\r\n image: false,\r\n priority: 'low',\r\n title: 'Update React & TypeScript version'\r\n },\r\n {\r\n assign: profileIdsData.profile2,\r\n attachments: [],\r\n commentIds: [commentIdsData.comment4],\r\n description: 'Content of item 4',\r\n dueDate: sub(new Date(), { days: 6 }),\r\n id: itemIdsData.item4,\r\n image: 'profile-back-2.png',\r\n priority: 'low',\r\n title: 'Set allowing rules for trusted applications.'\r\n },\r\n {\r\n assign: profileIdsData.profile2,\r\n attachments: [],\r\n commentIds: [commentIdsData.comment1, commentIdsData.comment2, commentIdsData.comment5],\r\n description: 'Content of item 5',\r\n dueDate: sub(new Date(), { days: 9 }),\r\n id: itemIdsData.item5,\r\n image: 'profile-back-3.png',\r\n priority: 'medium',\r\n title: 'Managing Applications Launch Control'\r\n },\r\n {\r\n assign: profileIdsData.profile3,\r\n attachments: [],\r\n commentIds: [commentIdsData.comment3, commentIdsData.comment4],\r\n description: 'Content of item 6',\r\n dueDate: set(new Date(), { hours: 10, minutes: 30 }),\r\n id: itemIdsData.item6,\r\n image: false,\r\n priority: 'medium',\r\n title: 'Run codemods'\r\n },\r\n {\r\n assign: profileIdsData.profile1,\r\n attachments: [],\r\n description: 'Content of item 7',\r\n dueDate: add(new Date(), { days: 5 }),\r\n id: itemIdsData.item7,\r\n image: 'profile-back-4.png',\r\n priority: 'low',\r\n title: 'Purchase Requisitions, Adjustments, and Transfers.'\r\n },\r\n {\r\n assign: profileIdsData.profile1,\r\n attachments: [],\r\n description: 'Content of item 8',\r\n dueDate: add(new Date(), { days: 17 }),\r\n id: itemIdsData.item8,\r\n image: false,\r\n priority: 'low',\r\n title: 'Attendance checking & homework details'\r\n },\r\n {\r\n assign: profileIdsData.profile3,\r\n attachments: [],\r\n commentIds: [commentIdsData.comment3],\r\n description: 'Content of item 9',\r\n dueDate: add(new Date(), { days: 8 }),\r\n id: itemIdsData.item9,\r\n image: false,\r\n priority: 'high',\r\n title: 'Admission, Staff & Schedule management'\r\n },\r\n {\r\n assign: profileIdsData.profile2,\r\n attachments: [],\r\n commentIds: [commentIdsData.comment5],\r\n description: 'Content of item 10',\r\n dueDate: add(new Date(), { days: 12 }),\r\n id: itemIdsData.item10,\r\n image: false,\r\n priority: 'low',\r\n title: 'Handling breaking changes'\r\n }\r\n];\r\n\r\n// columns data\r\nconst columnIdsData = {\r\n column1: 'column-1',\r\n column2: 'column-2',\r\n column3: 'column-3',\r\n column4: 'column-4'\r\n};\r\n\r\nconst columnsData: KanbanColumn[] = [\r\n {\r\n id: columnIdsData.column1,\r\n title: 'New',\r\n itemIds: [itemIdsData.item1, itemIdsData.item8, itemIdsData.item9]\r\n },\r\n {\r\n id: columnIdsData.column2,\r\n title: 'Active',\r\n itemIds: [itemIdsData.item3, itemIdsData.item4, itemIdsData.item5]\r\n },\r\n {\r\n id: columnIdsData.column3,\r\n title: 'Resolved',\r\n itemIds: [itemIdsData.item2]\r\n },\r\n {\r\n id: columnIdsData.column4,\r\n title: 'Closed',\r\n itemIds: [itemIdsData.item6, itemIdsData.item7, itemIdsData.item10]\r\n }\r\n];\r\n\r\nconst columnsOrderData: string[] = [columnIdsData.column1, columnIdsData.column2, columnIdsData.column3, columnIdsData.column4];\r\n\r\n// user story data\r\nconst userStoryIdsData = {\r\n userStory1: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n userStory2: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n userStory3: `${chance.integer({ min: 1000, max: 9999 })}`,\r\n userStory4: `${chance.integer({ min: 1000, max: 9999 })}`\r\n};\r\n\r\nconst userStoryOrderData: string[] = [\r\n userStoryIdsData.userStory1,\r\n userStoryIdsData.userStory2,\r\n userStoryIdsData.userStory3,\r\n userStoryIdsData.userStory4\r\n];\r\n\r\nconst userStoryData: KanbanUserStory[] = [\r\n {\r\n acceptance: '',\r\n assign: profileIdsData.profile2,\r\n columnId: columnIdsData.column4,\r\n commentIds: [commentIdsData.comment5],\r\n description: chance.sentence(),\r\n dueDate: add(new Date(), { days: 12 }),\r\n id: userStoryIdsData.userStory1,\r\n priority: 'low',\r\n title: 'School Management Backend',\r\n itemIds: [itemIdsData.item1, itemIdsData.item8, itemIdsData.item9]\r\n },\r\n {\r\n acceptance: chance.sentence(),\r\n assign: profileIdsData.profile3,\r\n columnId: columnIdsData.column1,\r\n commentIds: [commentIdsData.comment3],\r\n description: chance.sentence(),\r\n dueDate: add(new Date(), { days: 8 }),\r\n id: userStoryIdsData.userStory2,\r\n priority: 'high',\r\n title: 'Inventory Implementation & Design',\r\n itemIds: [itemIdsData.item2, itemIdsData.item7]\r\n },\r\n {\r\n acceptance: chance.sentence({ words: 10 }),\r\n assign: profileIdsData.profile3,\r\n columnId: columnIdsData.column4,\r\n commentIds: [commentIdsData.comment3, commentIdsData.comment4],\r\n description: chance.sentence(),\r\n dueDate: set(new Date(), { hours: 10, minutes: 30 }),\r\n id: userStoryIdsData.userStory3,\r\n priority: 'medium',\r\n title: 'Theme migration from v4 to v5',\r\n itemIds: [itemIdsData.item3, itemIdsData.item6, itemIdsData.item10]\r\n },\r\n {\r\n acceptance: chance.sentence({ words: 5 }),\r\n assign: profileIdsData.profile1,\r\n columnId: columnIdsData.column3,\r\n commentIds: [commentIdsData.comment4],\r\n description: chance.sentence(),\r\n dueDate: sub(new Date(), { days: 8 }),\r\n id: userStoryIdsData.userStory4,\r\n priority: 'low',\r\n title: 'Lunch Beauty Application',\r\n itemIds: [itemIdsData.item4, itemIdsData.item5]\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/kanban/columns').reply(200, { columns: columnsData });\r\n\r\nservices.onGet('/api/kanban/columns-order').reply(200, { columnsOrder: columnsOrderData });\r\n\r\nservices.onGet('/api/kanban/comments').reply(200, { comments: commentsData });\r\n\r\nservices.onGet('/api/kanban/profiles').reply(200, { profiles: profilesData });\r\n\r\nservices.onGet('/api/kanban/items').reply(200, { items: itemsData });\r\n\r\nservices.onGet('/api/kanban/userstory').reply(200, { userStory: userStoryData });\r\n\r\nservices.onGet('/api/kanban/userstory-order').reply(200, { userStoryOrder: userStoryOrderData });\r\n\r\nservices.onPost('/api/kanban/add-column').reply((config) => {\r\n try {\r\n const { column, columns, columnsOrder } = JSON.parse(config.data);\r\n const result = {\r\n columns: [...columns, column],\r\n columnsOrder: [...columnsOrder, column.id]\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/edit-column').reply((config) => {\r\n try {\r\n const { column, columns } = JSON.parse(config.data);\r\n\r\n columns.splice(\r\n columns.findIndex((c: KanbanColumn) => c.id === column.id),\r\n 1,\r\n column\r\n );\r\n\r\n return [200, { columns }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/update-column-order').reply((config) => {\r\n try {\r\n const { columnsOrder } = JSON.parse(config.data);\r\n return [200, { columnsOrder }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/delete-column').reply((config) => {\r\n try {\r\n const { columnId, columnsOrder, columns } = JSON.parse(config.data);\r\n\r\n columns.splice(\r\n columns.findIndex((column: KanbanColumn) => column.id === columnId),\r\n 1\r\n );\r\n\r\n columnsOrder.splice(\r\n columnsOrder.findIndex((cId: string) => cId === columnId),\r\n 1\r\n );\r\n\r\n return [200, { columns, columnsOrder }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/add-item').reply((config) => {\r\n try {\r\n const { columnId, columns, item, items, storyId, userStory } = JSON.parse(config.data);\r\n let newColumn = columns;\r\n if (columnId !== '0') {\r\n newColumn = columns.map((column: KanbanColumn) => {\r\n if (column.id === columnId) {\r\n return {\r\n ...column,\r\n itemIds: column.itemIds ? [...column.itemIds, item.id] : [item.id]\r\n };\r\n }\r\n return column;\r\n });\r\n }\r\n\r\n let newUserStory = userStory;\r\n if (storyId !== '0') {\r\n newUserStory = userStory.map((story: KanbanUserStory) => {\r\n if (story.id === storyId) {\r\n return { ...story, itemIds: story.itemIds ? [...story.itemIds, item.id] : [item.id] };\r\n }\r\n return story;\r\n });\r\n }\r\n\r\n const result = {\r\n items: [...items, item],\r\n columns: newColumn,\r\n userStory: newUserStory\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/edit-item').reply((config) => {\r\n try {\r\n const { items, item, userStory, storyId, columns, columnId } = JSON.parse(config.data);\r\n items.splice(\r\n items.findIndex((i: KanbanItem) => i.id === item.id),\r\n 1,\r\n item\r\n );\r\n\r\n let newUserStory = userStory;\r\n if (storyId) {\r\n const currentStory = userStory.filter(\r\n (story: KanbanUserStory) => story.itemIds.filter((itemId: string) => itemId === item.id)[0]\r\n )[0];\r\n if (currentStory !== undefined && currentStory.id !== storyId) {\r\n newUserStory = userStory.map((story: KanbanUserStory) => {\r\n if (story.itemIds.filter((itemId: string) => itemId === item.id)[0]) {\r\n return {\r\n ...story,\r\n itemIds: story.itemIds.filter((itemId: string) => itemId !== item.id)\r\n };\r\n }\r\n if (story.id === storyId) {\r\n return {\r\n ...story,\r\n itemIds: story.itemIds ? [...story.itemIds, item.id] : [item.id]\r\n };\r\n }\r\n return story;\r\n });\r\n }\r\n\r\n if (currentStory === undefined) {\r\n newUserStory = userStory.map((story: KanbanUserStory) => {\r\n if (story.id === storyId) {\r\n return {\r\n ...story,\r\n itemIds: story.itemIds ? [...story.itemIds, item.id] : [item.id]\r\n };\r\n }\r\n return story;\r\n });\r\n }\r\n }\r\n\r\n let newColumn = columns;\r\n if (columnId) {\r\n const currentColumn = columns.filter(\r\n (column: KanbanColumn) => column.itemIds.filter((itemId: string) => itemId === item.id)[0]\r\n )[0];\r\n if (currentColumn !== undefined && currentColumn.id !== columnId) {\r\n newColumn = columns.map((column: KanbanColumn) => {\r\n if (column.itemIds.filter((itemId: string) => itemId === item.id)[0]) {\r\n return {\r\n ...column,\r\n itemIds: column.itemIds.filter((itemId: string) => itemId !== item.id)\r\n };\r\n }\r\n if (column.id === columnId) {\r\n return {\r\n ...column,\r\n itemIds: column.itemIds ? [...column.itemIds, item.id] : [item.id]\r\n };\r\n }\r\n return column;\r\n });\r\n }\r\n\r\n if (currentColumn === undefined) {\r\n newColumn = columns.map((column: KanbanColumn) => {\r\n if (column.id === columnId) {\r\n return {\r\n ...column,\r\n itemIds: column.itemIds ? [...column.itemIds, item.id] : [item.id]\r\n };\r\n }\r\n return column;\r\n });\r\n }\r\n }\r\n\r\n const result = {\r\n items,\r\n columns: newColumn,\r\n userStory: newUserStory\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/update-item-order').reply((config) => {\r\n try {\r\n const { columns } = JSON.parse(config.data);\r\n return [200, { columns }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/select-item').reply((config) => {\r\n try {\r\n const { selectedItem } = JSON.parse(config.data);\r\n return [200, { selectedItem }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/add-item-comment').reply((config) => {\r\n try {\r\n const { items, itemId, comment, comments } = JSON.parse(config.data);\r\n\r\n const newItems = items.map((item: KanbanItem) => {\r\n if (item.id === itemId) {\r\n return {\r\n ...item,\r\n commentIds: item.commentIds ? [...item.commentIds, comment.id] : [comment.id]\r\n };\r\n }\r\n return item;\r\n });\r\n\r\n const result = {\r\n items: newItems,\r\n comments: [...comments, comment]\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/delete-item').reply((config) => {\r\n try {\r\n const { columns, itemId, userStory, items } = JSON.parse(config.data);\r\n\r\n const newColumn = columns.map((column: KanbanColumn) => {\r\n const itemIds = column.itemIds.filter((id: string) => id !== itemId);\r\n return {\r\n ...column,\r\n itemIds\r\n };\r\n });\r\n\r\n const newUserStory = userStory.map((story: KanbanUserStory) => {\r\n const itemIds = story.itemIds.filter((id: string) => id !== itemId);\r\n return {\r\n ...story,\r\n itemIds\r\n };\r\n });\r\n\r\n items.splice(\r\n items.findIndex((item: KanbanItem) => item.id === itemId),\r\n 1\r\n );\r\n\r\n const result = {\r\n items,\r\n columns: newColumn,\r\n userStory: newUserStory\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/add-story').reply((config) => {\r\n try {\r\n const { userStory, story, userStoryOrder } = JSON.parse(config.data);\r\n\r\n const result = {\r\n userStory: [...userStory, story],\r\n userStoryOrder: [...userStoryOrder, story.id]\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/edit-story').reply((config) => {\r\n try {\r\n const { userStory, story } = JSON.parse(config.data);\r\n\r\n userStory.splice(\r\n userStory.findIndex((s: KanbanUserStory) => s.id === story.id),\r\n 1,\r\n story\r\n );\r\n\r\n const result = {\r\n userStory\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/update-story-order').reply((config) => {\r\n try {\r\n const { userStoryOrder } = JSON.parse(config.data);\r\n return [200, { userStoryOrder }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/update-storyitem-order').reply((config) => {\r\n try {\r\n const { userStory } = JSON.parse(config.data);\r\n return [200, { userStory }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/add-story-comment').reply((config) => {\r\n try {\r\n const { userStory, storyId, comment, comments } = JSON.parse(config.data);\r\n\r\n const newUserStory = userStory.map((story: KanbanUserStory) => {\r\n if (story.id === storyId) {\r\n return {\r\n ...story,\r\n commentIds: story.commentIds ? [...story.commentIds, comment.id] : [comment.id]\r\n };\r\n }\r\n return story;\r\n });\r\n\r\n const result = {\r\n userStory: newUserStory,\r\n comments: [...comments, comment]\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n\r\nservices.onPost('/api/kanban/delete-story').reply((config) => {\r\n try {\r\n const { userStory, storyId, userStoryOrder } = JSON.parse(config.data);\r\n\r\n userStory.splice(\r\n userStory.findIndex((story: KanbanUserStory) => story.id === storyId),\r\n 1\r\n );\r\n\r\n userStoryOrder.splice(\r\n userStoryOrder.findIndex((s: string) => s === storyId),\r\n 1\r\n );\r\n\r\n const result = {\r\n userStory,\r\n userStoryOrder\r\n };\r\n\r\n return [200, { ...result }];\r\n } catch (err) {\r\n return [500, { message: 'Internal server error' }];\r\n }\r\n});\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst Manufacturers = [\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n },\r\n {\r\n id: '10011',\r\n manufacturer: 'Savaria',\r\n name: 'Savaria ',\r\n phone: '+1-917-440-9658',\r\n conatctperson: 'Don Peterson ',\r\n modelscount: '12',\r\n dealerscount: '2',\r\n jobscount: '23'\r\n }\r\n];\r\n// ==============================|| MOCK SERVICES ||============================== //\r\nservices.onGet('/api/manufacturers/manufacturer/list').reply(200, { Manufacturers });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst Dealers = [\r\n {\r\n id: '10011',\r\n name: 'Dealer 1 ',\r\n address: '97 S Timber Rd Hollad PA 18966',\r\n dealername: 'David Sterling',\r\n dealerphone: '+1-917-440-3563',\r\n servicephone: '+1-917-440-3563',\r\n dealermail: 'Main@delaer1.com',\r\n dealermailalert: '1'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Dealer 2 ',\r\n address: '97 S Timber Rd Hollad PA 18966',\r\n dealername: 'David Sterling',\r\n dealerphone: '+1-917-440-3563',\r\n servicephone: '+1-917-440-3563',\r\n dealermail: 'Main@delaer1.com',\r\n dealermailalert: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Dealer 3',\r\n address: '97 S Timber Rd Hollad PA 18966',\r\n dealername: 'David Sterling',\r\n dealerphone: '+1-917-440-3563',\r\n servicephone: '+1-917-440-3563',\r\n dealermail: 'Main@delaer1.com',\r\n dealermailalert: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Dealer 4 ',\r\n address: '97 S Timber Rd Hollad PA 18966',\r\n dealername: 'David Sterling',\r\n dealerphone: '+1-917-440-3563',\r\n servicephone: '+1-917-440-3563',\r\n dealermail: 'Main@delaer1.com',\r\n dealermailalert: '1'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Dealer 5 ',\r\n address: '97 S Timber Rd Hollad PA 18966',\r\n dealername: 'David Sterling',\r\n dealerphone: '+1-917-440-3563',\r\n servicephone: '+1-917-440-3563',\r\n dealermail: 'Main@delaer1.com',\r\n dealermailalert: '1'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Dealer 6 ',\r\n address: '97 S Timber Rd Hollad PA 18966',\r\n dealername: 'David Sterling',\r\n dealerphone: '+1-917-440-3563',\r\n servicephone: '+1-917-440-3563',\r\n dealermail: 'Main@delaer1.com',\r\n dealermailalert: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Dealer 7 ',\r\n address: '97 S Timber Rd Hollad PA 18966',\r\n dealername: 'David Sterling',\r\n dealerphone: '+1-917-440-3563',\r\n servicephone: '+1-917-440-3563',\r\n dealermail: 'Main@delaer1.com',\r\n dealermailalert: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Dealer 8 ',\r\n address: '97 S Timber Rd Hollad PA 18966',\r\n dealername: 'David Sterling',\r\n dealerphone: '+1-917-440-3563',\r\n servicephone: '+1-917-440-3563',\r\n dealermail: 'Main@delaer1.com',\r\n dealermailalert: '1'\r\n }\r\n];\r\n// ==============================|| MOCK SERVICES ||============================== //\r\nservices.onGet('/api/manufacturers/dealers/list').reply(200, { Dealers });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst ManuJobs = [\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: '510-5565-00'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: 'Unassigned'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: '510-5565-00'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: '510-5565-00'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: '510-5565-00'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: '510-5565-00'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: 'Unassigned'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: '510-5565-00'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: 'Unassigned'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: '510-5565-00'\r\n },\r\n {\r\n id: '10011',\r\n number: '1000-52565-65544-1242 ',\r\n name: 'Sample Job',\r\n model: 'Eclipse',\r\n dealer: 'Dealer 1',\r\n iotcontroler: '510-5565-00'\r\n }\r\n];\r\n// ==============================|| MOCK SERVICES ||============================== //\r\nservices.onGet('/api/manufacturers/manujobs/list').reply(200, { ManuJobs });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst Models = [\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10012',\r\n name: 'Infinity ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n },\r\n {\r\n id: '10011',\r\n name: 'Eclipse ',\r\n description: 'Eclipse Home Evevator'\r\n }\r\n];\r\n// ==============================|| MOCK SERVICES ||============================== //\r\nservices.onGet('/api/manufacturers/models/list').reply(200, { Models });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst DocsImported = [\r\n {\r\n docname: 'User Manual '\r\n },\r\n {\r\n docname: 'Technical Dodument '\r\n },\r\n {\r\n docname: 'Installation Guide'\r\n }\r\n];\r\n// ==============================|| MOCK SERVICES ||============================== //\r\nservices.onGet('/api/manufacturers/docs/list').reply(200, { DocsImported });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst Users = [\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10012',\r\n usercode: 'user1@savaria.com ',\r\n name: 'User One',\r\n manufacturer: 'Savaria 2',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10013',\r\n usercode: 'user2@savaria.com ',\r\n name: 'User Two',\r\n manufacturer: 'Savaria',\r\n dealer: 'All',\r\n role: 'User',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'dealer@taleng.com ',\r\n name: 'Delaer ',\r\n manufacturer: 'Saveria',\r\n dealer: 'Delaer One',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n },\r\n {\r\n id: '10011',\r\n usercode: 'moti@taleng.com ',\r\n name: 'Moti Titel',\r\n manufacturer: 'All',\r\n dealer: 'All',\r\n role: 'Admin',\r\n status: 'Active',\r\n lastloginat: '15-Jun-2022 13:42'\r\n }\r\n];\r\n// ==============================|| MOCK SERVICES ||============================== //\r\nservices.onGet('/api/manufacturers/users/list').reply(200, { Users });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst VariablesList = [\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '1'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '1'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '1'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '0'\r\n },\r\n {\r\n id: '10011',\r\n name: 'MSC ',\r\n description: 'IOT Variable Description of the bla blla bla ',\r\n displaytype: 'On/Off',\r\n iotfield: 'MSC',\r\n dbfield: 'MSC',\r\n isstatic: '0'\r\n }\r\n];\r\n// ==============================|| MOCK SERVICES ||============================== //\r\nservices.onGet('/api/manufacturers/variables/list').reply(200, { VariablesList });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst VarValuesList = [\r\n {\r\n id: '10011',\r\n value: '0 ',\r\n description: 'The Elevator Door Is Closed',\r\n errortype: '',\r\n errordescription: '',\r\n microhelp: '',\r\n notify: '0'\r\n },\r\n {\r\n id: '10011',\r\n value: '1',\r\n description: 'The Elevator Door Is Opend',\r\n errortype: '',\r\n errordescription: '',\r\n microhelp: '',\r\n notify: '0'\r\n },\r\n {\r\n id: '10011',\r\n value: '2',\r\n description: 'The Elevator Door Is Stuck',\r\n errortype: 'Alert',\r\n errordescription: 'The Elevetor Door is in Error',\r\n microhelp: 'Try To Rest the Elevator',\r\n notify: '1'\r\n }\r\n];\r\n// ==============================|| MOCK SERVICES ||============================== //\r\nservices.onGet('/api/manufacturers/varvalues/list').reply(200, { VarValuesList });\r\n","import services from 'utils/mockAdapter';\r\n// user list\r\nconst statics = [\r\n {\r\n param: 'Software Version',\r\n paramvalue: '2.09.98',\r\n parmdefault: '',\r\n lastchanged: '22-Jan-2022 19:21'\r\n },\r\n {\r\n param: 'Total Trip Counters',\r\n paramvalue: '313',\r\n parmdefault: '',\r\n lastchanged: '22-Jan-2022 19:21'\r\n },\r\n {\r\n param: 'Trips From Last Service',\r\n paramvalue: '89',\r\n parmdefault: '',\r\n lastchanged: '22-Jan-2022 19:21'\r\n },\r\n {\r\n param: 'Total Run Timer',\r\n paramvalue: '15',\r\n parmdefault: '',\r\n lastchanged: '22-Jan-2022 19:21'\r\n },\r\n {\r\n param: 'Laset Service Timer',\r\n paramvalue: '2.09.98',\r\n parmdefault: '',\r\n lastchanged: '20-Jul-2021 15:52'\r\n },\r\n {\r\n param: 'Releveling Count',\r\n paramvalue: '43',\r\n parmdefault: '',\r\n lastchanged: '22-Jan-2022 19:21'\r\n },\r\n {\r\n param: 'Door Cycling Counter',\r\n paramvalue: '180',\r\n parmdefault: '',\r\n lastchanged: '22-Jan-2022 19:21'\r\n }\r\n];\r\n\r\n// ==============================|| MOCK SERVICES ||============================== //\r\n\r\nservices.onGet('/api/staticlist/list').reply(200, { statics });\r\n","import { Link as RouterLink } from 'react-router-dom';\r\n\r\n// material-ui\r\nimport { Link } from '@mui/material';\r\n\r\n// project imports\r\nimport { DASHBOARD_PATH } from 'config';\r\nimport Logo from 'ui-component/Logo';\r\n\r\n// ==============================|| MAIN LOGO ||============================== //\r\n\r\nconst LogoSection = () => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default LogoSection;\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport {\r\n Avatar,\r\n Box,\r\n ClickAwayListener,\r\n Grid,\r\n List,\r\n ListItemButton,\r\n ListItemText,\r\n Paper,\r\n Popper,\r\n Typography,\r\n useMediaQuery\r\n} from '@mui/material';\r\n\r\n// project imports\r\nimport Transitions from 'ui-component/extended/Transitions';\r\n\r\n// assets\r\nimport TranslateTwoToneIcon from '@mui/icons-material/TranslateTwoTone';\r\nimport useConfig from 'hooks/useConfig';\r\n\r\n// ==============================|| LOCALIZATION ||============================== //\r\n\r\nconst LocalizationSection = () => {\r\n const { borderRadius, locale, onChangeLocale } = useConfig();\r\n\r\n const theme = useTheme();\r\n const matchesXs = useMediaQuery(theme.breakpoints.down('md'));\r\n\r\n const [open, setOpen] = useState(false);\r\n const anchorRef = useRef(null);\r\n const [language, setLanguage] = useState(locale);\r\n\r\n const handleListItemClick = (\r\n event: React.MouseEvent | React.MouseEvent | undefined,\r\n lng: string\r\n ) => {\r\n setLanguage(lng);\r\n onChangeLocale(lng);\r\n setOpen(false);\r\n };\r\n\r\n const handleToggle = () => {\r\n setOpen((prevOpen) => !prevOpen);\r\n };\r\n\r\n const handleClose = (event: MouseEvent | TouchEvent) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n setOpen(false);\r\n };\r\n\r\n const prevOpen = useRef(open);\r\n useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current.focus();\r\n }\r\n prevOpen.current = open;\r\n }, [open]);\r\n\r\n useEffect(() => {\r\n setLanguage(locale);\r\n }, [locale]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {language !== 'en' && (\r\n \r\n {language}\r\n \r\n )}\r\n {language === 'en' && }\r\n \r\n \r\n\r\n \r\n {({ TransitionProps }) => (\r\n \r\n \r\n \r\n {open && (\r\n \r\n handleListItemClick(event, 'en')}>\r\n \r\n English\r\n \r\n (UK)\r\n \r\n \r\n }\r\n />\r\n \r\n handleListItemClick(event, 'fr')}>\r\n \r\n français\r\n \r\n (French)\r\n \r\n \r\n }\r\n />\r\n \r\n handleListItemClick(event, 'ro')}>\r\n \r\n Română\r\n \r\n (Romanian)\r\n \r\n \r\n }\r\n />\r\n \r\n handleListItemClick(event, 'zh')}>\r\n \r\n 中国人\r\n \r\n (Chinese)\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default LocalizationSection;\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { AppBar, Box, IconButton, ClickAwayListener, Grid, Paper, Popper, Toolbar, useMediaQuery } from '@mui/material';\r\n\r\n// project imports\r\nimport LocalizationSection from '../LocalizationSection';\r\nimport Transitions from 'ui-component/extended/Transitions';\r\n\r\n// assets\r\nimport { IconDotsVertical } from '@tabler/icons';\r\n\r\n// ==============================|| MOBILE HEADER ||============================== //\r\n\r\nconst MobileSection = () => {\r\n const theme = useTheme();\r\n const matchMobile = useMediaQuery(theme.breakpoints.down('md'));\r\n\r\n const [open, setOpen] = useState(false);\r\n /**\r\n * anchorRef is used on different componets and specifying one type leads to other components throwing an error\r\n * */\r\n const anchorRef = useRef(null);\r\n\r\n const handleToggle = () => {\r\n setOpen((prevOpen) => !prevOpen);\r\n };\r\n\r\n const handleClose = (event: MouseEvent | TouchEvent) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n setOpen(false);\r\n };\r\n\r\n const prevOpen = useRef(open);\r\n useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current.focus();\r\n }\r\n\r\n prevOpen.current = open;\r\n }, [open]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {({ TransitionProps }) => (\r\n \r\n \r\n \r\n {open && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default MobileSection;\r\n","import { useEffect, useRef, useState } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport {\r\n Avatar,\r\n Box,\r\n Card,\r\n CardContent,\r\n Chip,\r\n ClickAwayListener,\r\n Divider,\r\n Grid,\r\n InputAdornment,\r\n List,\r\n ListItemButton,\r\n ListItemIcon,\r\n ListItemText,\r\n OutlinedInput,\r\n Paper,\r\n Popper,\r\n Stack,\r\n Switch,\r\n Typography\r\n} from '@mui/material';\r\n\r\n// third-party\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\n\r\n// project imports\r\nimport MainCard from 'ui-component/cards/MainCard';\r\nimport Transitions from 'ui-component/extended/Transitions';\r\nimport UpgradePlanCard from './UpgradePlanCard';\r\nimport useAuth from 'hooks/useAuth';\r\nimport User1 from 'assets/images/users/user-round.svg';\r\n\r\n// assets\r\nimport { IconLogout, IconSearch, IconSettings, IconUser } from '@tabler/icons';\r\nimport useConfig from 'hooks/useConfig';\r\n\r\n// ==============================|| PROFILE MENU ||============================== //\r\n\r\nconst ProfileSection = () => {\r\n const theme = useTheme();\r\n const { borderRadius } = useConfig();\r\n const navigate = useNavigate();\r\n\r\n const [sdm, setSdm] = useState(true);\r\n const [value, setValue] = useState('');\r\n const [notification, setNotification] = useState(false);\r\n const [selectedIndex, setSelectedIndex] = useState(-1);\r\n const { logout, user } = useAuth();\r\n const [open, setOpen] = useState(false);\r\n /**\r\n * anchorRef is used on different components and specifying one type leads to other components throwing an error\r\n * */\r\n const anchorRef = useRef(null);\r\n const handleLogout = async () => {\r\n try {\r\n await logout();\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n const handleListItemClick = (event: React.MouseEvent, index: number, route: string = '') => {\r\n setSelectedIndex(index);\r\n handleClose(event);\r\n\r\n if (route && route !== '') {\r\n navigate(route);\r\n }\r\n };\r\n const handleToggle = () => {\r\n setOpen((prevOpen) => !prevOpen);\r\n };\r\n const handleClose = (event: React.MouseEvent | MouseEvent | TouchEvent) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n setOpen(false);\r\n };\r\n const prevOpen = useRef(open);\r\n useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current.focus();\r\n }\r\n\r\n prevOpen.current = open;\r\n }, [open]);\r\n\r\n return (\r\n <>\r\n \r\n // }\r\n label={}\r\n variant=\"outlined\"\r\n ref={anchorRef}\r\n aria-controls={open ? 'menu-list-grow' : undefined}\r\n aria-haspopup=\"true\"\r\n onClick={handleToggle}\r\n color=\"primary\"\r\n />\r\n\r\n \r\n {({ TransitionProps }) => (\r\n \r\n \r\n \r\n {open && (\r\n \r\n {/* {user && user.name && (\r\n \r\n \r\n \r\n \r\n {user?.name}\r\n \r\n \r\n \r\n \r\n \r\n )} */}\r\n\r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n Logout} />\r\n \r\n \r\n \r\n {/* */}\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ProfileSection;\r\n","import { useEffect, useState } from 'react';\r\n// material-ui\r\nimport { Chip } from '@mui/material';\r\nimport { useTheme } from '@mui/material/styles';\r\n\r\nimport { AccessTimeOutlined } from '@mui/icons-material';\r\n\r\n\r\n\r\n\r\nconst UtcTime = () => {\r\n const theme = useTheme();\r\n let now = new Date();\r\n \r\n const timeToString = (time: Date) =>{\r\n const h = (`0${time.getUTCHours()}`).slice(-2);\r\n const m = (`0${time.getUTCMinutes()}`).slice(-2);\r\n const s = (`0${time.getUTCSeconds()}`).slice(-2);\r\n \r\n return `${h}:${m}:${s}`\r\n }\r\n const [currUtcTime, setCurrUtcTime] = useState(timeToString(now));\r\n \r\n let fetch_internal: NodeJS.Timeout;\r\n useEffect(() => {\r\n\r\n handleUpdateTime();\r\n // this will clear Timeout\r\n // when component unmount like in willComponentUnmount\r\n // and show will not upate time\r\n return () => {\r\n clearTimeout(fetch_internal);\r\n };\r\n }, []);\r\n\r\n const handleUpdateTime = () => {\r\n fetch_internal = setTimeout(() => {\r\n now = new Date();\r\n setCurrUtcTime(timeToString(now));\r\n handleUpdateTime();\r\n }, 500);\r\n};\r\n\r\n return }\r\n/>;\r\n};\r\n\r\nexport default UtcTime;\r\n","// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Avatar, Box, Typography } from '@mui/material';\r\n\r\n// project imports\r\nimport LogoSection from '../LogoSection';\r\nimport MobileSection from './MobileSection';\r\nimport ProfileSection from './ProfileSection';\r\n// import LocalizationSection from './LocalizationSection';\r\n// import MegaMenuSection from './MegaMenuSection';\r\nimport { useDispatch, useSelector } from 'store';\r\nimport { openDrawer } from 'store/slices/menu';\r\n\r\n// assets\r\nimport { IconMenu2 } from '@tabler/icons';\r\nimport UtcTime from 'ui-component/extended/UtcTime';\r\n\r\n// ==============================|| MAIN NAVBAR / HEADER ||============================== //\r\n\r\nconst Header = () => {\r\n const theme = useTheme();\r\n\r\n const dispatch = useDispatch();\r\n const { drawerOpen } = useSelector((state) => state.menu);\r\n\r\n return (\r\n <>\r\n {/* logo & toggler button */}\r\n \r\n \r\n   Tal Engineering LTD\r\n \r\n dispatch(openDrawer(!drawerOpen))}\r\n color=\"inherit\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n          TALcontrols.cloud IoT Management™{' '}\r\n \r\n \r\n\r\n {/* header search */}\r\n \r\n \r\n \r\n {/* mega-menu */}\r\n\r\n {/* live customization & localization */}\r\n {/* notification & profile */}\r\n \r\n\r\n {/* mobile header */}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Header;\r\n","import { ForwardRefExoticComponent, RefAttributes, forwardRef, useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Avatar, Chip, ListItemButton, ListItemIcon, ListItemText, Typography, useMediaQuery } from '@mui/material';\r\n\r\n// project imports\r\nimport useConfig from 'hooks/useConfig';\r\nimport { useDispatch, useSelector } from 'store';\r\nimport { activeItem, openDrawer } from 'store/slices/menu';\r\n\r\n// assets\r\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\r\n\r\n// types\r\nimport { LinkTarget, NavItemType } from 'types';\r\n\r\ninterface NavItemProps {\r\n item: NavItemType;\r\n level: number;\r\n}\r\n\r\n// ==============================|| SIDEBAR MENU LIST ITEMS ||============================== //\r\n\r\nconst NavItem = ({ item, level }: NavItemProps) => {\r\n const theme = useTheme();\r\n const matchesSM = useMediaQuery(theme.breakpoints.down('lg'));\r\n\r\n const { borderRadius } = useConfig();\r\n const dispatch = useDispatch();\r\n const { openItem } = useSelector((state) => state.menu);\r\n\r\n const Icon = item?.icon!;\r\n const itemIcon = item?.icon ? (\r\n \r\n ) : (\r\n id === item?.id) > -1 ? 8 : 6,\r\n height: openItem.findIndex((id) => id === item?.id) > -1 ? 8 : 6\r\n }}\r\n fontSize={level > 0 ? 'inherit' : 'medium'}\r\n />\r\n );\r\n\r\n let itemTarget: LinkTarget = '_self';\r\n if (item.target) {\r\n itemTarget = '_blank';\r\n }\r\n\r\n let listItemProps: {\r\n component: ForwardRefExoticComponent> | string;\r\n href?: string;\r\n target?: LinkTarget;\r\n } = { component: forwardRef((props, ref) => ) };\r\n if (item?.external) {\r\n listItemProps = { component: 'a', href: item.url, target: itemTarget };\r\n }\r\n\r\n const itemHandler = (id: string) => {\r\n dispatch(activeItem([id]));\r\n matchesSM && dispatch(openDrawer(false));\r\n };\r\n\r\n // active menu item on page load\r\n useEffect(() => {\r\n const currentIndex = document.location.pathname\r\n .toString()\r\n .split('/')\r\n .findIndex((id) => id === item.id);\r\n if (currentIndex > -1) {\r\n dispatch(activeItem([item.id!]));\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n return (\r\n 1 ? 'transparent !important' : 'inherit',\r\n py: level > 1 ? 1 : 1.25,\r\n pl: `${level * 24}px`\r\n }}\r\n selected={openItem?.findIndex((id) => id === item.id) > -1}\r\n onClick={() => itemHandler(item.id!)}\r\n >\r\n {itemIcon}\r\n id === item.id) > -1 ? 'h5' : 'body1'} color=\"inherit\">\r\n {item.title}\r\n \r\n }\r\n secondary={\r\n item.caption && (\r\n \r\n {item.caption}\r\n \r\n )\r\n }\r\n />\r\n {item.chip && (\r\n {item.chip.avatar}}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default NavItem;\r\n","import { useEffect, useState } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Collapse, List, ListItemButton, ListItemIcon, ListItemText, Typography } from '@mui/material';\r\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\r\n\r\n// project imports\r\nimport NavItem from '../NavItem';\r\nimport { NavGroupProps } from '../NavGroup';\r\nimport useConfig from 'hooks/useConfig';\r\n\r\n// assets\r\nimport { IconChevronDown, IconChevronUp } from '@tabler/icons';\r\n\r\n// ==============================|| SIDEBAR MENU LIST COLLAPSE ITEMS ||============================== //\r\n\r\ninterface NavCollapseProps {\r\n menu: NavGroupProps['item'];\r\n level: number;\r\n}\r\n\r\nconst NavCollapse = ({ menu, level }: NavCollapseProps) => {\r\n const theme = useTheme();\r\n const { borderRadius } = useConfig();\r\n\r\n const [open, setOpen] = useState(false);\r\n const [selected, setSelected] = useState(null);\r\n\r\n const handleClick = () => {\r\n setOpen(!open);\r\n setSelected(!selected ? menu.id : null);\r\n };\r\n\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n const childrens = menu.children ? menu.children : [];\r\n childrens.forEach((item: any) => {\r\n if (pathname && pathname.includes('product-details')) {\r\n if (item.url && item.url.includes('product-details')) {\r\n setOpen(true);\r\n }\r\n }\r\n if (item.url === pathname) {\r\n setOpen(true);\r\n }\r\n });\r\n }, [pathname, menu.children]);\r\n\r\n // menu collapse & item\r\n const menus = menu.children?.map((item) => {\r\n switch (item.type) {\r\n case 'collapse':\r\n return ;\r\n case 'item':\r\n return ;\r\n default:\r\n return (\r\n \r\n Menu Items Error\r\n \r\n );\r\n }\r\n });\r\n\r\n const Icon = menu.icon!;\r\n const menuIcon = menu.icon ? (\r\n \r\n ) : (\r\n 0 ? 'inherit' : 'medium'}\r\n />\r\n );\r\n\r\n return (\r\n <>\r\n 1 ? 'transparent !important' : 'inherit',\r\n py: level > 1 ? 1 : 1.25,\r\n pl: `${level * 24}px`\r\n }}\r\n selected={selected === menu.id}\r\n onClick={handleClick}\r\n >\r\n {menuIcon}\r\n \r\n {menu.title}\r\n \r\n }\r\n secondary={\r\n menu.caption && (\r\n \r\n {menu.caption}\r\n \r\n )\r\n }\r\n />\r\n {open ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {open && (\r\n \r\n {menus}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default NavCollapse;\r\n","import { ReactNode } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Divider, List, Typography } from '@mui/material';\r\n\r\n// project imports\r\nimport NavItem from '../NavItem';\r\nimport NavCollapse from '../NavCollapse';\r\nimport { GenericCardProps } from 'types';\r\nimport useAuth from 'hooks/useAuth';\r\n\r\n// ==============================|| SIDEBAR MENU LIST GROUP ||============================== //\r\n\r\nexport interface NavGroupProps {\r\n item: {\r\n id?: string;\r\n type?: string;\r\n icon?: GenericCardProps['iconPrimary'];\r\n children?: NavGroupProps['item'][];\r\n title?: ReactNode | string;\r\n caption?: ReactNode | string;\r\n color?: 'primary' | 'secondary' | 'default' | undefined;\r\n systemAdminOnly?: boolean; // systemadmin is Admin without manufacturerId\r\n hideFromDealer?: boolean;\r\n hideFromManufacturer?: boolean;\r\n };\r\n}\r\n\r\nconst NavGroup = ({ item }: NavGroupProps) => {\r\n const theme = useTheme();\r\n const { user } = useAuth();\r\n\r\n // menu list collapse & items\r\n // \r\n const items = item.children?.filter((menu) => (menu.systemAdminOnly !== true || (user && user.isAdmin === true && !user.manufacturerId)) &&\r\n (menu.hideFromDealer !== true || (user && !user.dealerId)) &&\r\n (menu.hideFromManufacturer !== true || (user && !user.manufacturerId))).map((menu) => {\r\n\r\n switch (menu.type) {\r\n case 'collapse':\r\n return ;\r\n case 'item':\r\n return ;\r\n default:\r\n return (\r\n \r\n Menu Items Error\r\n \r\n );\r\n }\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {item.title}\r\n {item.caption && (\r\n \r\n {item.caption}\r\n \r\n )}\r\n \r\n )\r\n }\r\n >\r\n {items}\r\n \r\n\r\n {/* group divider */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default NavGroup;\r\n","import { memo } from 'react';\r\n\r\n// material-ui\r\nimport { Button, Box, Typography } from '@mui/material';\r\nimport { CloudDownloadOutlined } from '@mui/icons-material';\r\nimport { GeneralSystemApi } from 'Services/GeneralSystemService';\r\n// project imports\r\nimport NavGroup from './NavGroup';\r\nimport menuItem from 'menu-items';\r\nimport useAuth from 'hooks/useAuth';\r\n\r\n// ==============================|| SIDEBAR MENU LIST ||============================== //\r\n\r\nconst MenuList = () => {\r\n const { user } = useAuth();\r\n \r\n const navItems = menuItem.items.map((item) => {\r\n switch (item.type) {\r\n case 'group':\r\n return ;\r\n default:\r\n return (\r\n \r\n Menu Items Error\r\n \r\n );\r\n }\r\n });\r\n\r\n const handleGetAwsData = () => {\r\n GeneralSystemApi.getAwsData();\r\n };\r\n return (\r\n <>\r\n {navItems}\r\n {user && user.isAdmin && !user.manufacturerId && \r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default memo(MenuList);\r\n","import { memo, useMemo } from 'react';\r\n\r\n// material-ui\r\nimport { useTheme } from '@mui/material/styles';\r\nimport { Box, Drawer, Stack, useMediaQuery } from '@mui/material';\r\n\r\n// third-party\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\n\r\n// project imports\r\nimport MenuList from './MenuList';\r\nimport LogoSection from '../LogoSection';\r\nimport { openDrawer } from 'store/slices/menu';\r\nimport { useDispatch, useSelector } from 'store';\r\nimport { drawerWidth } from 'store/constant';\r\nimport Chip from 'ui-component/extended/Chip';\r\n\r\n// ==============================|| SIDEBAR DRAWER ||============================== //\r\n\r\ninterface SidebarProps {\r\n window?: Window;\r\n}\r\n\r\nconst Sidebar = ({ window }: SidebarProps) => {\r\n const theme = useTheme();\r\n const matchUpMd = useMediaQuery(theme.breakpoints.up('md'));\r\n\r\n const dispatch = useDispatch();\r\n const { drawerOpen } = useSelector((state) => state.menu);\r\n\r\n const logo = useMemo(\r\n () => (\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n []\r\n );\r\n\r\n const drawer = useMemo(\r\n () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [matchUpMd]\r\n );\r\n\r\n const container = window !== undefined ? () => window.document.body : undefined;\r\n\r\n return (\r\n \r\n dispatch(openDrawer(!drawerOpen))}\r\n sx={{\r\n '& .MuiDrawer-paper': {\r\n width: drawerWidth,\r\n background: theme.palette.background.default,\r\n color: theme.palette.text.primary,\r\n borderRight: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n top: '88px'\r\n }\r\n }\r\n }}\r\n ModalProps={{ keepMounted: true }}\r\n color=\"inherit\"\r\n >\r\n {drawerOpen && logo}\r\n {drawerOpen && drawer}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(Sidebar);\r\n","import React, { useMemo } from 'react';\r\nimport { Outlet } from 'react-router-dom';\r\n\r\n// material-ui\r\nimport { styled, useTheme, Theme } from '@mui/material/styles';\r\nimport { AppBar, Box, Container, CssBaseline, Toolbar, useMediaQuery } from '@mui/material';\r\n\r\n// project imports\r\nimport Breadcrumbs from 'ui-component/extended/Breadcrumbs';\r\nimport Header from './Header';\r\nimport Sidebar from './Sidebar';\r\nimport Customization from '../Customization';\r\nimport navigation from 'menu-items';\r\nimport useConfig from 'hooks/useConfig';\r\nimport { drawerWidth } from 'store/constant';\r\nimport { openDrawer } from 'store/slices/menu';\r\nimport { useDispatch, useSelector } from 'store';\r\n\r\n// assets\r\nimport { IconChevronRight } from '@tabler/icons';\r\n\r\ninterface MainStyleProps {\r\n theme: Theme;\r\n open: boolean;\r\n}\r\n\r\n// styles\r\nconst Main = styled('main', { shouldForwardProp: (prop) => prop !== 'open' })(({ theme, open }: MainStyleProps) => ({\r\n ...theme.typography.mainContent,\r\n ...(!open && {\r\n borderBottomLeftRadius: 0,\r\n borderBottomRightRadius: 0,\r\n transition: theme.transitions.create('margin', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.shorter\r\n }),\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: -(drawerWidth - 20),\r\n width: `calc(100% - ${drawerWidth}px)`\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '20px',\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n padding: '16px'\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: '10px',\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n padding: '16px',\r\n marginRight: '10px'\r\n }\r\n }),\r\n ...(open && {\r\n transition: theme.transitions.create('margin', {\r\n easing: theme.transitions.easing.easeOut,\r\n duration: theme.transitions.duration.shorter\r\n }),\r\n marginLeft: 0,\r\n borderBottomLeftRadius: 0,\r\n borderBottomRightRadius: 0,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '20px'\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: '10px'\r\n }\r\n })\r\n}));\r\n\r\n// ==============================|| MAIN LAYOUT ||============================== //\r\n\r\nconst MainLayout = () => {\r\n const theme = useTheme();\r\n const matchDownMd = useMediaQuery(theme.breakpoints.down('lg'));\r\n\r\n const dispatch = useDispatch();\r\n const { drawerOpen } = useSelector((state) => state.menu);\r\n const { container } = useConfig();\r\n\r\n React.useEffect(() => {\r\n dispatch(openDrawer(!matchDownMd));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [matchDownMd]);\r\n\r\n const header = useMemo(\r\n () => (\r\n \r\n
\r\n \r\n ),\r\n []\r\n );\r\n\r\n return (\r\n \r\n \r\n {/* header */}\r\n \r\n {header}\r\n \r\n\r\n {/* drawer */}\r\n \r\n\r\n {/* main content */}\r\n
\r\n {/* breadcrumb */}\r\n {container && (\r\n \r\n \r\n\r\n \r\n \r\n )}\r\n {!container && (\r\n <>\r\n \r\n\r\n \r\n \r\n )}\r\n
\r\n {/* */}\r\n
\r\n );\r\n};\r\n\r\nexport default MainLayout;\r\n","import { Suspense, LazyExoticComponent, ComponentType } from 'react';\r\n\r\n// material-ui\r\nimport { LinearProgressProps } from '@mui/material/LinearProgress';\r\n\r\n// project imports\r\nimport Loader from './Loader';\r\n\r\n// ==============================|| LOADABLE - LAZY LOADING ||============================== //\r\n\r\ninterface LoaderProps extends LinearProgressProps {}\r\n\r\nconst Loadable = (Component: LazyExoticComponent<() => JSX.Element> | ComponentType) => (props: LoaderProps) =>\r\n (\r\n }>\r\n \r\n \r\n );\r\n\r\nexport default Loadable;\r\n","import { useNavigate } from 'react-router-dom';\r\n\r\n// project imports\r\nimport useAuth from 'hooks/useAuth';\r\nimport { GuardProps } from 'types';\r\nimport { useEffect } from 'react';\r\n\r\n// ==============================|| AUTH GUARD ||============================== //\r\n\r\n/**\r\n * Authentication guard for routes\r\n * @param {PropTypes.node} children children element/node\r\n */\r\nconst AuthGuard = ({ children }: GuardProps) => {\r\n const { isLoggedIn } = useAuth();\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n if (!isLoggedIn) {\r\n navigate('login', { replace: true });\r\n }\r\n }, [isLoggedIn, navigate]);\r\n\r\n return children;\r\n};\r\n\r\nexport default AuthGuard;\r\n","import { lazy } from 'react';\r\n\r\n// project imports\r\nimport MainLayout from 'layout/MainLayout';\r\nimport Loadable from 'ui-component/Loadable';\r\nimport AuthGuard from 'utils/route-guard/AuthGuard';\r\n\r\n// dashboard routing\r\nconst DashboardDefault = Loadable(lazy(() => import('views/dashboard/Default')));\r\nconst DashboardAnalytics = Loadable(lazy(() => import('views/dashboard/analytics/index')));\r\n\r\n// widget routing\r\nconst WidgetStatistics = Loadable(lazy(() => import('views/widget/Statistics')));\r\nconst WidgetData = Loadable(lazy(() => import('views/widget/Data')));\r\nconst WidgetChart = Loadable(lazy(() => import('views/widget/Chart')));\r\n\r\n// application - user social & account profile routing\r\nconst AppUserSocialProfile = Loadable(lazy(() => import('views/application/users/social-profile')));\r\nconst AppUserAccountProfile1 = Loadable(lazy(() => import('views/application/users/account-profile/Profile1')));\r\nconst AppUserAccountProfile2 = Loadable(lazy(() => import('views/application/users/account-profile/Profile2')));\r\nconst AppUserAccountProfile3 = Loadable(lazy(() => import('views/application/users/account-profile/Profile3')));\r\n\r\n// Jobs - Jobs routing\r\nconst AppJobsList = Loadable(lazy(() => import('views/application/Jobs/list')));\r\nconst AppJob = Loadable(lazy(() => import('views/application/Jobs/Job')));\r\nconst JobEdit = Loadable(lazy(() => import('views/application/Jobs/JobEdit')));\r\n\r\n// Products - Jobs routing\r\nconst AppProductsList = Loadable(lazy(() => import('views/application/products')));\r\n\r\n// Manufacturers- Manufacturers routing\r\nconst ManufacturersLists = Loadable(lazy(() => import('views/application/manufacturers/manufacturer/list')));\r\nconst ManufacturerInfo = Loadable(lazy(() => import('views/application/manufacturers/manufacturer/Info')));\r\nconst JobsEditInfoRoute = Loadable(lazy(() => import('views/application/manufacturers/manufacturer/job/generalinfo')));\r\nconst HomeOwnerEditRoute = Loadable(lazy(() => import('views/application/manufacturers/manufacturer/job/homeownerinfo')));\r\nconst ImagesEditRoute = Loadable(lazy(() => import('views/application/manufacturers/manufacturer/job/images')));\r\nconst DocsEditRoute = Loadable(lazy(() => import('views/application/manufacturers/manufacturer/job/docs')));\r\n\r\n// Variables- Variables routing\r\nconst VariablesList = Loadable(lazy(() => import('views/application/variables/List')));\r\nconst VariablesEdit = Loadable(lazy(() => import('views/application/variables/IotVariable')));\r\n// const VariablesValues = Loadable(lazy(() => import('views/application/variables/IotVariableValues')));\r\n\r\n// Explorer Structure\r\nconst ExplorerSchemasList = Loadable(lazy(() => import('views/application/explorer-structure/Schemas')));\r\nconst ExplorerTabsList = Loadable(lazy(() => import('views/application/explorer-structure/Tabs')));\r\nconst ExplorerSubjectList = Loadable(lazy(() => import('views/application/explorer-structure/Subjects')));\r\nconst ExplorerSubjectVariablesList = Loadable(lazy(() => import('views/application/explorer-structure/SubjectVariables')));\r\n\r\n// Things- Things routing\r\nconst ThingsList = Loadable(lazy(() => import('views/application/things/list')));\r\nconst ThingInfo = Loadable(lazy(() => import('views/application/things/Info')));\r\n\r\n// IOT User\r\nconst UsersLIst = Loadable(lazy(() => import('views/application/usersiot/userslist')));\r\nconst UserEdit = Loadable(lazy(() => import('views/application/usersiot/useredit/')));\r\n\r\n// application - user cards & list variant routing\r\n\r\nconst AppProfileCardStyle1 = Loadable(lazy(() => import('views/application/users/card/CardStyle1')));\r\nconst AppProfileCardStyle2 = Loadable(lazy(() => import('views/application/users/card/CardStyle2')));\r\nconst AppProfileCardStyle3 = Loadable(lazy(() => import('views/application/users/card/CardStyle3')));\r\nconst AppProfileListStyle1 = Loadable(lazy(() => import('views/application/users/list/Style1')));\r\nconst AppProfileListStyle2 = Loadable(lazy(() => import('views/application/users/list/Style2')));\r\n\r\n// application - customer routing\r\nconst AppCustomerList = Loadable(lazy(() => import('views/application/customer/CustomerList')));\r\nconst AppCustomerOrderList = Loadable(lazy(() => import('views/application/customer/OrderList')));\r\nconst AppCustomerCreateInvoice = Loadable(lazy(() => import('views/application/customer/CreateInvoice')));\r\nconst AppCustomerOrderDetails = Loadable(lazy(() => import('views/application/customer/OrderDetails')));\r\nconst AppCustomerProduct = Loadable(lazy(() => import('views/application/customer/Product')));\r\nconst AppCustomerProductReview = Loadable(lazy(() => import('views/application/customer/ProductReview')));\r\n\r\n// application routing\r\n\r\nconst AppChat = Loadable(lazy(() => import('views/application/chat')));\r\nconst AppKanban = Loadable(lazy(() => import('views/application/kanban')));\r\n\r\nconst AppKanbanBoard = Loadable(lazy(() => import('views/application/kanban/Board')));\r\nconst AppMail = Loadable(lazy(() => import('views/application/mail')));\r\nconst AppCalendar = Loadable(lazy(() => import('views/application/calendar')));\r\nconst AppContactCard = Loadable(lazy(() => import('views/application/contact/Card')));\r\nconst AppContactList = Loadable(lazy(() => import('views/application/contact/List')));\r\n\r\n// application e-commerce pages\r\nconst AppECommProducts = Loadable(lazy(() => import('views/application/e-commerce/Products')));\r\nconst AppECommProductDetails = Loadable(lazy(() => import('views/application/e-commerce/ProductDetails')));\r\nconst AppECommProductList = Loadable(lazy(() => import('views/application/e-commerce/ProductList')));\r\n\r\n\r\n// forms component routing\r\nconst FrmComponentsTextfield = Loadable(lazy(() => import('views/forms/components/TextField')));\r\nconst FrmComponentsButton = Loadable(lazy(() => import('views/forms/components/Button')));\r\nconst FrmComponentsCheckbox = Loadable(lazy(() => import('views/forms/components/Checkbox')));\r\nconst FrmComponentsRadio = Loadable(lazy(() => import('views/forms/components/Radio')));\r\nconst FrmComponentsSwitch = Loadable(lazy(() => import('views/forms/components/Switch')));\r\nconst FrmComponentsAutoComplete = Loadable(lazy(() => import('views/forms/components/AutoComplete')));\r\nconst FrmComponentsSlider = Loadable(lazy(() => import('views/forms/components/Slider')));\r\nconst FrmComponentsDateTime = Loadable(lazy(() => import('views/forms/components/DateTime')));\r\n\r\n// forms plugins layout\r\nconst FrmLayoutLayout = Loadable(lazy(() => import('views/forms/layouts/Layouts')));\r\nconst FrmLayoutMultiColumnForms = Loadable(lazy(() => import('views/forms/layouts/MultiColumnForms')));\r\nconst FrmLayoutActionBar = Loadable(lazy(() => import('views/forms/layouts/ActionBar')));\r\nconst FrmLayoutStickyActionBar = Loadable(lazy(() => import('views/forms/layouts/StickyActionBar')));\r\n\r\n// forms plugins routing\r\nconst FrmAutocomplete = Loadable(lazy(() => import('views/forms/plugins/AutoComplete')));\r\nconst FrmMask = Loadable(lazy(() => import('views/forms/plugins/Mask')));\r\nconst FrmClipboard = Loadable(lazy(() => import('views/forms/plugins/Clipboard')));\r\nconst FrmRecaptcha = Loadable(lazy(() => import('views/forms/plugins/Recaptcha')));\r\nconst FrmWysiwugEditor = Loadable(lazy(() => import('views/forms/plugins/WysiwugEditor')));\r\nconst FrmModal = Loadable(lazy(() => import('views/forms/plugins/Modal')));\r\nconst FrmTooltip = Loadable(lazy(() => import('views/forms/plugins/Tooltip')));\r\n\r\n// table routing\r\nconst TableBasic = Loadable(lazy(() => import('views/forms/tables/TableBasic')));\r\nconst TableDense = Loadable(lazy(() => import('views/forms/tables/TableDense')));\r\nconst TableEnhanced = Loadable(lazy(() => import('views/forms/tables/TableEnhanced')));\r\nconst TableData = Loadable(lazy(() => import('views/forms/tables/TableData')));\r\nconst TableCustomized = Loadable(lazy(() => import('views/forms/tables/TablesCustomized')));\r\nconst TableStickyHead = Loadable(lazy(() => import('views/forms/tables/TableStickyHead')));\r\nconst TableCollapsible = Loadable(lazy(() => import('views/forms/tables/TableCollapsible')));\r\n\r\n// forms validation\r\nconst FrmFormsValidation = Loadable(lazy(() => import('views/forms/forms-validation')));\r\nconst FrmFormsWizard = Loadable(lazy(() => import('views/forms/forms-wizard')));\r\n\r\n// chart routing\r\nconst ChartApexchart = Loadable(lazy(() => import('views/forms/chart/Apexchart')));\r\nconst OrgChartPage = Loadable(lazy(() => import('views/forms/chart/OrgChart')));\r\n\r\n// basic ui-elements routing\r\nconst BasicUIAccordion = Loadable(lazy(() => import('views/ui-elements/basic/UIAccordion')));\r\nconst BasicUIAvatar = Loadable(lazy(() => import('views/ui-elements/basic/UIAvatar')));\r\nconst BasicUIBadges = Loadable(lazy(() => import('views/ui-elements/basic/UIBadges')));\r\nconst BasicUIBreadcrumb = Loadable(lazy(() => import('views/ui-elements/basic/UIBreadcrumb')));\r\nconst BasicUICards = Loadable(lazy(() => import('views/ui-elements/basic/UICards')));\r\nconst BasicUIChip = Loadable(lazy(() => import('views/ui-elements/basic/UIChip')));\r\nconst BasicUIList = Loadable(lazy(() => import('views/ui-elements/basic/UIList')));\r\nconst BasicUITabs = Loadable(lazy(() => import('views/ui-elements/basic/UITabs')));\r\n\r\n// advance ui-elements routing\r\nconst AdvanceUIAlert = Loadable(lazy(() => import('views/ui-elements/advance/UIAlert')));\r\nconst AdvanceUIDialog = Loadable(lazy(() => import('views/ui-elements/advance/UIDialog')));\r\nconst AdvanceUIPagination = Loadable(lazy(() => import('views/ui-elements/advance/UIPagination')));\r\nconst AdvanceUIProgress = Loadable(lazy(() => import('views/ui-elements/advance/UIProgress')));\r\nconst AdvanceUIRating = Loadable(lazy(() => import('views/ui-elements/advance/UIRating')));\r\nconst AdvanceUISnackbar = Loadable(lazy(() => import('views/ui-elements/advance/UISnackbar')));\r\nconst AdvanceUISkeleton = Loadable(lazy(() => import('views/ui-elements/advance/UISkeleton')));\r\nconst AdvanceUISpeeddial = Loadable(lazy(() => import('views/ui-elements/advance/UISpeeddial')));\r\nconst AdvanceUITimeline = Loadable(lazy(() => import('views/ui-elements/advance/UITimeline')));\r\nconst AdvanceUIToggleButton = Loadable(lazy(() => import('views/ui-elements/advance/UIToggleButton')));\r\nconst AdvanceUITreeview = Loadable(lazy(() => import('views/ui-elements/advance/UITreeview')));\r\n\r\n// pricing page routing\r\nconst PagesPrice1 = Loadable(lazy(() => import('views/pages/pricing/Price1')));\r\nconst PagesPrice2 = Loadable(lazy(() => import('views/pages/pricing/Price2')));\r\n\r\n// utilities routing\r\nconst UtilsTypography = Loadable(lazy(() => import('views/utilities/Typography')));\r\nconst UtilsColor = Loadable(lazy(() => import('views/utilities/Color')));\r\nconst UtilsShadow = Loadable(lazy(() => import('views/utilities/Shadow')));\r\nconst UtilsMaterialIcons = Loadable(lazy(() => import('views/utilities/MaterialIcons')));\r\nconst UtilsTablerIcons = Loadable(lazy(() => import('views/utilities/TablerIcons')));\r\nconst UtilsAnimation = Loadable(lazy(() => import('views/utilities/Animation')));\r\nconst UtilsGrid = Loadable(lazy(() => import('views/utilities/Grid')));\r\n\r\n// sample page routing\r\nconst SamplePage = Loadable(lazy(() => import('views/sample-page')));\r\n\r\n// ==============================|| MAIN ROUTING ||============================== //\r\n\r\nconst MainRoutes = {\r\n path: '/',\r\n element: (\r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/Jobs/List',\r\n element: \r\n },\r\n {\r\n path: '/Jobs/List/filter/:status/:manufacturer/:model/:dealer',\r\n element: \r\n },\r\n {\r\n path: '/Jobs/:id/view',\r\n element: \r\n },\r\n {\r\n path: '/Jobs/:id/maint',\r\n element: \r\n },\r\n {\r\n path: '/Jobs/:id/maint/:tab',\r\n element: \r\n },\r\n {\r\n path: '/products/list',\r\n element: \r\n },\r\n {\r\n path: '/things/:id/maint',\r\n element: \r\n },\r\n {\r\n path: '/things/list',\r\n element: \r\n },\r\n {\r\n path: '/things/list/:product',\r\n element: \r\n },\r\n {\r\n path: '/manufacturers/list',\r\n element: \r\n },\r\n {\r\n path: '/manufacturers/:id/maint',\r\n element: \r\n },\r\n // {\r\n // path: '/manufacturers/manufacturer/jobs',\r\n // element: \r\n // },\r\n {\r\n path: '/manufacturers/manufacturer/job/generalinfo',\r\n element: \r\n },\r\n {\r\n path: '/manufacturers/manufacturer/job/homeownerinfo',\r\n element: \r\n },\r\n {\r\n path: '/manufacturers/manufacturer/job/images',\r\n element: \r\n },\r\n {\r\n path: '/manufacturers/manufacturer/job/docs',\r\n element: \r\n },\r\n {\r\n path: '/IotVariables/list',\r\n element: \r\n },\r\n {\r\n path: '/IotVariables/:id/maint',\r\n element: \r\n },\r\n {\r\n path: '/ExplorerSchemas/list',\r\n element: \r\n },\r\n {\r\n path: '/ExplorerSchemas/:schemaId/ExplorerTabs/list',\r\n element: \r\n },\r\n {\r\n path: '/ExplorerSchemas/:schemaId/ExplorerTabs/:tabId/ExplorerSubjects/list',\r\n element: \r\n },\r\n {\r\n path: '/ExplorerSchemas/:schemaId/ExplorerTabs/:tabId/ExplorerSubjects/:subjectId/SubjectVariables/list',\r\n element: \r\n },\r\n // {\r\n // path: '/ExplorerTabs/SubjectVariables/list/:subjectId',\r\n // element: \r\n // },\r\n // {\r\n // path: '/ExplorerTabs/:tabId/SubjectVariables/list/:subjectId',\r\n // element: \r\n // },\r\n {\r\n path: '/users/list',\r\n element: \r\n },\r\n {\r\n path: '/users/:id/maint',\r\n element: \r\n },\r\n {\r\n path: '/widget/statistics',\r\n element: \r\n },\r\n {\r\n path: '/widget/data',\r\n element: \r\n },\r\n {\r\n path: '/widget/chart',\r\n element: \r\n },\r\n\r\n {\r\n path: '/user/social-profile/:tab',\r\n element: \r\n },\r\n {\r\n path: '/user/account-profile/profile1',\r\n element: \r\n },\r\n {\r\n path: '/user/account-profile/profile2',\r\n element: \r\n },\r\n {\r\n path: '/user/account-profile/profile3',\r\n element: \r\n },\r\n\r\n {\r\n path: '/user/card/card1',\r\n element: \r\n },\r\n {\r\n path: '/user/card/card2',\r\n element: \r\n },\r\n {\r\n path: '/user/card/card3',\r\n element: \r\n },\r\n {\r\n path: '/user/list/list1',\r\n element: \r\n },\r\n {\r\n path: '/user/list/list2',\r\n element: \r\n },\r\n\r\n {\r\n path: '/customer/customer-list',\r\n element: \r\n },\r\n {\r\n path: '/customer/order-list',\r\n element: \r\n },\r\n {\r\n path: '/customer/create-invoice',\r\n element: \r\n },\r\n {\r\n path: '/customer/order-details',\r\n element: \r\n },\r\n {\r\n path: '/customer/product',\r\n element: \r\n },\r\n {\r\n path: '/customer/product-review',\r\n element: \r\n },\r\n\r\n {\r\n path: '/app/chat',\r\n element: \r\n },\r\n {\r\n path: '/app/mail',\r\n element: \r\n },\r\n \r\n {\r\n path: '/app/calendar',\r\n element: \r\n },\r\n {\r\n path: '/app/contact/c-card',\r\n element: \r\n },\r\n {\r\n path: '/app/contact/c-list',\r\n element: \r\n },\r\n\r\n {\r\n path: '/e-commerce/products',\r\n element: \r\n },\r\n {\r\n path: '/e-commerce/product-details/:id',\r\n element: \r\n },\r\n {\r\n path: '/e-commerce/product-list',\r\n element: \r\n },\r\n \r\n\r\n {\r\n path: '/components/text-field',\r\n element: \r\n },\r\n {\r\n path: '/components/button',\r\n element: \r\n },\r\n {\r\n path: '/components/checkbox',\r\n element: \r\n },\r\n {\r\n path: '/components/radio',\r\n element: \r\n },\r\n {\r\n path: '/components/autocomplete',\r\n element: \r\n },\r\n {\r\n path: '/components/slider',\r\n element: \r\n },\r\n {\r\n path: '/components/switch',\r\n element: \r\n },\r\n {\r\n path: '/components/date-time',\r\n element: \r\n },\r\n\r\n {\r\n path: '/forms/layouts/layouts',\r\n element: \r\n },\r\n {\r\n path: '/forms/layouts/multi-column-forms',\r\n element: \r\n },\r\n {\r\n path: '/forms/layouts/action-bar',\r\n element: \r\n },\r\n {\r\n path: '/forms/layouts/sticky-action-bar',\r\n element: \r\n },\r\n\r\n {\r\n path: '/forms/frm-autocomplete',\r\n element: \r\n },\r\n {\r\n path: '/forms/frm-mask',\r\n element: \r\n },\r\n {\r\n path: '/forms/frm-clipboard',\r\n element: \r\n },\r\n {\r\n path: '/forms/frm-recaptcha',\r\n element: \r\n },\r\n {\r\n path: '/forms/frm-wysiwug',\r\n element: \r\n },\r\n {\r\n path: '/forms/frm-modal',\r\n element: \r\n },\r\n {\r\n path: '/forms/frm-tooltip',\r\n element: \r\n },\r\n\r\n {\r\n path: '/tables/tbl-basic',\r\n element: \r\n },\r\n {\r\n path: '/tables/tbl-dense',\r\n element: \r\n },\r\n {\r\n path: '/tables/tbl-enhanced',\r\n element: \r\n },\r\n {\r\n path: '/tables/tbl-data',\r\n element: \r\n },\r\n {\r\n path: '/tables/tbl-customized',\r\n element: \r\n },\r\n {\r\n path: '/tables/tbl-sticky-header',\r\n element: \r\n },\r\n {\r\n path: '/tables/tbl-collapse',\r\n element: \r\n },\r\n\r\n {\r\n path: 'forms/charts/apexchart',\r\n element: \r\n },\r\n {\r\n path: '/forms/charts/orgchart',\r\n element: \r\n },\r\n {\r\n path: '/forms/forms-validation',\r\n element: \r\n },\r\n {\r\n path: '/forms/forms-wizard',\r\n element: \r\n },\r\n\r\n {\r\n path: '/basic/accordion',\r\n element: \r\n },\r\n {\r\n path: '/basic/avatar',\r\n element: \r\n },\r\n {\r\n path: '/basic/badges',\r\n element: \r\n },\r\n {\r\n path: '/basic/breadcrumb',\r\n element: \r\n },\r\n {\r\n path: '/basic/cards',\r\n element: \r\n },\r\n {\r\n path: '/basic/chip',\r\n element: \r\n },\r\n {\r\n path: '/basic/list',\r\n element: \r\n },\r\n {\r\n path: '/basic/tabs',\r\n element: \r\n },\r\n\r\n {\r\n path: '/advance/alert',\r\n element: \r\n },\r\n {\r\n path: '/advance/dialog',\r\n element: \r\n },\r\n {\r\n path: '/advance/pagination',\r\n element: \r\n },\r\n {\r\n path: '/advance/progress',\r\n element: \r\n },\r\n {\r\n path: '/advance/rating',\r\n element: \r\n },\r\n {\r\n path: '/advance/snackbar',\r\n element: \r\n },\r\n {\r\n path: '/advance/skeleton',\r\n element: \r\n },\r\n {\r\n path: '/advance/speeddial',\r\n element: \r\n },\r\n {\r\n path: '/advance/timeline',\r\n element: \r\n },\r\n {\r\n path: '/advance/toggle-button',\r\n element: \r\n },\r\n {\r\n path: '/advance/treeview',\r\n element: \r\n },\r\n\r\n {\r\n path: '/pages/price/price1',\r\n element: \r\n },\r\n {\r\n path: '/pages/price/price2',\r\n element: \r\n },\r\n\r\n {\r\n path: '/utils/util-typography',\r\n element: \r\n },\r\n {\r\n path: '/utils/util-color',\r\n element: \r\n },\r\n {\r\n path: '/utils/util-shadow',\r\n element: \r\n },\r\n {\r\n path: '/icons/tabler-icons',\r\n element: \r\n },\r\n {\r\n path: '/icons/material-icons',\r\n element: \r\n },\r\n {\r\n path: '/utils/util-animation',\r\n element: \r\n },\r\n {\r\n path: '/utils/util-grid',\r\n element: \r\n },\r\n {\r\n path: '/sample-page',\r\n element: \r\n },\r\n {\r\n path: '/dashboard/default',\r\n element: \r\n },\r\n {\r\n path: '/analytics',\r\n element: \r\n }\r\n ]\r\n};\r\n\r\nexport default MainRoutes;\r\n","import { useNavigate } from 'react-router-dom';\r\n\r\n// project imports\r\nimport useAuth from 'hooks/useAuth';\r\nimport { DASHBOARD_PATH } from 'config';\r\nimport { GuardProps } from 'types';\r\nimport { useEffect } from 'react';\r\n\r\n// ==============================|| GUEST GUARD ||============================== //\r\n\r\n/**\r\n * Guest guard for routes having no auth required\r\n * @param {PropTypes.node} children children element/node\r\n */\r\n\r\nconst GuestGuard = ({ children }: GuardProps) => {\r\n const { isLoggedIn } = useAuth();\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n if (isLoggedIn) {\r\n navigate(DASHBOARD_PATH, { replace: true });\r\n }\r\n }, [isLoggedIn, navigate]);\r\n\r\n return children;\r\n};\r\n\r\nexport default GuestGuard;\r\n","import { Outlet } from 'react-router-dom';\r\n\r\n// project imports\r\nimport Customization from '../Customization';\r\n\r\n// ==============================|| MINIMAL LAYOUT ||============================== //\r\n\r\nconst MinimalLayout = () => (\r\n <>\r\n \r\n {/* */}\r\n \r\n);\r\n\r\nexport default MinimalLayout;\r\n","import { ReactElement } from 'react';\r\n\r\n// third-party\r\nimport { motion } from 'framer-motion';\r\n\r\n// ==============================|| ANIMATION FOR CONTENT ||============================== //\r\n\r\nconst NavMotion = ({ children }: { children: ReactElement | ReactElement[] }) => {\r\n const motionVariants = {\r\n initial: {\r\n opacity: 0,\r\n scale: 0.99\r\n },\r\n in: {\r\n opacity: 1,\r\n scale: 1\r\n },\r\n out: {\r\n opacity: 0,\r\n scale: 1.01\r\n }\r\n };\r\n\r\n const motionTransition = {\r\n type: 'tween',\r\n ease: 'anticipate',\r\n duration: 0.4\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default NavMotion;\r\n","import { lazy } from 'react';\r\n\r\n// project imports\r\nimport GuestGuard from 'utils/route-guard/GuestGuard';\r\nimport MinimalLayout from 'layout/MinimalLayout';\r\nimport NavMotion from 'layout/NavMotion';\r\nimport Loadable from 'ui-component/Loadable';\r\n\r\n// login routing\r\nconst AuthLogin = Loadable(lazy(() => import('views/pages/authentication/authentication3/Login3')));\r\nconst AuthRegister = Loadable(lazy(() => import('views/pages/authentication/authentication3/Register3')));\r\nconst AuthForgotPassword = Loadable(lazy(() => import('views/pages/authentication/authentication3/ForgotPassword3')));\r\n\r\n// ==============================|| AUTH ROUTING ||============================== //\r\n\r\nconst LoginRoutes = {\r\n path: '/',\r\n element: (\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n children: [\r\n {\r\n path: '/login',\r\n element: \r\n },\r\n {\r\n path: '/register',\r\n element: \r\n },\r\n {\r\n path: '/forgot',\r\n element: \r\n }\r\n ]\r\n};\r\n\r\nexport default LoginRoutes;\r\n","import { lazy } from 'react';\r\n\r\n// project imports\r\nimport Loadable from 'ui-component/Loadable';\r\nimport MinimalLayout from 'layout/MinimalLayout';\r\n\r\n// login option 1 routing\r\nconst AuthLogin1 = Loadable(lazy(() => import('views/pages/authentication/authentication1/Login1')));\r\nconst AuthRegister1 = Loadable(lazy(() => import('views/pages/authentication/authentication1/Register1')));\r\nconst AuthForgotPassword1 = Loadable(lazy(() => import('views/pages/authentication/authentication1/ForgotPassword1')));\r\nconst AuthCheckMail1 = Loadable(lazy(() => import('views/pages/authentication/authentication1/CheckMail1')));\r\nconst AuthResetPassword1 = Loadable(lazy(() => import('views/pages/authentication/authentication1/ResetPassword1')));\r\nconst AuthCodeVerification1 = Loadable(lazy(() => import('views/pages/authentication/authentication1/CodeVerification1')));\r\n\r\n// login option 2 routing\r\nconst AuthLogin2 = Loadable(lazy(() => import('views/pages/authentication/authentication2/Login2')));\r\nconst AuthRegister2 = Loadable(lazy(() => import('views/pages/authentication/authentication2/Register2')));\r\nconst AuthForgotPassword2 = Loadable(lazy(() => import('views/pages/authentication/authentication2/ForgotPassword2')));\r\nconst AuthCheckMail2 = Loadable(lazy(() => import('views/pages/authentication/authentication2/CheckMail2')));\r\nconst AuthResetPassword2 = Loadable(lazy(() => import('views/pages/authentication/authentication2/ResetPassword2')));\r\nconst AuthCodeVerification2 = Loadable(lazy(() => import('views/pages/authentication/authentication2/CodeVerification2')));\r\n\r\n// login option 3 routing\r\nconst AuthLogin3 = Loadable(lazy(() => import('views/pages/authentication/authentication3/Login3')));\r\nconst AuthRegister3 = Loadable(lazy(() => import('views/pages/authentication/authentication3/Register3')));\r\nconst AuthForgotPassword3 = Loadable(lazy(() => import('views/pages/authentication/authentication3/ForgotPassword3')));\r\nconst AuthCheckMail3 = Loadable(lazy(() => import('views/pages/authentication/authentication3/CheckMail3')));\r\nconst AuthResetPassword3 = Loadable(lazy(() => import('views/pages/authentication/authentication3/ResetPassword3')));\r\nconst AuthCodeVerification3 = Loadable(lazy(() => import('views/pages/authentication/authentication3/CodeVerification3')));\r\n\r\n// maintenance routing\r\nconst MaintenanceError = Loadable(lazy(() => import('views/pages/maintenance/Error')));\r\nconst MaintenanceComingSoon1 = Loadable(lazy(() => import('views/pages/maintenance/ComingSoon/ComingSoon1')));\r\nconst MaintenanceComingSoon2 = Loadable(lazy(() => import('views/pages/maintenance/ComingSoon/ComingSoon2')));\r\nconst MaintenanceUnderConstruction = Loadable(lazy(() => import('views/pages/maintenance/UnderConstruction')));\r\n\r\n// landing & contact-us routing\r\nconst PagesLanding = Loadable(lazy(() => import('views/pages/landing')));\r\nconst PagesContactUS = Loadable(lazy(() => import('views/pages/contact-us')));\r\nconst PagesFaqs = Loadable(lazy(() => import('views/pages/saas-pages/Faqs')));\r\nconst PagesPrivacyPolicy = Loadable(lazy(() => import('views/pages/saas-pages/PrivacyPolicy')));\r\n\r\n// ==============================|| AUTHENTICATION ROUTING ||============================== //\r\n\r\nconst AuthenticationRoutes = {\r\n path: '/',\r\n element: ,\r\n children: [\r\n {\r\n path: '/pages/login/login1',\r\n element: \r\n },\r\n {\r\n path: '/pages/register/register1',\r\n element: \r\n },\r\n {\r\n path: '/pages/forgot-password/forgot-password1',\r\n element: \r\n },\r\n {\r\n path: '/pages/check-mail/check-mail1',\r\n element: \r\n },\r\n {\r\n path: '/pages/reset-password/reset-password1',\r\n element: \r\n },\r\n {\r\n path: '/pages/code-verification/code-verification1',\r\n element: \r\n },\r\n\r\n {\r\n path: '/pages/login/login2',\r\n element: \r\n },\r\n {\r\n path: '/pages/register/register2',\r\n element: \r\n },\r\n {\r\n path: '/pages/forgot-password/forgot-password2',\r\n element: \r\n },\r\n {\r\n path: '/pages/check-mail/check-mail2',\r\n element: \r\n },\r\n {\r\n path: '/pages/reset-password/reset-password2',\r\n element: \r\n },\r\n {\r\n path: '/pages/code-verification/code-verification2',\r\n element: \r\n },\r\n\r\n {\r\n path: '/pages/login/login3',\r\n element: \r\n },\r\n {\r\n path: '/pages/register/register3',\r\n element: \r\n },\r\n {\r\n path: '/pages/forgot-password/forgot-password3',\r\n element: \r\n },\r\n {\r\n path: '/pages/check-mail/check-mail3',\r\n element: \r\n },\r\n {\r\n path: '/pages/reset-password/reset-password3',\r\n element: \r\n },\r\n {\r\n path: '/pages/code-verification/code-verification3',\r\n element: \r\n },\r\n\r\n {\r\n path: '/pages/error',\r\n element: \r\n },\r\n {\r\n path: '/pages/coming-soon1',\r\n element: \r\n },\r\n {\r\n path: '/pages/coming-soon2',\r\n element: \r\n },\r\n {\r\n path: '/pages/under-construction',\r\n element: \r\n },\r\n\r\n {\r\n path: '/pages/landing',\r\n element: \r\n },\r\n {\r\n path: '/pages/contact-us',\r\n element: \r\n },\r\n {\r\n path: '/pages/faqs',\r\n element: \r\n },\r\n {\r\n path: '/pages/privacy-policy',\r\n element: \r\n }\r\n ]\r\n};\r\n\r\nexport default AuthenticationRoutes;\r\n","import { lazy } from 'react';\r\nimport { useRoutes } from 'react-router-dom';\r\n\r\n// routes\r\nimport MainRoutes from './MainRoutes';\r\nimport LoginRoutes from './LoginRoutes';\r\nimport AuthenticationRoutes from './AuthenticationRoutes';\r\nimport Loadable from 'ui-component/Loadable';\r\n\r\nconst PagesLanding = Loadable(lazy(() => import('views/pages/landing')));\r\n\r\n// ==============================|| ROUTING RENDER ||============================== //\r\n\r\nexport default function ThemeRoutes() {\r\n return useRoutes([{ path: '/', element: }, AuthenticationRoutes, LoginRoutes, MainRoutes]);\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\n\r\n// third-party\r\nimport { IntlProvider, MessageFormatElement } from 'react-intl';\r\nimport useConfig from 'hooks/useConfig';\r\n\r\n// load locales files\r\nconst loadLocaleData = (locale: string) => {\r\n switch (locale) {\r\n case 'fr':\r\n return import('utils/locales/fr.json');\r\n case 'ro':\r\n return import('utils/locales/ro.json');\r\n case 'zh':\r\n return import('utils/locales/zh.json');\r\n default:\r\n return import('utils/locales/en.json');\r\n }\r\n};\r\n\r\n// ==============================|| LOCALIZATION ||============================== //\r\n\r\ninterface LocalsProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst Locales = ({ children }: LocalsProps) => {\r\n const { locale } = useConfig();\r\n const [messages, setMessages] = useState | Record | undefined>();\r\n\r\n useEffect(() => {\r\n loadLocaleData(locale).then((d: { default: Record | Record | undefined }) => {\r\n setMessages(d.default);\r\n });\r\n }, [locale]);\r\n\r\n return (\r\n <>\r\n {messages && (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Locales;\r\n","import { useEffect, ReactElement } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n// ==============================|| NAVIGATION SCROLL TO TOP ||============================== //\r\n\r\nconst NavigationScroll = ({ children }: { children: ReactElement | null }) => {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }, [pathname]);\r\n\r\n return children || null;\r\n};\r\n\r\nexport default NavigationScroll;\r\n","import { useEffect, ReactNode } from 'react';\r\n\r\n// material-ui\r\nimport { CacheProvider } from '@emotion/react';\r\nimport createCache, { StylisPlugin } from '@emotion/cache';\r\n\r\n// third-party\r\nimport rtlPlugin from 'stylis-plugin-rtl';\r\nimport useConfig from 'hooks/useConfig';\r\n\r\n// ==============================|| RTL LAYOUT ||============================== //\r\n\r\ninterface RTLLayoutProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst RTLLayout = ({ children }: RTLLayoutProps) => {\r\n const { rtlLayout } = useConfig();\r\n\r\n useEffect(() => {\r\n document.dir = rtlLayout ? 'rtl' : 'ltr';\r\n }, [rtlLayout]);\r\n\r\n const cacheRtl = createCache({\r\n key: rtlLayout ? 'rtl' : 'css',\r\n prepend: true,\r\n stylisPlugins: rtlLayout ? [rtlPlugin as StylisPlugin] : []\r\n });\r\n\r\n return {children};\r\n};\r\n\r\nexport default RTLLayout;\r\n","import { SyntheticEvent } from 'react';\r\nimport { useTheme } from '@mui/material/styles';\r\n// material-ui\r\nimport { Alert, AlertTitle, Button, Fade, Grow, IconButton, Slide, SlideProps, SxProps, Theme } from '@mui/material';\r\nimport MuiSnackbar from '@mui/material/Snackbar';\r\n\r\n// assets\r\nimport CloseIcon from '@mui/icons-material/Close';\r\n\r\nimport { KeyedObject } from 'types';\r\nimport { useDispatch, useSelector } from 'store';\r\nimport { closeSnackbar } from 'store/slices/snackbar';\r\n\r\n// animation function\r\nfunction TransitionSlideLeft(props: SlideProps) {\r\n return ;\r\n}\r\n\r\nfunction TransitionSlideUp(props: SlideProps) {\r\n return ;\r\n}\r\n\r\nfunction TransitionSlideRight(props: SlideProps) {\r\n return ;\r\n}\r\n\r\nfunction TransitionSlideDown(props: SlideProps) {\r\n return ;\r\n}\r\n\r\nfunction GrowTransition(props: SlideProps) {\r\n return ;\r\n}\r\n\r\n// animation options\r\nconst animation: KeyedObject = {\r\n SlideLeft: TransitionSlideLeft,\r\n SlideUp: TransitionSlideUp,\r\n SlideRight: TransitionSlideRight,\r\n SlideDown: TransitionSlideDown,\r\n Grow: GrowTransition,\r\n Fade\r\n};\r\n\r\nconst sxAlertOutlined = {\r\n bgcolor: 'background.paper'\r\n};\r\n\r\nconst sxAlertFilledSuccess = {\r\n bgcolor: 'success.dark'\r\n};\r\nconst sxAlertFilledError = {\r\n bgcolor: 'error.main'\r\n};\r\nconst sxAlertFilledWarning = {\r\n bgcolor: 'warning.main'\r\n};\r\n// ==============================|| SNACKBAR ||============================== //\r\n\r\nconst Snackbar = () => {\r\n const theme = useTheme();\r\n const dispatch = useDispatch();\r\n const snackbar = useSelector((state) => state.snackbar);\r\n const { actionButton, anchorOrigin, alert, close, message, open, transition, variant, autoHideDuration, handleSnackbarClosed } =\r\n snackbar;\r\n\r\n const handleClose = (event: SyntheticEvent | Event, reason?: string) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n handleSnackbarClosed && handleSnackbarClosed();\r\n\r\n dispatch(closeSnackbar());\r\n };\r\n\r\n const getAlertStyle = () => {\r\n // theme.palette.warning.main\r\n if (alert.variant === 'outlined') {\r\n return sxAlertOutlined;\r\n }\r\n if (alert.variant === 'filled') {\r\n if (alert.color === 'success') {\r\n return sxAlertFilledSuccess;\r\n } \r\n \r\n if (alert.color === 'error') {\r\n return sxAlertFilledError;\r\n }\r\n if (alert.color === 'warning') {\r\n return sxAlertFilledWarning;\r\n }\r\n }\r\n return {};\r\n };\r\n\r\n return (\r\n <>\r\n {/* default snackbar */}\r\n {variant === 'default' && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n )}\r\n\r\n {/* alert snackbar */}\r\n {variant === 'alert' && (\r\n \r\n \r\n {actionButton !== false && (\r\n \r\n )}\r\n {close !== false && (\r\n \r\n \r\n \r\n )}\r\n \r\n }\r\n sx={getAlertStyle()}\r\n >\r\n {/* {alert.color?.toString()} */}\r\n {message}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Snackbar;\r\n","// material-ui\r\nimport { createTheme } from '@mui/material/styles';\r\nimport { PaletteMode } from '@mui/material';\r\n\r\n// assets\r\nimport defaultColor from 'assets/scss/_themes-vars.module.scss';\r\nimport theme1 from 'assets/scss/_theme1.module.scss';\r\nimport theme2 from 'assets/scss/_theme2.module.scss';\r\nimport theme3 from 'assets/scss/_theme3.module.scss';\r\nimport theme4 from 'assets/scss/_theme4.module.scss';\r\nimport theme5 from 'assets/scss/_theme5.module.scss';\r\nimport theme6 from 'assets/scss/_theme6.module.scss';\r\n\r\n// types\r\nimport { ColorProps } from 'types';\r\n\r\n// ==============================|| DEFAULT THEME - PALETTE ||============================== //\r\n\r\nconst Palette = (navType: PaletteMode, presetColor: string) => {\r\n let colors: ColorProps;\r\n switch (presetColor) {\r\n case 'theme1':\r\n colors = theme1;\r\n break;\r\n case 'theme2':\r\n colors = theme2;\r\n break;\r\n case 'theme3':\r\n colors = theme3;\r\n break;\r\n case 'theme4':\r\n colors = theme4;\r\n break;\r\n case 'theme5':\r\n colors = theme5;\r\n break;\r\n case 'theme6':\r\n colors = theme6;\r\n break;\r\n case 'default':\r\n default:\r\n colors = defaultColor;\r\n }\r\n\r\n return createTheme({\r\n palette: {\r\n mode: navType,\r\n common: {\r\n black: colors.darkPaper\r\n },\r\n primary: {\r\n light: navType === 'dark' ? colors.darkPrimaryLight : colors.primaryLight,\r\n main: navType === 'dark' ? colors.darkPrimaryMain : colors.primaryMain,\r\n dark: navType === 'dark' ? colors.darkPrimaryDark : colors.primaryDark,\r\n 200: navType === 'dark' ? colors.darkPrimary200 : colors.primary200,\r\n 800: navType === 'dark' ? colors.darkPrimary800 : colors.primary800\r\n },\r\n secondary: {\r\n light: navType === 'dark' ? colors.darkSecondaryLight : colors.secondaryLight,\r\n main: navType === 'dark' ? colors.darkSecondaryMain : colors.secondaryMain,\r\n dark: navType === 'dark' ? colors.darkSecondaryDark : colors.secondaryDark,\r\n 200: navType === 'dark' ? colors.darkSecondary200 : colors.secondary200,\r\n 800: navType === 'dark' ? colors.darkSecondary800 : colors.secondary800\r\n },\r\n error: {\r\n light: colors.errorLight,\r\n main: colors.errorMain,\r\n dark: colors.errorDark\r\n },\r\n orange: {\r\n light: colors.orangeLight,\r\n main: colors.orangeMain,\r\n dark: colors.orangeDark\r\n },\r\n warning: {\r\n light: colors.warningLight,\r\n main: colors.warningMain,\r\n dark: colors.warningDark\r\n },\r\n success: {\r\n light: colors.successLight,\r\n 200: colors.success200,\r\n main: colors.successMain,\r\n dark: colors.successDark\r\n },\r\n grey: {\r\n 50: colors.grey50,\r\n 100: colors.grey100,\r\n 500: navType === 'dark' ? colors.darkTextSecondary : colors.grey500,\r\n 600: navType === 'dark' ? colors.darkTextTitle : colors.grey900,\r\n 700: navType === 'dark' ? colors.darkTextPrimary : colors.grey700,\r\n 900: navType === 'dark' ? colors.darkTextPrimary : colors.grey900\r\n },\r\n dark: {\r\n light: colors.darkTextPrimary,\r\n main: colors.darkLevel1,\r\n dark: colors.darkLevel2,\r\n 800: colors.darkBackground,\r\n 900: colors.darkPaper\r\n },\r\n text: {\r\n primary: navType === 'dark' ? colors.darkTextPrimary : colors.grey700,\r\n secondary: navType === 'dark' ? colors.darkTextSecondary : colors.grey500,\r\n dark: navType === 'dark' ? colors.darkTextPrimary : colors.grey900,\r\n hint: colors.grey100\r\n },\r\n divider: navType === 'dark' ? colors.darkTextPrimary : colors.grey200,\r\n background: {\r\n paper: navType === 'dark' ? colors.darkLevel2 : colors.paper,\r\n default: navType === 'dark' ? colors.darkPaper : colors.paper\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport default Palette;\r\n","import { Theme } from '@mui/material/styles';\r\nimport { TypographyOptions } from '@mui/material/styles/createTypography';\r\n\r\nconst Typography = (theme: Theme, borderRadius: number, fontFamily: string): TypographyOptions => ({\r\n fontFamily,\r\n h6: {\r\n fontWeight: 500,\r\n color: theme.palette.grey[600],\r\n fontSize: '0.75rem'\r\n },\r\n h5: {\r\n fontSize: '0.875rem',\r\n color: theme.palette.grey[600],\r\n fontWeight: 500\r\n },\r\n h4: {\r\n fontSize: '1rem',\r\n color: theme.palette.grey[600],\r\n fontWeight: 600\r\n },\r\n h3: {\r\n fontSize: '1.25rem',\r\n color: theme.palette.grey[600],\r\n fontWeight: 600\r\n },\r\n h2: {\r\n fontSize: '1.5rem',\r\n color: theme.palette.grey[600],\r\n fontWeight: 700\r\n },\r\n h1: {\r\n fontSize: '2.125rem',\r\n color: theme.palette.grey[600],\r\n fontWeight: 700\r\n },\r\n subtitle1: {\r\n fontSize: '0.875rem',\r\n fontWeight: 500,\r\n color: theme.palette.text.dark\r\n },\r\n subtitle2: {\r\n fontSize: '0.75rem',\r\n fontWeight: 400,\r\n color: theme.palette.text.secondary\r\n },\r\n caption: {\r\n fontSize: '0.75rem',\r\n color: theme.palette.text.secondary,\r\n fontWeight: 400\r\n },\r\n body1: {\r\n fontSize: '0.875rem',\r\n fontWeight: 400,\r\n lineHeight: '1.334em'\r\n },\r\n body2: {\r\n letterSpacing: '0em',\r\n fontWeight: 400,\r\n lineHeight: '1.5em',\r\n color: theme.palette.text.primary\r\n },\r\n button: {\r\n textTransform: 'capitalize'\r\n },\r\n customInput: {\r\n marginTop: 1,\r\n marginBottom: 1,\r\n '& > label': {\r\n top: 23,\r\n left: 0,\r\n color: theme.palette.grey[500],\r\n '&[data-shrink=\"false\"]': {\r\n top: 5\r\n }\r\n },\r\n '& > div > input': {\r\n padding: '30.5px 14px 11.5px !important'\r\n },\r\n '& legend': {\r\n display: 'none'\r\n },\r\n '& fieldset': {\r\n top: 0\r\n }\r\n },\r\n mainContent: {\r\n backgroundColor: theme.palette.mode === 'dark' ? theme.palette.dark[800] : theme.palette.primary.light,\r\n width: '100%',\r\n minHeight: 'calc(100vh - 88px)',\r\n flexGrow: 1,\r\n padding: '20px',\r\n marginTop: '88px',\r\n marginRight: '20px',\r\n borderRadius: `${borderRadius}px`\r\n },\r\n menuCaption: {\r\n fontSize: '0.875rem',\r\n fontWeight: 500,\r\n color: theme.palette.grey[600],\r\n padding: '6px',\r\n textTransform: 'capitalize',\r\n marginTop: '10px'\r\n },\r\n subMenuCaption: {\r\n fontSize: '0.6875rem',\r\n fontWeight: 500,\r\n color: theme.palette.text.secondary,\r\n textTransform: 'capitalize'\r\n },\r\n commonAvatar: {\r\n cursor: 'pointer',\r\n borderRadius: '8px'\r\n },\r\n smallAvatar: {\r\n width: '22px',\r\n height: '22px',\r\n fontSize: '1rem'\r\n },\r\n mediumAvatar: {\r\n width: '34px',\r\n height: '34px',\r\n fontSize: '1.2rem'\r\n },\r\n largeAvatar: {\r\n width: '44px',\r\n height: '44px',\r\n fontSize: '1.5rem'\r\n }\r\n});\r\n\r\nexport default Typography;\r\n","import { alpha, Theme } from '@mui/material/styles';\r\n\r\nconst createCustomShadow = (theme: Theme, color: string) => {\r\n const transparent = alpha(color, 0.24);\r\n return {\r\n z1: `0 1px 2px 0 ${transparent}`,\r\n z8: `0 8px 16px 0 ${transparent}`,\r\n z12: `0 12px 24px 0 ${transparent} 0 10px 20px 0 ${transparent}`,\r\n z16: `0 0 3px 0 ${transparent} 0 14px 28px -5px ${transparent}`,\r\n z20: `0 0 3px 0 ${transparent} 0 18px 36px -5px ${transparent}`,\r\n z24: `0 0 6px 0 ${transparent} 0 21px 44px 0 ${transparent}`,\r\n\r\n primary: `0px 12px 14px 0px ${alpha(theme.palette.primary.main, 0.3)}`,\r\n secondary: `0px 12px 14px 0px ${alpha(theme.palette.secondary.main, 0.3)}`,\r\n orange: `0px 12px 14px 0px ${alpha(theme.palette.orange.main, 0.3)}`,\r\n success: `0px 12px 14px 0px ${alpha(theme.palette.success.main, 0.3)}`,\r\n warning: `0px 12px 14px 0px ${alpha(theme.palette.warning.main, 0.3)}`,\r\n error: `0px 12px 14px 0px ${alpha(theme.palette.error.main, 0.3)}`\r\n };\r\n};\r\n\r\nexport default function customShadows(navType: string, theme: Theme) {\r\n return navType === 'dark' ? createCustomShadow(theme, theme.palette.dark.main) : createCustomShadow(theme, theme.palette.grey[600]);\r\n}\r\n","import { useMemo, ReactNode } from 'react';\r\n\r\n// material-ui\r\nimport { CssBaseline, StyledEngineProvider } from '@mui/material';\r\nimport { createTheme, ThemeOptions, ThemeProvider, Theme } from '@mui/material/styles';\r\n\r\n// project import\r\nimport useConfig from 'hooks/useConfig';\r\nimport Palette from './palette';\r\nimport Typography from './typography';\r\n\r\nimport componentStyleOverrides from './compStyleOverride';\r\nimport customShadows from './shadows';\r\n\r\n// types\r\nimport { CustomShadowProps } from 'types/default-theme';\r\nimport { TypographyOptions } from '@mui/material/styles/createTypography';\r\n\r\ninterface Props {\r\n children: ReactNode;\r\n}\r\n\r\nexport default function ThemeCustomization({ children }: Props) {\r\n const { borderRadius, fontFamily, navType, outlinedFilled, presetColor, rtlLayout } = useConfig();\r\n\r\n const theme: Theme = useMemo(() => Palette(navType, presetColor), [navType, presetColor]);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const themeTypography: TypographyOptions = useMemo(\r\n () => Typography(theme, borderRadius, fontFamily),\r\n [theme, borderRadius, fontFamily]\r\n );\r\n const themeCustomShadows: CustomShadowProps = useMemo(() => customShadows(navType, theme), [navType, theme]);\r\n\r\n const themeOptions: ThemeOptions = useMemo(\r\n () => ({\r\n direction: rtlLayout ? 'rtl' : 'ltr',\r\n palette: theme.palette,\r\n mixins: {\r\n toolbar: {\r\n minHeight: '48px',\r\n padding: '16px',\r\n '@media (min-width: 600px)': {\r\n minHeight: '48px'\r\n }\r\n }\r\n },\r\n typography: themeTypography,\r\n customShadows: themeCustomShadows\r\n }),\r\n [rtlLayout, theme, themeCustomShadows, themeTypography]\r\n );\r\n\r\n const themes: Theme = createTheme(themeOptions);\r\n themes.components = useMemo(\r\n () => componentStyleOverrides(themes, borderRadius, outlinedFilled),\r\n [themes, borderRadius, outlinedFilled]\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n","// project imports\r\nimport { Theme } from '@mui/material/styles';\r\n\r\nexport default function componentStyleOverrides(theme: Theme, borderRadius: number, outlinedFilled: boolean) {\r\n const mode = theme.palette.mode;\r\n const bgColor = mode === 'dark' ? theme.palette.dark[800] : theme.palette.grey[50];\r\n const menuSelectedBack = mode === 'dark' ? theme.palette.secondary.main + 15 : theme.palette.secondary.light;\r\n const menuSelected = mode === 'dark' ? theme.palette.secondary.main : theme.palette.secondary.dark;\r\n\r\n return {\r\n MuiButton: {\r\n styleOverrides: {\r\n root: {\r\n fontWeight: 500,\r\n borderRadius: '4px'\r\n }\r\n }\r\n },\r\n MuiPaper: {\r\n defaultProps: {\r\n elevation: 0\r\n },\r\n styleOverrides: {\r\n root: {\r\n backgroundImage: 'none'\r\n },\r\n rounded: {\r\n borderRadius: `${borderRadius}px`\r\n }\r\n }\r\n },\r\n MuiCardHeader: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.palette.text.dark,\r\n padding: '24px'\r\n },\r\n title: {\r\n fontSize: '1.125rem'\r\n }\r\n }\r\n },\r\n MuiCardContent: {\r\n styleOverrides: {\r\n root: {\r\n padding: '24px'\r\n }\r\n }\r\n },\r\n MuiCardActions: {\r\n styleOverrides: {\r\n root: {\r\n padding: '24px'\r\n }\r\n }\r\n },\r\n MuiAlert: {\r\n styleOverrides: {\r\n root: {\r\n alignItems: 'center'\r\n },\r\n outlined: {\r\n border: '1px dashed'\r\n }\r\n }\r\n },\r\n MuiListItemButton: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.palette.text.primary,\r\n paddingTop: '10px',\r\n paddingBottom: '10px',\r\n '&.Mui-selected': {\r\n color: menuSelected,\r\n backgroundColor: menuSelectedBack,\r\n '&:hover': {\r\n backgroundColor: menuSelectedBack\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: menuSelected\r\n }\r\n },\r\n '&:hover': {\r\n backgroundColor: menuSelectedBack,\r\n color: menuSelected,\r\n '& .MuiListItemIcon-root': {\r\n color: menuSelected\r\n }\r\n }\r\n }\r\n }\r\n },\r\n MuiListItemIcon: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.palette.text.primary,\r\n minWidth: '36px'\r\n }\r\n }\r\n },\r\n MuiListItemText: {\r\n styleOverrides: {\r\n primary: {\r\n color: theme.palette.text.dark\r\n }\r\n }\r\n },\r\n MuiInputBase: {\r\n styleOverrides: {\r\n input: {\r\n color: theme.palette.text.dark,\r\n '&::placeholder': {\r\n color: theme.palette.text.secondary,\r\n fontSize: '0.875rem'\r\n }\r\n }\r\n }\r\n },\r\n MuiOutlinedInput: {\r\n styleOverrides: {\r\n root: {\r\n background: outlinedFilled ? bgColor : 'transparent',\r\n borderRadius: `${borderRadius}px`,\r\n '& .MuiOutlinedInput-notchedOutline': {\r\n borderColor: mode === 'dark' ? theme.palette.text.primary + 28 : theme.palette.grey[400]\r\n },\r\n '&:hover $notchedOutline': {\r\n borderColor: theme.palette.primary.light\r\n },\r\n '&.MuiInputBase-multiline': {\r\n padding: 1\r\n }\r\n },\r\n input: {\r\n fontWeight: 500,\r\n background: outlinedFilled ? bgColor : 'transparent',\r\n padding: '15.5px 14px',\r\n borderRadius: `${borderRadius}px`,\r\n '&.MuiInputBase-inputSizeSmall': {\r\n padding: '10px 14px',\r\n '&.MuiInputBase-inputAdornedStart': {\r\n paddingLeft: 0\r\n }\r\n }\r\n },\r\n inputAdornedStart: {\r\n paddingLeft: 4\r\n },\r\n notchedOutline: {\r\n borderRadius: `${borderRadius}px`\r\n }\r\n }\r\n },\r\n MuiSlider: {\r\n styleOverrides: {\r\n root: {\r\n '&.Mui-disabled': {\r\n color: mode === 'dark' ? theme.palette.text.primary + 50 : theme.palette.grey[300]\r\n }\r\n },\r\n mark: {\r\n backgroundColor: theme.palette.background.paper,\r\n width: '4px'\r\n },\r\n valueLabel: {\r\n color: mode === 'dark' ? theme.palette.primary.main : theme.palette.primary.light\r\n }\r\n }\r\n },\r\n MuiAutocomplete: {\r\n styleOverrides: {\r\n root: {\r\n '& .MuiAutocomplete-tag': {\r\n background: mode === 'dark' ? theme.palette.text.primary + 20 : theme.palette.secondary.light,\r\n borderRadius: 4,\r\n color: theme.palette.text.dark,\r\n '.MuiChip-deleteIcon': {\r\n color: mode === 'dark' ? theme.palette.text.primary + 80 : theme.palette.secondary[200]\r\n }\r\n }\r\n },\r\n popper: {\r\n borderRadius: `${borderRadius}px`,\r\n boxShadow: '0px 8px 10px -5px rgb(0 0 0 / 20%), 0px 16px 24px 2px rgb(0 0 0 / 14%), 0px 6px 30px 5px rgb(0 0 0 / 12%)'\r\n }\r\n }\r\n },\r\n MuiDivider: {\r\n styleOverrides: {\r\n root: {\r\n borderColor: theme.palette.divider,\r\n opacity: mode === 'dark' ? 0.2 : 1\r\n }\r\n }\r\n },\r\n MuiSelect: {\r\n styleOverrides: {\r\n select: {\r\n '&:focus': {\r\n backgroundColor: 'transparent'\r\n }\r\n }\r\n }\r\n },\r\n MuiAvatar: {\r\n styleOverrides: {\r\n root: {\r\n color: mode === 'dark' ? theme.palette.dark.main : theme.palette.primary.dark,\r\n background: mode === 'dark' ? theme.palette.text.primary : theme.palette.primary[200]\r\n }\r\n }\r\n },\r\n MuiChip: {\r\n styleOverrides: {\r\n root: {\r\n '&.MuiChip-deletable .MuiChip-deleteIcon': {\r\n color: 'inherit'\r\n }\r\n }\r\n }\r\n },\r\n MuiTimelineContent: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.palette.text.dark,\r\n fontSize: '16px'\r\n }\r\n }\r\n },\r\n MuiTreeItem: {\r\n styleOverrides: {\r\n label: {\r\n marginTop: 14,\r\n marginBottom: 14\r\n }\r\n }\r\n },\r\n MuiTimelineDot: {\r\n styleOverrides: {\r\n root: {\r\n boxShadow: 'none'\r\n }\r\n }\r\n },\r\n MuiInternalDateTimePickerTabs: {\r\n styleOverrides: {\r\n tabs: {\r\n backgroundColor: mode === 'dark' ? theme.palette.dark[900] : theme.palette.primary.light,\r\n '& .MuiTabs-flexContainer': {\r\n borderColor: mode === 'dark' ? theme.palette.text.primary + 20 : theme.palette.primary[200]\r\n },\r\n '& .MuiTab-root': {\r\n color: mode === 'dark' ? theme.palette.text.secondary : theme.palette.grey[900]\r\n },\r\n '& .MuiTabs-indicator': {\r\n backgroundColor: theme.palette.primary.dark\r\n },\r\n '& .Mui-selected': {\r\n color: theme.palette.primary.dark\r\n }\r\n }\r\n }\r\n },\r\n MuiTabs: {\r\n styleOverrides: {\r\n flexContainer: {\r\n borderBottom: '1px solid',\r\n borderColor: mode === 'dark' ? theme.palette.text.primary + 20 : theme.palette.grey[200]\r\n }\r\n }\r\n },\r\n MuiDialog: {\r\n styleOverrides: {\r\n paper: {\r\n padding: '12px 0 12px 0'\r\n }\r\n }\r\n },\r\n MuiTableCell: {\r\n styleOverrides: {\r\n root: {\r\n borderColor: mode === 'dark' ? theme.palette.text.primary + 15 : theme.palette.grey[200],\r\n '&.MuiTableCell-head': {\r\n fontSize: '0.875rem',\r\n color: theme.palette.grey[600],\r\n fontWeight: 500\r\n }\r\n }\r\n }\r\n },\r\n MuiTooltip: {\r\n styleOverrides: {\r\n tooltip: {\r\n color: theme.palette.background.paper,\r\n background: theme.palette.text.primary\r\n }\r\n }\r\n },\r\n MuiDialogTitle: {\r\n styleOverrides: {\r\n root: {\r\n fontSize: '1.25rem'\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// routing\r\nimport Routes from 'routes';\r\n\r\n// project imports\r\nimport Locales from 'ui-component/Locales';\r\nimport NavigationScroll from 'layout/NavigationScroll';\r\nimport RTLLayout from 'ui-component/RTLLayout';\r\nimport Snackbar from 'ui-component/extended/Snackbar';\r\nimport ThemeCustomization from 'themes';\r\n\r\n// auth provider\r\n// import { FirebaseProvider as AuthProvider } from 'contexts/FirebaseContext';\r\nimport { AWSCognitoProvider as AuthProvider } from 'contexts/AWSCognitoContext';\r\n\r\n// import { JWTProvider as AuthProvider } from 'contexts/JWTContext';\r\n// import { Auth0Provider as AuthProvider } from 'contexts/Auth0Context';\r\n\r\n// ==============================|| APP ||============================== //\r\n\r\nconst App = () => (\r\n \r\n {/* RTL layout */}\r\n \r\n \r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n);\r\n\r\nconst publicURL = process.env.PUBLIC_URL || '';\r\n\r\nexport type SWConfigProps = {\r\n onSuccess: (r: ServiceWorkerRegistration) => void;\r\n onUpdate: (s: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config: SWConfigProps) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(publicURL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config: SWConfigProps) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // it's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config: SWConfigProps) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import { ReportHandler } from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import ReactDOM from 'react-dom';\r\n\r\n// third party\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\n\r\n// load mock apis\r\nimport '_mockApis';\r\n\r\n// project imports\r\nimport App from 'App';\r\nimport { BASE_PATH } from 'config';\r\nimport { store, persister } from 'store';\r\nimport * as serviceWorker from 'serviceWorker';\r\nimport reportWebVitals from 'reportWebVitals';\r\nimport { ConfigProvider } from 'contexts/ConfigContext';\r\n// import { GlobalProvider } from 'contexts/GlobalContext'; \r\n\r\n// style + assets\r\nimport 'assets/scss/style.scss';\r\n\r\n// ==============================|| REACT DOM RENDER ||============================== //\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","// theme constant\r\n export const gridSpacing = { xs: 1, md: 3 };\r\n export const gridFormcont = { xs: 12, sm: 6 };\r\nexport const drawerWidth = 260;\r\nexport const appDrawerWidth = 320;\r\n","import { useContext } from 'react';\r\n\r\n// auth provider\r\n// import AuthContext from 'contexts/FirebaseContext';\r\n// import AuthContext from 'contexts/Auth0Context';\r\n// import AuthContext from 'contexts/JWTContext';\r\nimport AuthContext from 'contexts/AWSCognitoContext';\r\n\r\n// ==============================|| AUTH HOOKS ||============================== //\r\n\r\nconst useAuth = () => {\r\n const context = useContext(AuthContext);\r\n\r\n if (!context) throw new Error('context must be use inside provider');\r\n\r\n return context;\r\n};\r\n\r\nexport default useAuth;\r\n","const prod = {\r\n url: {\r\n API_URL: 'http://sbms5.b-soft.co.il'\r\n }\r\n\r\n // 192.168.10.22:\r\n // url: {\r\n // API_URL: \"http://sbms6.b-soft.co.il\",\r\n // Member_Url: \"http://socialbiz.b-soft.co.il\",\r\n // MEMBERS_LOGIN_CHECK_URL: \"http://socialbiz.b-soft.co.il/Infrastructure/B144_Login/checkuserlogin.aspx?tp=1&_t=\",//tp - UserType regular : 1 ; debug :2\r\n // }\r\n};\r\nconst dev = {\r\n url: {\r\n API_URL: \"http://localhost:58693\", // \"http://localhost:11576\",\r\n }\r\n};\r\n\r\nexport const config = process.env.NODE_ENV === 'production' ? prod : dev;\r\n","import { config } from '../Constants';\r\n\r\nexport const crashSendLog = async (error: string, info: string, componentStack: string) => {\r\n const serviceToken = window.localStorage.getItem('serviceToken');\r\n const serviceLocalToken = window.localStorage.getItem('serviceLocalToken');\r\n const token = serviceLocalToken ? serviceLocalToken?.toString() : '';\r\n const AWSToken = serviceToken ? serviceToken?.toString() : '';\r\n\r\n const data = new URLSearchParams({\r\n Error: error,\r\n Info: info,\r\n ComponentStack: componentStack\r\n }).toString();\r\n\r\n return new Promise((resolve) => {\r\n fetch(`${config.url.API_URL}/WebServices/MainService.asmx/CrashSend`, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8',\r\n 'Auth-Token': token,\r\n 'Aws-Token': AWSToken\r\n }\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n console.log('Crash Send Log OK');\r\n }\r\n })\r\n\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n });\r\n};\r\n","import { crashSendLog } from './CrashSendLog';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nexport const fetchRequest = async (url: string, method: string, data: any) => {\r\n const serviceToken = window.localStorage.getItem('serviceToken');\r\n const serviceLocalToken = window.localStorage.getItem('serviceLocalToken');\r\n const token = serviceLocalToken ? serviceLocalToken?.toString() : '';\r\n const AWSToken = serviceToken ? serviceToken?.toString() : '';\r\n\r\n return new Promise((resolve, reject) => {\r\n fetch(url, {\r\n method: method || 'GET',\r\n credentials: 'same-origin',\r\n body: data,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8',\r\n 'Auth-Token': token,\r\n 'Aws-Token': AWSToken\r\n }\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n resolve(response.text());\r\n } else {\r\n if (response.status == 401) {\r\n localStorage.removeItem('serviceLocalToken');\r\n // const navigate = useNavigate();\r\n // navigate('/login');\r\n window.open('/login', '_self');\r\n return;\r\n }\r\n // crashSendLog(\"fetchRequest Error \" , response.statusText , \"url : \" + url + \" || data : \" + data);\r\n\r\n // handle errors in the way you want to\r\n /* switch (response.status) {\r\n case 404:\r\n console.log('Object not found');\r\n break;\r\n case 500:\r\n console.log('Internal server error');\r\n break;\r\n default:\r\n console.log('Some error occured');\r\n break;\r\n } */\r\n\r\n reject(response);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n crashSendLog('fetchRequest catch Error ', error, `url : ${url} || data : ${data}`);\r\n reject(error);\r\n });\r\n });\r\n};\r\n"],"sourceRoot":""}