{"version":3,"sources":["utils/apiRouteGenerator/index.ts","context/languageContext/languageContext.ts","@crema/utility/AppContext.tsx","context/languageContext/Enum_PageID.ts","context/languageContext/index.tsx","shared/constants/AppConst.ts","@crema/utility/AuthRoutes.tsx","context/StartUp/index.tsx","redux/reducers/Setting.ts","redux/reducers/CommonReducer.ts","redux/reducers/Auth.ts","redux/reducers/Credit.ts","redux/reducers/index.tsx","redux/store/index.tsx","App.tsx","@crema/utility/AppHooks.tsx","api/translate/index.ts","types/actions/Settings.action.ts","redux/actions/Common.ts","redux/actions/JWTAuth.ts","redux/actions/Setting.ts","redux/actions/Credit.ts","@shared/gifLoading/index.tsx","@crema/core/Loader/index.tsx","@crema/core/AppSuspense/index.tsx","@crema/core/Badge/index.tsx","@crema/core/AppNavLink/index.tsx","@crema/core/ComponentHeader/index.tsx","@crema/core/ComponentCard/index.tsx","@crema/core/GridContainer/index.tsx","@crema/core/ThemeSetting/PrimaryColorPicker.tsx","@crema/core/ThemeSetting/SecondaryColorPicker.tsx","@crema/core/ThemeSetting/SidebarColorPicker.tsx","@crema/services/db/navigationStyle.tsx","@crema/core/ThemeSetting/index.style.tsx","shared/constants/ColorSets.ts","@crema/core/ThemeSetting/CustomColorCell.style.tsx","@crema/core/ThemeSetting/CustomColorCell.tsx","@crema/core/ThemeSetting/index.tsx","@crema/core/MessageView/index.tsx","@crema/core/AppLayout/AppFooter.tsx","@crema/core/AppErrorBoundary/index.tsx","@crema/core/ContentView/index.tsx","@crema/core/AppAnimate/index.tsx","utils/localstorage/alias.ts","utils/localstorage/index.ts","@crema/utility/IntlMessages.tsx","@crema/utility/CremaThemeProvider/index.tsx","@crema/utility/CremaStyleProvider/index.tsx","@crema/utility/LocaleProvider.tsx","@crema/core/Navigation/HorizontalNav/HorizontalItem.style.tsx","@crema/core/Navigation/HorizontalNav/HorizontalItem.tsx","@crema/core/Navigation/HorizontalNav/ClientPortal.tsx","@crema/core/Navigation/HorizontalNav/HorizontalCollapse.tsx","@crema/core/Navigation/HorizontalNav/HorizontalGroup.style.tsx","@crema/core/Navigation/HorizontalNav/HorizontalGroup.tsx","containers/layouts/routesConfig.tsx","@crema/core/Navigation/HorizontalNav/index.tsx","@crema/core/AppLayout/HorDefault/AppHeader.style.tsx","@crema/core/SearchBar/index.tsx","@crema/core/AppLayout/HorDefault/NotificationBar.tsx","@crema/core/HeaderMessages/MessageItem.tsx","@crema/core/HeaderMessages/index.tsx","@crema/core/Notifications/index.tsx","@crema/core/Notifications/NotificationItem.tsx","@crema/core/AppLayout/HorUserInfo.tsx","shared/components/AppLogo/index.tsx","@crema/core/AppLayout/HorDefault/AppHeader.tsx","@crema/core/AppLayout/HorDefault/index.style.tsx","@crema/core/AppLayout/HorDefault/AppFooter.tsx","@crema/core/AppLayout/HorDefault/AppFixedFooter.tsx","shared/components/UserInfo/index.tsx","@crema/core/Navigation/VerticleNav/VerticalItem.style.tsx","@crema/core/Navigation/VerticleNav/VerticalItem.tsx","@crema/core/Navigation/VerticleNav/VerticalCollapase.style.tsx","@crema/core/Navigation/VerticleNav/VerticalCollapse.tsx","@crema/core/Navigation/VerticleNav/VerticalNavGroup.style.tsx","@crema/core/Navigation/VerticleNav/VerticalNavGroup.tsx","@crema/core/Navigation/VerticleNav/index.tsx","@crema/core/AppLayout/HorDefault/AppSidebar.style.tsx","@crema/core/AppLayout/HorDefault/AppSidebar.tsx","@crema/core/AppLayout/HorDefault/index.tsx","@crema/core/AppLayout/MiniSidebar/AppHeader.style.tsx","@crema/core/AppLayout/MiniSidebar/AppHeader.tsx","@crema/core/AppLayout/MiniSidebar/AppSidebar.style.tsx","@crema/core/AppLayout/MiniSidebar/AppSidebar.tsx","@crema/core/AppLayout/MiniSidebar/index.style.tsx","@crema/core/AppLayout/MiniSidebar/AppFixedFooter.tsx","@crema/core/AppLayout/MiniSidebar/index.tsx","@crema/core/AppLayout/DrawerLayout/AppHeader.style.tsx","@crema/core/AppLayout/DrawerLayout/AppHeader.tsx","@crema/core/AppLayout/DrawerLayout/AppSidebar.style.tsx","@crema/core/AppLayout/DrawerLayout/AppSidebar.tsx","@crema/core/AppLayout/DrawerLayout/index.style.tsx","@crema/core/AppLayout/DrawerLayout/AppFixedFooter.tsx","@crema/core/AppLayout/DrawerLayout/index.tsx","@crema/core/AppLayout/Standard/AppHeader.style.tsx","@crema/core/AppLayout/Standard/AppHeader.tsx","@crema/core/AppLayout/Standard/AppSidebar.style.tsx","@crema/core/AppLayout/Standard/AppSidebar.tsx","@crema/core/AppLayout/Standard/index.style.tsx","@crema/core/AppLayout/Standard/AppFixedFooter.tsx","@crema/core/AppLayout/Standard/index.tsx","@crema/core/AppLayout/BitBucket/BucketMinibar.tsx","@crema/core/AppLayout/BitBucket/AppSidebar.style.tsx","@crema/core/AppLayout/BitBucket/AppSidebar.tsx","@crema/core/AppLayout/BitBucket/AppHeader.style.tsx","@crema/core/AppLayout/BitBucket/AppHeader.tsx","@crema/core/AppLayout/BitBucket/index.style.tsx","@crema/core/AppLayout/BitBucket/index.tsx","@crema/core/AppLayout/HorLightNav/AppHeader.style.tsx","@crema/core/AppLayout/HorLightNav/NotificationBar.tsx","shared/components/AppLogoWhite/index.tsx","@crema/core/AppLayout/HorLightNav/AppHeader.tsx","@crema/core/AppLayout/HorLightNav/index.style.tsx","@crema/core/AppLayout/HorLightNav/AppFooter.tsx","@crema/core/AppLayout/HorLightNav/AppFixedFooter.tsx","@crema/core/AppLayout/HorLightNav/AppSidebar.style.tsx","@crema/core/AppLayout/HorLightNav/AppSidebar.tsx","@crema/core/AppLayout/HorLightNav/index.tsx","@crema/core/AppLayout/HorDarkLayout/AppHeader.style.tsx","@crema/core/AppLayout/HorDarkLayout/NotificationBar.tsx","@crema/core/AppLayout/HorDarkLayout/AppHeader.tsx","@crema/core/AppLayout/HorDarkLayout/index.style.tsx","@crema/core/AppLayout/HorDarkLayout/AppFooter.tsx","@crema/core/AppLayout/HorDarkLayout/AppFixedFooter.tsx","@crema/core/AppLayout/HorDarkLayout/AppSidebar.style.tsx","@crema/core/AppLayout/HorDarkLayout/AppSidebar.tsx","@crema/core/AppLayout/HorDarkLayout/index.tsx","@crema/core/AppLayout/DefaultLayout/AppHeader.style.tsx","@crema/core/AppLayout/DefaultLayout/AppHeader.tsx","@crema/core/AppLayout/DefaultLayout/AppSidebar.style.tsx","@crema/core/AppLayout/DefaultLayout/AppSidebar.tsx","@crema/core/AppLayout/DefaultLayout/index.style.tsx","@crema/core/AppLayout/DefaultLayout/AppFixedFooter.tsx","@crema/core/AppLayout/DefaultLayout/index.tsx","@crema/core/AppLayout/UserHeader/AppHeader.style.tsx","shared/components/HeaderUser/index.tsx","@crema/core/AppLayout/UserHeader/AppHeader.tsx","@crema/core/AppLayout/UserHeader/AppSidebar.style.tsx","@crema/core/AppLayout/UserHeader/AppSidebar.tsx","@crema/core/AppLayout/UserHeader/index.style.tsx","@crema/core/AppLayout/UserHeader/AppFixedFooter.tsx","@crema/core/AppLayout/UserHeader/index.tsx","@crema/core/AppLayout/UserHeaderMini/AppHeader.style.tsx","@crema/core/AppLayout/UserHeaderMini/AppHeader.tsx","@crema/core/AppLayout/UserHeaderMini/AppSidebar.style.tsx","@crema/core/AppLayout/UserHeaderMini/AppSidebar.tsx","@crema/core/AppLayout/UserHeaderMini/index.style.tsx","@crema/core/AppLayout/UserHeaderMini/AppFixedFooter.tsx","@crema/core/AppLayout/UserHeaderMini/index.tsx","@crema/core/AppLayout/MiniSidebarToggle/AppHeader.style.tsx","@crema/core/AppLayout/MiniSidebarToggle/AppHeader.tsx","@crema/core/AppLayout/MiniSidebarToggle/AppSidebar.style.tsx","@crema/core/AppLayout/MiniSidebarToggle/AppSidebar.tsx","@crema/core/AppLayout/MiniSidebarToggle/index.style.tsx","@crema/core/AppLayout/MiniSidebarToggle/AppFixedFooter.tsx","@crema/core/AppLayout/MiniSidebarToggle/index.tsx","@crema/core/AppLayout/Layouts.tsx","shared/jss/common/common.style.tsx","shared/components/InfoViewShow/index.tsx","@crema/core/AppLayout/index.tsx","@crema/utility/ContextProvider/ContextReducer.tsx","@crema/utility/ContextProvider/index.tsx","containers/index.ts","shared/localization/entries/en-US.ts","shared/localization/entries/zh-Hans-CN.ts","shared/localization/entries/ar_SA.ts","shared/localization/entries/it_IT.ts","shared/localization/entries/es_ES.ts","shared/localization/index.ts","shared/localization/entries/fr_FR.ts","containers/cargo/pages/index.tsx","containers/layouts/panel/index.ts","containers/layouts/errorPages/index.tsx","containers/layouts/auth/index.tsx","containers/layouts/index.tsx","@crema/core/Scrollbar/index.tsx","@crema/core/LanguageSwitcher/data.ts","@crema/core/LanguageSwitcher/index.tsx","api/index.ts","api/cargo/User/index.ts","@crema/core/InfoView/index.tsx","shared/constants/CargoRoutes.ts","@crema/utility/Utils.tsx","@crema/utility/ContextProvider/defaultConfig.tsx","assets/images/cargo/loading.gif","shared/constants/AppEnums.ts","types/actions/Auth.actions.ts","@crema/services/auth/jwt-auth/apiStatus.ts","@crema/services/auth/jwt-auth/jwt-api.tsx","types/actions/Common.action.tsx","reportWebVitals.ts","index.tsx"],"names":["genRoute","route","auth","CallerUserDetailID","CallerFormID","LanguageContext","createContext","React","defaultConfig","PAGE_ID","LanguageConsumers","useContext","Translate","id","translate_","translate","translateLabel","label","name","translateLabelAccess","hasAccess","Menu","allMenu","activeRoleId","locale","JsonToMenu","GetActiveRoleName","find","role","UserDetailID","RoleName","ActiveRoleId","ActiveRoleOwnerID","OwnerID","LanguageContextProvider","children","user","useSelector","store","useState","setAllMenu","setActiveRoleId","translation","setTranslation","menu","setMenu","AppContext","dispatch","useDispatch","token","Read","TokenKey","useCallback","formid","formId","parseInt","form","f","index","labels","findIndex","x","updateCreditAmount","getCreditAmount","handleActiveRoleIDChange","newId","useEffect","IsDefaultRole","firstRoleId","mapMenu","toUpperCase","mapTranslate","jsonToTranslate","Write","ActiveRoleKey","getUserCredit","temp","result","m","Credit","translateOptions","Provider","value","AuthType","AUTH0","initialUrl","BaseUrl","process","BaseFileUrl","AuthRoutes","useLocation","pathname","search","history","useHistory","routes","changeNavStyle","updateThemeStyle","updateThemeMode","setRTL","useAuthToken","loading","initialPath","settings","currentRoute","matchRoutes","isPermitted","checkPermission","pageRoutes","ERROR_403","indexOf","setInitialPath","undefined","query","qs","parse","split","layout","mode","rtl","style","handleQueryParams","push","memo","props","ready","setReady","expire","ExpireKey","now","Date","Number","Remove","onJWTAuthSignout","loadJWTUser","initialSettings","navCollapsed","Settings","state","action","type","ROUTE_CHANGE","TOGGLE_NAV_COLLAPSED","SET_INITIAL_PATH","INIT_STATE","error","isAppDrawerOpen","updatingContent","message","CommonReducer","FETCH_START","FETCH_SUCCESS","SHOW_MESSAGE","FETCH_ERROR","HIDE_MESSAGE","TOGGLE_APP_DRAWER","initialState","credit","currency","reducers","UPDATE_AUTH_USER","payload","SIGNOUT_AUTH_SUCCESS","SET_AUTH_TOKEN","common","UPDATE_USER_CREDIT","createBrowserHistory","require","rootReducer","combineReducers","router","connectRouter","middleware","thunk","routerMiddleware","enhancers","windowIfDefined","window","__REDUX_DEVTOOLS_EXTENSION__","createStore","compose","applyMiddleware","currentState","getState","subscribe","previousState","setAuthToken","configureStore","App","ContextProvider","CremaThemeProvider","CremaStyleProvider","LocaleProvider","CssBaseline","AppLayout","setLoading","validateAuth","a","fetchStart","fetchSuccess","setJWTToken","Promise","all","then","useAuthUser","menuBuilder","RoleID","Forms","ID","HasShow","IsForm","Actions","Name","FormObjectTypeID","URL","ParentID","HasAccess","activeRole","data","lang","forms","newForms","filter","item","map","toString","messageId","title","parentId","url","i","length","parentIndex","JsonToMenuLevel","actions","jsonToRoutesConfig","defaultIndex","findDefaultMenu","toRoutesConfig","fetchError","showMessage","onJwtSignIn","body","language","LanguageKey","languageId","apiBody","username","email","password","jwtAxios","post","response","Data","Token","getUserObject","JWT_AUTH","Firstname","Lastname","Message","initialToken","get","authType","authUser","displayName","Email","mobile","Mobile","uid","photoURL","Image","hasChangedPassword","HasChangedPassword","gender","Sex","JSON","MenuForms","balance","Balance","CurrencyID","setTimeout","toggleNavCollapsed","authInformation","userDetailID","cb","getUserCreditAmountApi","err","console","useStyles","makeStyles","root","display","flex","minHeight","justifyContent","alignItems","Index","classes","className","src","default","alt","width","Loader","NoSsr","Box","height","position","top","left","right","bottom","CircularProgress","AppSuspense","Suspense","fallback","theme","padding","fontSize","fontWeight","minWidth","borderRadius","color","palette","secondary","contrastText","Badge","count","bgcolor","clsx","AppNavLink","forwardRef","ref","innerRef","containerHeader","flexDirection","breakpoints","up","paddingTop","linkIcon","paddingLeft","textbase","Fonts","REGULAR","backgroundColor","background","cardHeader","paddingRight","BOLD","marginBottom","cardContent","preTag","GridContainer","others","Grid","container","spacing","isBreakPointDown","PrimaryColorPicker","visible","setVisibility","primary","updateTheme","cpSwatch","cursor","marginRight","cpColor","main","border","grey","cpPopover","zIndex","onClick","component","onChangeComplete","hex","SecondaryColorPicker","SidebarColorPicker","sidebarColor","sidebar","bgColor","navStyles","alias","NavStyle","STANDARD","image","DEFAULT","MINI_SIDEBAR_TOGGLE","HEADER_USER","HEADER_USER_MINI","MINI","DRAWER","BIT_BUCKET","H_DEFAULT","HOR_LIGHT_NAV","HOR_DARK_LAYOUT","layoutTypes","LayoutType","FULL_WIDTH","BOXED","customizerOption","customizerButton","orange","rightSidebar","rightSidebarHeader","borderBottom","rightSidebarMain","customizerItem","paddingBottom","colorRow","flexWrap","navOption","marginLeft","navOptionItem","navOptionContent","navOptionRightIcon","transform","overflow","selectBox","toggleBtn","paper","borderColor","colorOptionList","margin","listStyle","wFull","textWhite","mb5","colorSet","PrimaryColor","SecondaryColor","SidebarColor","colorOption","text","colorOptionTriangle","marginTop","colorOptionBorder","colorOptionRightIcon","textBase","CustomColorCell","themeColorSet","updateThemeColors","themeMode","borderWidth","ThemeMode","LIGHT","IntlMessages","ThemeSetting","open","setCustomizerStatus","themeColor","setThemeColor","themeStyle","footer","footerType","setFooter","setFooterType","isRTL","rtAnim","changeRTAnim","navStyle","layoutType","updateLayoutStyle","IconButton","Drawer","anchor","onClose","Scrollbar","mb","xs","xl","ToggleButtonGroup","exclusive","onChange","event","ToggleButton","ThemeStyle","MODERN","active","SEMI_DARK","DARK","mt","themeColorSets","ml","Switch","checked","target","inputProps","pb","navLayout","onNavStyleChange","onLayoutChange","FormControl","variant","InputLabel","htmlFor","Select","labelWidth","e","MenuItem","FooterType","FIXED","FLUID","RouteTransition","NONE","FADE","SLIDE_LEFT","SLIDE_RIGHT","SLIDE_UP","SLIDE_DOWN","variantIcon","success","CheckCircleIcon","warning","WarningIcon","ErrorIcon","info","InfoIcon","useStyles1","green","dark","amber","icon","iconVariant","opacity","AppSnackbar","number","other","setOpen","Icon","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","SnackbarContent","btnRoot","AppFooter","Button","AppErrorBoundary","hasError","errorInfo","this","setState","Component","TransitionWrapper","location","TransitionGroup","appear","enter","exit","CSSTransition","timeout","classNames","key","ContentView","renderRoutes","AppAnimate","animation","runOnMount","targetQuerySelector","interruptBehavior","visibility","duration","delay","easing","rest","child","cloneElement","Expire","Language","ActiveRole","ForgetPasswordRetryTimer","encriptedData","CryptoJS","AES","encrypt","stringify","localStorage","setItem","lsData","getItem","bytes","decrypt","enc","Utf8","removeItem","injectIntl","muiLocale","AppLocale","isBelowMd","useBreakPointDown","useUrlSearchParams","params","theme_mode","is_rtl","document","setAttribute","nav_style","theme_style","overrides","MuiCard","MuiToggleButton","MuiButton","MuiCardLg","responsiveFontSizes","createMuiTheme","utils","MomentUtils","jss","create","plugins","jssPreset","rtlLocale","changeLocale","currentAppLocale","lastCurrentAppLocale","onError","warn","defaultLocale","messages","pointerEvents","textDecoration","HorizontalItem","dense","isUrlInChildren","parent","includes","ListItem","NavLink","to","mr","clone","ListItemText","withRouter","ClientOnlyPortal","selector","useRef","mounted","setMounted","current","querySelector","createPortal","button","popper","popperClose","fontsSize","pl0","HorizontalCollapse","match","nestedLevel","opened","setOpened","handleToggle","Manager","Reference","onMouseEnter","onMouseLeave","p","disableRipple","direction","Popper","placement","arrowProps","boxShadow","Grow","in","transformOrigin","Paper","Array","isArray","Fragment","fontBold","MEDIUM","ml2","textLg","HorizontalGroup","routesConfig","HorizontalNav","List","my","Divider","headerMain","borderLeft","headerMainFlex","headerContainer","maxWidth","menuButton","grow","flexGrow","sectionDesktop","sectionMobile","headerNav","menuItemRoot","pointer","menuIconRoot","logoRoot","shape","fade","white","align","down","searchIcon","inputRoot","inputInput","transition","transitions","boxSizing","inputBase","borderLight","searchIconBox","AppSearch","onlyIcon","overlap","iconPosition","iconStyle","placeholder","containerStyle","inputStyle","headerTop","borderBottomColor","alertStyle","textAlign","NotificationBar","Collapse","Alert","size","avatar","minWidth0","listItemRoot","crPopover","maxHeight","btnPopover","textTransform","notiBtn","badgeStyle","smsIcon","listRoot","HeaderMessages","borderLeftColor","notiIcon","list","badge","Notifications","userRoot","userInfo","userName","textOverflow","whiteSpace","bgType","HorUserInfo","anchorEl","setAnchorEl","py","pl","sm","md","currentTarget","Avatar","charAt","Hidden","mdDown","keepMounted","Boolean","AppLogo","logo","smUp","xsDown","AppHeader","mobileMoreAnchorEl","setMobileMoreAnchorEl","mobileMenuId","renderMobileMenu","LanguageSwitcher","AppBar","Toolbar","lgUp","edge","SearchBar","appMain","borderTop","borderTopColor","mainContent","mainContainer","boxedLayout","AppFixedFooter","crUserInfo","profilePic","designation","UserInfo","S","GENERAL","handleClose","px","Typography","toLocaleString","navItem","level","textColor","listIcon","listItemText","VerticalItem","useMemo","activeClassName","exact","needsToBeOpened","VerticalCollapse","NavVerticalGroup","Navigation","ActiveRoleName","drawerContainer","sidebarBg","drawerScrollAppSidebar","AppSidebar","ev","HorDefault","appMainFooter","appMainFixedFooter","appToolbar","menuIcon","appBar","verticalAlign","miniSidebar","opecity","scrollAppSidebar","sidebarStandard","sidebarClasses","mainContainerFull","MiniSidebar","DrawerLayout","StandardLayout","bucketMinibar","bucketMiniBtn","iconBtn","PrimarySearchAppBar","borderRight","iconOnly","bitBucketSidebar","appSidebarContainer","bitBucketBtn","isCollapsed","setCollapsed","sideBarComponent","bitBucketResHeader","BitBucket","bitBucketCollapsed","AppLogoWhite","HorLightNav","HorDarkLayout","middleRoot","isMobileMenuOpen","sidebarModern","DefaultLayout","crHeaderUser","header","HeaderUser","handleClick","getUserAvatarView","defaultProps","HeaderUserLayout","HeaderUserMiniLayout","MiniSidebarToggle","Layouts","Standard","black","InfoView","uuid","useStyle","appAuth","CremaLayout","InfoViewShow","contextReducer","disabled","hint","headerMode","ThemeStyleRadius","ContextState","useReducer","updateSidebarColor","updateHeaderMode","updatePrimaryColor","updateSecondaryColor","ERROR_404","ERROR_500","ERROR_COMING_SOON","ERROR_MAINTENANCE","SUBMIT_RECEIPT","CHECK_RECEIPT","REFUND_OR_VIOD","CONFIRM_REFUND_OR_VIOD","ISSUED_AWB_LIST","DRAFT_AWB_LIST","RESERVED_AWB_LIST","TEMPORARY_AWB_LIST","CCA_AWB_LIST","RETURN_MONEY_LIST","TRANSACTIONS_LIST","CREATE_AWB","ISSUED_AWB","RESERVED_AWB","CHARGE_USER","CHARGE_DETAIL","COMMISION","REPORTS","C_R_C","MANIFEST","RATE_CLASS","PRICING","PAYMENT_REDIRECT","ONLINE_CHARGE_DETAIL","PAYMENT_REPORT","USER_SETTINGS","USER_CHARGE_DETAIL","EnLang","enMessages","enUS","ZhLan","zhMessages","zhCN","saLang","saMessages","itIT","esES","en","enLang","zh","zhLang","ar","arLang","it","itLang","es","esLang","fr","frFR","cargoPagesConfig","path","lazy","Routes","AIR_PORT","ROUTE","ORIGIN_DESTINATION","AJANS","USERS","ROLES","LEVELS","HANDLING_SERVICES_COST","RECEIPT_HISTORY","AWB_LIST","AWB_ISSUER","CARGO_COST","SUBMIT_RECIEPT","DASHBOARD","APPROVED_RECIEPT","REFUND","TRANSACTIONS","RETURN_MONEY","cargoRouteConfig","errorPagesConfigs","authRouteConfig","routeConfigs","createRoutes","scrollToTop","staticContext","_scrollBarRef","_container","scrollTop","languageData","langBtn","overflowHidden","alignMiddle","textUppercase","anchorElLng","setAnchorElLng","langIconOnly","reload","changeLanguage","ROUTES","RATE_CLASS_BY_ID","RATE_CLASS_LIST","RATE_CLASS_CUSTOMIZE","RATE_CLASS_CUSTOMIZE_LIST","PRICING_PER_UNIT","PRICING_RATE_CLASS","AWB_CALCULATE","AWB","INSERT_AWB","UPDATE_AWB","AWB_RECIEPT_BY_ID","AWB_POST_CHECK","PRINT_DATA_CCA","PAYMENT_METHODS","PAYMENT_METHODSTYPES","ACCOUNT_TYPES","ACCOUNTING_RECEIPT","ACCOUNTING_RESUBMIT","MEDIA","MEDIA_ACCESS","MEDIA_ACCESS_SHOW","MEDIA_SHOW","AWB_SELECT_BY_ID","PRINT_DATA","AWB_PREVIEW","CCA_AWB","ISSUED_DRAFT_TEMP_LIST","PCPOS_TERMINAL_LIST","PCPOS_INQUERY_PAYMENT","PCPOS_INSERT_OR_UPDATE","PCPOS_INSERT_OR_UPDATE_CCA","CURRENCY","CURRENCY_WITH_REQUIRED","COST","HANDLING_CARGO_COST","HANDLING_CARGO_COST_LIST","HANDLING_CARGO_COST_BY_ID","HANDLING_LIST","ISSUER_AWB","AIRPORT_SELECT","AIRPORT_SELECT_BY_ID","AIRPORT_SAVE_CHANGE","AWB_RATE_CLASS_STATISTICS","AWB_USER","AWB_REFUND_LIST","AWB_REFUND","AWB_SALES_STATISTICS","AWB_CARGO_TYPE","DATE_MONTH","DATE_YEAR","USER_LIST","ROLE_LIST","OWNER_LIST","USER_TYPE_LIST","USER_ADD_UPDATE","USER_DELETE","USER_SELECT","USER_CREDIT","USER_USER_ACCESS","ROLE_ADD_UPDATE","ROLE_SELECT","ROLE_DELETE","LEVEL_LIST","LEVEL_ADD_UPDATE","LEVEL_SELECT","LEVEL_DELETE","FORM_LIST","ENUM_SERVICES","LANGUAGE","CITY","WORLD","COUNTRY","SPECIAL_CARGO_TYPE","GOOD_TYPE","AIRPORT","AUTH","RECEIPT_HISTORY_LIST","RECEIPT_HISTORY_SELECT","RECEIPT_DELETE","AWB_HISTORY_LIST","RETURN_MONEY_BY_ID","POST_RETURN_MONEY","CHECK_USER","SEND_SMS","CHECK_FORGETPASSWORD_CODE","UPDATE_PASSWORD","PAYMENT_STATUS","GET_REPORT_LIST","GET_TRANSACTION_TYPE","GET_AWB_STATUS_TYPE","GET_RETURN_MONEY_TYPE","VOID_OR_REFUND_FOR_CONFIRMATION","VOID_OR_REFUND_CONFIRMATION_OR_REJECT","api","instanceAxios","res","catch","getWithParams","param","put","patch","delete","upload","instanceAxiosFormData","getCityList","getUserList","getRoleList","getLevelList","roleID","getOwnerList","userTypeID","getUserTypeList","getUserAccessToOtherAWBIDList","userAddUpdate","userDelete","userID","getUserSelect","getUserCreditAmount","AWB_ISSUER_HISTORY","AWB_NEW","FORBIDDEN","EDIT_AWB","EDIT_FILES_AWB","EDIT_DRAFT_AWB","EDIT_TEMPORARY_AWB","SIGN_IN","FORGET_PASSWORD","VOID_CONFIRMATION","AWB_LISTS","innerWidth","useTheme","useMediaQuery","allRoutes","forEach","config","setRoutes","IntlGlobalProvider","useIntl","routeAuth","userRole","some","r","createBreakpoints","cardRadius","gray","A100","A200","A400","A700","red","redPalette","orangePalette","yellow","yellowPalette","status","danger","divider","typography","fontFamily","MuiTypography","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","headerType","HeaderType","ApiResultStatus","SUCCESS","CODE","MESSAGE","FAILED","NOT_FOUND","UNAUTHORIZED","CONFLICT","INTERNAL_SERVER","axios","baseURL","headers","jwtAxiosFormData","interceptors","use","replace","Store","href","reject","defaults","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.29d7b16f.chunk.js","sourcesContent":["import IapiAuthDetails from '../../shared/Interfaces/apiAuthDetails';\r\n\r\nconst genRoute = (route: any, auth: IapiAuthDetails) =>\r\n route +\r\n '?CallerUserDetailID=' +\r\n auth.CallerUserDetailID +\r\n '&CallerFormID=' +\r\n auth.CallerFormID;\r\n\r\nexport {genRoute};\r\nexport default genRoute;\r\n","import {createContext} from 'react';\r\nexport const LanguageContext = createContext({});\r\n","import React from 'react';\r\nimport AppContextPropsType from '../../types/AppContextPropsType';\r\nimport defaultConfig from './ContextProvider/defaultConfig';\r\n\r\nexport default React.createContext(defaultConfig);\r\n","export enum PAGE_ID {\r\n AWB_GENERAL = -1,\r\n GENERAL = 0,\r\n RATE_CLASS = 2,\r\n RATE_CLASS_EDIT = 3,\r\n RATE_CLASS_CUSTOMIZE_EDIT = 4,\r\n RATE_CLASS_NEW = 26,\r\n RATE_CLASS_EDIT_NEW = 27,\r\n PRICING = 5,\r\n AWB = 7,\r\n AWB_REFUND = 33,\r\n // SUBMIT_RECEIPT = 29,\r\n AWB_TEMPRORARY = 9,\r\n AWB_RESERVED = 48,\r\n AWB_FORM = 8,\r\n AIR_PORT = 14,\r\n AIR_PORT_FORM = 15,\r\n ORIGIN_DESTINATION = 16,\r\n ORIGIN_DESTINATION_FORM = 17,\r\n ROUTE = 18,\r\n ROUTE_FORM = 19,\r\n CARGO_COST = 20,\r\n ISSUER_AWB = 24, //?\r\n HANDLING_SERVICE_COST = 30,\r\n APPROVED_RECIEPT = 32,\r\n //Dashboard\r\n USER = 34,\r\n ROLE = 36,\r\n LEVEL = 37,\r\n DASHBOARD = 31,\r\n CCA = 35,\r\n TRANSACTIONS = 38,\r\n __RETURN_MONEY = 39,\r\n //////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////\r\n REPORT = 41,\r\n VOID_CONFIRMATION = 42,\r\n ISSUED_AWB = 43,\r\n DRAFTED_AWB = 44,\r\n TEMPORARY_AWB = 45,\r\n CCA_AWB = 35,\r\n SUBMIT_RECEIPT = 46,\r\n CHECK_RECEIPT = 47,\r\n REQUEST_REFUND_OR_VOID = 33,\r\n CONFORM_REFUND_OR_VOID = 42,\r\n RETURN_MONEY = 39,\r\n RESERVED_AWB = 999,\r\n CHARGE_USER = 49,\r\n CustomizeRateClass = 50,\r\n OnlineCharge = 51,\r\n Manifest = 52,\r\n PaymentReport = 52,\r\n USER_SETTINGS = 53,\r\n USER_CHARGE_DETAIL = 54,\r\n}\r\n","import React, {useState, useEffect, useContext, useCallback} from 'react';\r\nimport {LanguageContext} from './languageContext';\r\nimport {FormLabels} from '../../containers/layouts/routesConfig';\r\nimport {\r\n JsonToMenu,\r\n JsonToMenuLevel,\r\n jsonToTranslate,\r\n} from '../../api/translate';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport AppContextPropsType from 'types/AppContextPropsType';\r\nimport {AppContext} from '@crema';\r\nimport {\r\n Write,\r\n ActiveRole as ActiveRoleKey,\r\n Read,\r\n Token as TokenKey,\r\n} from 'utils/localstorage';\r\nimport {getCreditAmount} from '../../redux/actions';\r\nimport {PAGE_ID} from './Enum_PageID';\r\nimport GifLoading from '@shared/gifLoading';\r\n\r\nconst LanguageContextProvider: React.FC<{}> = ({children}) => {\r\n const user = useSelector((store: any) => store.auth);\r\n let route: FormLabels[] = [];\r\n const [allMenu, setAllMenu] = useState([]);\r\n const [activeRoleId, setActiveRoleId] = useState();\r\n const [translation, setTranslation] = useState(route);\r\n const [menu, setMenu] = useState([]);\r\n const {locale} = useContext(AppContext);\r\n const dispatch = useDispatch();\r\n const token = Read(TokenKey);\r\n\r\n const translate = useCallback(\r\n (formid: string | any, id: string): {name: string; hasAccess: boolean} => {\r\n const formId = parseInt(formid); //formid from url\r\n const form = translation?.find((f) => f.id === formId);\r\n if (form) {\r\n const index = form.labels.findIndex((x) => x.id === id);\r\n if (index >= 0)\r\n return {\r\n name: form.labels[index].name,\r\n hasAccess: !!form?.labels?.[index]?.hasAccess ?? false,\r\n };\r\n else return {name: id, hasAccess: false};\r\n }\r\n return {name: id, hasAccess: false};\r\n },\r\n [translation],\r\n );\r\n\r\n const updateCreditAmount = useCallback(() => {\r\n dispatch(getCreditAmount(activeRoleId, setActiveRoleId));\r\n }, [activeRoleId, dispatch]);\r\n\r\n const handleActiveRoleIDChange = useCallback(\r\n (newId: any) => {\r\n dispatch(getCreditAmount(newId, setActiveRoleId));\r\n },\r\n [dispatch],\r\n );\r\n\r\n useEffect(() => {\r\n if (user?.user?.menu) {\r\n const activeRoleId = user.user.menu.find(\r\n (role: any) => role.IsDefaultRole,\r\n )?.UserDetailID;\r\n if (activeRoleId) {\r\n handleActiveRoleIDChange(activeRoleId);\r\n } else {\r\n const firstRoleId = user.user.menu?.[0]?.UserDetailID;\r\n handleActiveRoleIDChange(firstRoleId);\r\n }\r\n\r\n setAllMenu(user.user.menu);\r\n const mapMenu = JsonToMenu(\r\n activeRoleId,\r\n user.user.menu,\r\n locale.locale.toUpperCase(),\r\n );\r\n setMenu(mapMenu);\r\n const mapTranslate = jsonToTranslate(\r\n activeRoleId,\r\n user.user.menu,\r\n locale.locale.toUpperCase(),\r\n );\r\n setTranslation(mapTranslate);\r\n }\r\n }, [user, handleActiveRoleIDChange]);\r\n\r\n useEffect(() => {\r\n if (user?.user?.menu) {\r\n const mapTranslate = jsonToTranslate(\r\n activeRoleId,\r\n user.user.menu,\r\n locale.locale.toUpperCase(),\r\n );\r\n setTranslation(mapTranslate);\r\n Write(ActiveRoleKey, activeRoleId);\r\n }\r\n }, [locale, activeRoleId, user]);\r\n\r\n const getUserCredit = useCallback(() => {\r\n if (user?.user?.menu) {\r\n const temp = user?.user?.menu;\r\n if (activeRoleId) {\r\n const result = temp.find(\r\n (m: any) => m.UserDetailID === activeRoleId,\r\n )?.Credit;\r\n if (result) {\r\n return [result, 'IRR'];\r\n } else return null;\r\n } else return null;\r\n } else return null;\r\n }, [user, activeRoleId]);\r\n\r\n const translateOptions = useCallback(\r\n (id: PAGE_ID): ITranslate => {\r\n return {\r\n translateLabel: (label: string) => translate(id, label).name,\r\n translateLabelAccess: (label: string) => translate(id, label).hasAccess,\r\n };\r\n },\r\n [translate],\r\n );\r\n\r\n return (\r\n \r\n {token ? activeRoleId ? children : : children}\r\n \r\n );\r\n};\r\n\r\n//-------------------------------Translate Consumer...\r\ninterface ITranslate {\r\n translateLabel: (arg0: string) => string;\r\n translateLabelAccess: (arg0: string) => boolean;\r\n}\r\n\r\nexport const LanguageConsumers = () => useContext(LanguageContext);\r\n\r\nexport const Translate = (id: PAGE_ID): ITranslate => {\r\n const language: any = useContext(LanguageContext);\r\n const translate_ = language.translate;\r\n return {\r\n translateLabel: (label: string) => translate_(id, label).name,\r\n translateLabelAccess: (label: string) => translate_(id, label).hasAccess,\r\n };\r\n};\r\n\r\n//------------------------------Menu Consumer...\r\nexport const Menu = () => {\r\n const {allMenu, activeRoleId, locale} = useContext(LanguageContext);\r\n return JsonToMenu(activeRoleId, allMenu, locale);\r\n};\r\n\r\nexport const MenuLevel = () => {\r\n const {allMenu, activeRoleId, locale} = useContext(LanguageContext);\r\n return JsonToMenuLevel(activeRoleId, allMenu, locale);\r\n};\r\n\r\n//------------------------------Menu Consumer...\r\nexport const GetActiveRoleName = () => {\r\n const {allMenu, activeRoleId} = useContext(LanguageContext);\r\n return (\r\n allMenu.find((role: any) => role.UserDetailID === activeRoleId)?.RoleName ??\r\n 'Default'\r\n );\r\n};\r\n\r\n//------------------------------Active Roles Id...\r\nexport const ActiveRoleId = () => {\r\n const {activeRoleId} = useContext(LanguageContext);\r\n return activeRoleId;\r\n};\r\n\r\nexport const ActiveRoleOwnerID = () => {\r\n const {allMenu, activeRoleId} = useContext(LanguageContext);\r\n return allMenu.find((role: any) => role.UserDetailID === activeRoleId)\r\n ?.OwnerID;\r\n};\r\n\r\n//export provider as default\r\nexport default LanguageContextProvider;\r\nexport {PAGE_ID};\r\n","import {AuthUser} from '../../types/models/AuthUser';\r\nimport {AuthType} from './AppEnums';\r\n\r\nexport const authRole = {\r\n admin: ['admin'],\r\n user: ['user', 'admin'],\r\n};\r\n\r\nexport const defaultUser: AuthUser = {\r\n uid: 'RFedvhji876rfhjuecvh7',\r\n displayName: 'John Alex',\r\n email: 'demo@example.com',\r\n token: 'access-token',\r\n role: authRole.user,\r\n authType: AuthType.AUTH0,\r\n photoURL: '/assets/images/avatar/A11.jpg',\r\n};\r\nexport const initialUrl = '/cargo/dashboard'; // this url will open after login\r\n\r\nexport const TABLES_CONFIG = {\r\n OFFSET: 0,\r\n LENGTH: 10,\r\n};\r\n\r\nexport const BaseUrl = process.env.REACT_APP_BASE_URL;\r\nexport const BaseFileUrl = process.env.REACT_APP_FILE_BASE_URL;\r\n","import React, {ReactNode, useContext, useEffect} from 'react';\r\nimport {useHistory, useLocation} from 'react-router';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {matchRoutes} from 'react-router-config';\r\nimport qs from 'qs';\r\nimport AppContext from './AppContext';\r\nimport {useAuthToken} from './AppHooks';\r\n// import {Loader} from '../index';\r\nimport {checkPermission} from './Utils';\r\nimport {initialUrl} from '../../shared/constants/AppConst';\r\nimport {setInitialPath} from '../../redux/actions';\r\nimport {AppState} from '../../redux/store';\r\nimport AppContextPropsType from '../../types/AppContextPropsType';\r\nimport {NavStyle, ThemeMode, ThemeStyle} from '../../shared/constants/AppEnums';\r\nimport {pageRoutes} from 'containers';\r\nimport GifLoading from '@shared/gifLoading';\r\n\r\ninterface AuthRoutesProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst AuthRoutes: React.FC = ({children}) => {\r\n const {pathname, search} = useLocation();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const {routes, changeNavStyle, updateThemeStyle, updateThemeMode, setRTL} =\r\n useContext(AppContext);\r\n\r\n const [loading, user] = useAuthToken();\r\n const {initialPath} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n\r\n const currentRoute = matchRoutes(routes, pathname)[0].route;\r\n let isPermitted = checkPermission(currentRoute.auth, user ? user.role : null);\r\n\r\n useEffect(() => {\r\n function setInitPath() {\r\n if (\r\n initialPath === '/' &&\r\n [\r\n '/signin',\r\n '/signup',\r\n '/confirm-signup',\r\n '/reset-password',\r\n pageRoutes.ERROR_403,\r\n '/forget-password',\r\n ].indexOf(pathname) === -1\r\n ) {\r\n if (isPermitted) {\r\n dispatch(setInitialPath(pathname));\r\n } else {\r\n dispatch(setInitialPath(undefined));\r\n }\r\n }\r\n }\r\n\r\n setInitPath();\r\n }, [dispatch, isPermitted, initialPath, pathname]);\r\n\r\n useEffect(() => {\r\n function handleQueryParams() {\r\n const query = qs.parse(search.split('?')[1]);\r\n if (query.layout) {\r\n changeNavStyle(query.layout as NavStyle);\r\n }\r\n if (query.mode) {\r\n updateThemeMode(query.mode as ThemeMode);\r\n }\r\n if (query.rtl) {\r\n setRTL(true);\r\n }\r\n if (query.style) {\r\n updateThemeStyle!(query.style as ThemeStyle);\r\n }\r\n }\r\n\r\n if (search) {\r\n handleQueryParams();\r\n }\r\n }, [changeNavStyle, updateThemeMode, setRTL, updateThemeStyle, search]);\r\n\r\n useEffect(() => {\r\n if (!loading) {\r\n if (!user && !isPermitted) {\r\n history.push('/signin'); // allowed route\r\n } else if (user && !isPermitted) {\r\n history.push(pageRoutes.ERROR_403); // Not found\r\n } else if (user && isPermitted) {\r\n if (\r\n pathname === '/' ||\r\n pathname === '/signin' ||\r\n pathname === '/signup'\r\n ) {\r\n history.push(initialUrl);\r\n } else {\r\n // @ts-ignore\r\n if (\r\n initialPath &&\r\n initialUrl !== initialPath &&\r\n initialPath !== '/'\r\n // initialPath !== '/signin' ||\r\n // initialPath !== '/signup')\r\n ) {\r\n // history.push(initialPath);\r\n }\r\n }\r\n }\r\n }\r\n }, [user, loading, initialPath, isPermitted, pathname, history]);\r\n return loading ? : <>{children};\r\n};\r\n\r\nexport default AuthRoutes;\r\n","import React, {memo, useEffect, useState} from 'react';\r\nimport {\r\n Read,\r\n Remove,\r\n Token as TokenKey,\r\n Expire as ExpireKey,\r\n} from '../../utils/localstorage';\r\nimport {useDispatch} from 'react-redux';\r\nimport {loadJWTUser, onJWTAuthSignout} from 'redux/actions';\r\nimport GifLoading from '@shared/gifLoading';\r\n\r\nexport default memo((props: any) => {\r\n const {children} = props;\r\n const [ready, setReady] = useState(false);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n const token = Read(TokenKey);\r\n const expire = Read(ExpireKey);\r\n\r\n if (token) {\r\n const now = Date.now();\r\n if (Number(expire) < now) {\r\n Remove(TokenKey);\r\n Remove(ExpireKey);\r\n dispatch(onJWTAuthSignout());\r\n setReady(true);\r\n } else {\r\n dispatch(loadJWTUser());\r\n setReady(true);\r\n }\r\n } else {\r\n dispatch(onJWTAuthSignout());\r\n Remove(ExpireKey);\r\n setReady(true);\r\n }\r\n }, [dispatch]);\r\n\r\n return ready ? children : ;\r\n});\r\n","import {Setting} from '../../types/models/Setting';\r\nimport {\r\n ROUTE_CHANGE,\r\n SET_INITIAL_PATH,\r\n SettingsActionTypes,\r\n TOGGLE_NAV_COLLAPSED,\r\n} from '../../types/actions/Settings.action';\r\n\r\nconst initialSettings: Setting = {\r\n navCollapsed: false,\r\n initialPath: '/',\r\n};\r\n\r\nconst Settings = (state = initialSettings, action: SettingsActionTypes) => {\r\n switch (action.type) {\r\n case ROUTE_CHANGE:\r\n return {\r\n ...state,\r\n navCollapsed: false,\r\n };\r\n\r\n case TOGGLE_NAV_COLLAPSED:\r\n return {\r\n ...state,\r\n navCollapsed: !state.navCollapsed,\r\n };\r\n\r\n case SET_INITIAL_PATH:\r\n return {\r\n ...state,\r\n initialPath: action.initialPath,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default Settings;\r\n","import {Common} from '../../types/models/Common';\r\nimport {\r\n CommonActionTypes,\r\n FETCH_ERROR,\r\n FETCH_START,\r\n FETCH_SUCCESS,\r\n HIDE_MESSAGE,\r\n SHOW_MESSAGE,\r\n TOGGLE_APP_DRAWER,\r\n} from '../../types/actions/Common.action';\r\n\r\nconst INIT_STATE: Common = {\r\n error: '',\r\n loading: false,\r\n isAppDrawerOpen: false,\r\n updatingContent: false,\r\n message: '',\r\n};\r\n\r\nconst CommonReducer = (\r\n state = INIT_STATE,\r\n action: CommonActionTypes,\r\n): Common => {\r\n switch (action.type) {\r\n case FETCH_START: {\r\n return {...state, error: '', message: '', loading: true};\r\n }\r\n case FETCH_SUCCESS: {\r\n return {\r\n ...state,\r\n error: '',\r\n message: action?.message || '',\r\n loading: false,\r\n updatingContent: false,\r\n };\r\n }\r\n case SHOW_MESSAGE: {\r\n return {\r\n ...state,\r\n error: '',\r\n message: action.message,\r\n loading: false,\r\n updatingContent: false,\r\n };\r\n }\r\n case FETCH_ERROR: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.error,\r\n message: '',\r\n updatingContent: false,\r\n };\r\n }\r\n case HIDE_MESSAGE: {\r\n return {\r\n ...state,\r\n loading: false,\r\n error: '',\r\n message: '',\r\n updatingContent: false,\r\n };\r\n }\r\n case TOGGLE_APP_DRAWER: {\r\n return {\r\n ...state,\r\n isAppDrawerOpen: !state.isAppDrawerOpen,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\nexport default CommonReducer;\r\n","import {AppActions} from '../../types';\r\nimport {\r\n SET_AUTH_TOKEN,\r\n SIGNOUT_AUTH_SUCCESS,\r\n UPDATE_AUTH_USER,\r\n} from '../../types/actions/Auth.actions';\r\nimport {AuthUser} from '../../types/models/AuthUser';\r\n\r\nconst INIT_STATE: {user: AuthUser | null; token: string | null} = {\r\n user: null,\r\n token: null,\r\n};\r\n\r\nconst Auth = (state = INIT_STATE, action: AppActions) => {\r\n switch (action.type) {\r\n case UPDATE_AUTH_USER: {\r\n return {\r\n ...state,\r\n user: action.payload,\r\n };\r\n }\r\n\r\n case SIGNOUT_AUTH_SUCCESS: {\r\n return {\r\n ...state,\r\n user: null,\r\n };\r\n }\r\n\r\n case SET_AUTH_TOKEN: {\r\n return {\r\n ...state,\r\n token: action.payload,\r\n };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\nexport default Auth;\r\n","import {UPDATE_USER_CREDIT} from '../../types/actions/Auth.actions';\r\n\r\nconst initialState: any = {\r\n credit: 0,\r\n currency: null,\r\n};\r\n\r\nconst Credit = (state = initialState, action: any) => {\r\n switch (action.type) {\r\n case UPDATE_USER_CREDIT: {\r\n return {\r\n ...state,\r\n ...action.payload,\r\n };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\nexport default Credit;\r\n","import Settings from './Setting';\r\nimport CommonReducer from './CommonReducer';\r\nimport Auth from './Auth';\r\nimport Credit from './Credit';\r\n\r\nconst reducers = {\r\n settings: Settings,\r\n auth: Auth,\r\n common: CommonReducer,\r\n credit: Credit,\r\n};\r\n\r\nexport default reducers;\r\n","import {applyMiddleware, combineReducers, compose, createStore} from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport {connectRouter, routerMiddleware} from 'connected-react-router';\r\nimport reducers from '../reducers';\r\nimport {setAuthToken} from '../../@crema/services/auth/jwt-auth/jwt-api';\r\n\r\nconst createBrowserHistory = require('history').createBrowserHistory;\r\nconst history = createBrowserHistory();\r\nconst rootReducer = combineReducers({\r\n ...reducers,\r\n router: connectRouter(history),\r\n});\r\n\r\nexport type AppState = ReturnType;\r\n\r\nexport default function configureStore(initialState?: AppState) {\r\n const middleware = [thunk, routerMiddleware(history)];\r\n\r\n const enhancers = [];\r\n const windowIfDefined =\r\n typeof window === 'undefined' ? null : (window as any);\r\n if (windowIfDefined && windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__) {\r\n enhancers.push(windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__());\r\n }\r\n\r\n const store = createStore(\r\n rootReducer,\r\n initialState,\r\n compose(applyMiddleware(...middleware), ...enhancers),\r\n );\r\n let currentState = store.getState();\r\n store.subscribe(() => {\r\n // keep track of the previous and current state to compare changesAppLayout/index.j\r\n let previousState = currentState;\r\n currentState = store.getState();\r\n // if the token changes set the value in localStorage and axios headers\r\n if (previousState.auth.token !== currentState.auth.token) {\r\n const token = currentState.auth.token;\r\n setAuthToken(token);\r\n }\r\n });\r\n return store;\r\n}\r\n\r\nexport {history};\r\n\r\n// export type AppState = ReturnType;\r\n","import React from 'react';\r\nimport {Provider} from 'react-redux';\r\nimport {ConnectedRouter} from 'connected-react-router';\r\nimport AppLayout from '@crema/core/AppLayout';\r\nimport AuthRoutes from '@crema/utility/AuthRoutes';\r\nimport LocaleProvider from '@crema/utility/LocaleProvider';\r\nimport CremaThemeProvider from '@crema/utility/CremaThemeProvider';\r\nimport CremaStyleProvider from '@crema/utility/CremaStyleProvider';\r\nimport ContextProvider from '@crema/utility/ContextProvider';\r\nimport LanguageContextProvider from './context/languageContext';\r\nimport Startup from './context/StartUp';\r\n\r\nimport configureStore, {history} from './redux/store';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\n\r\nconst store = configureStore();\r\n\r\nconst App = () => (\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\n \r\n \r\n \r\n);\r\n\r\nexport {store};\r\nexport default App;\r\n","import {useDispatch, useSelector} from 'react-redux';\r\nimport {useEffect, useState} from 'react';\r\nimport {fetchStart, fetchSuccess, setJWTToken} from '../../redux/actions';\r\n// import {AuthType} from '../../shared/constants/AppEnums';\r\n// import {defaultUser} from '../../shared/constants/AppConst';\r\n// import jwtAxios from '../services/auth/jwt-auth/jwt-api';\r\nimport {AppState} from '../../redux/store';\r\n// import {UPDATE_AUTH_USER} from '../../types/actions/Auth.actions';\r\nimport {AuthUser} from '../../types/models/AuthUser';\r\nimport {Read, Token as TokenKey} from '../../utils/localstorage';\r\n\r\nexport const useAuthToken = (): [boolean, AuthUser | null] => {\r\n const dispatch = useDispatch();\r\n const [loading, setLoading] = useState(true);\r\n const {user} = useSelector(({auth}) => auth);\r\n\r\n useEffect(() => {\r\n const validateAuth = async () => {\r\n dispatch(fetchStart());\r\n const token = Read(TokenKey);\r\n if (!token) {\r\n dispatch(fetchSuccess());\r\n return;\r\n }\r\n dispatch(setJWTToken(token));\r\n try {\r\n // const res = await jwtAxios.get('/auth');\r\n dispatch(fetchSuccess());\r\n // dispatch({\r\n // type: UPDATE_AUTH_USER,\r\n // payload: {\r\n // authType: AuthType.JWT_AUTH,\r\n // displayName: 'username',\r\n // email: 'mail',\r\n // role: ['user'],\r\n // token: token,\r\n // uid: '123',\r\n // photoURL: '',\r\n // },\r\n // });\r\n return;\r\n } catch (err) {\r\n dispatch(fetchSuccess());\r\n return;\r\n }\r\n };\r\n\r\n const checkAuth = () => {\r\n Promise.all([validateAuth()]).then(() => {\r\n setLoading(false);\r\n });\r\n };\r\n checkAuth();\r\n }, [dispatch]);\r\n\r\n return [loading, user];\r\n};\r\n\r\nexport const useAuthUser = (): AuthUser | null => {\r\n const {user} = useSelector(({auth}) => auth);\r\n if (user) {\r\n return user;\r\n }\r\n return null;\r\n};\r\n","import {NavItemProps, FormLabels} from '../../containers/layouts/routesConfig';\r\nimport api, {ROUTES} from '../index';\r\n\r\nlet menuBuilder: any[] = [\r\n {\r\n RoleID: 1,\r\n UserDetailID: 2,\r\n RoleName: 'Admin',\r\n IsDefaultRole: 1,\r\n Forms: [\r\n {\r\n ID: 0,\r\n HasShow: false,\r\n IsForm: 1,\r\n Actions: [\r\n {\r\n ID: 'Are you sure to delete?',\r\n Name: 'Are you sure to delete?',\r\n FormObjectTypeID: 3,\r\n },\r\n ],\r\n },\r\n {\r\n ID: 1,\r\n Name: 'Basic Data',\r\n HasShow: true,\r\n IsForm: 0,\r\n URL: '/cargo/rate-class/2',\r\n },\r\n {\r\n ID: 6,\r\n Name: 'Parent Test',\r\n HasShow: true,\r\n IsForm: 0,\r\n URL: '',\r\n },\r\n {\r\n ID: 2,\r\n Name: 'Rate Class',\r\n HasShow: true,\r\n IsForm: 1,\r\n URL: '/cargo/rate-class/2',\r\n ParentID: 1,\r\n Actions: [\r\n {\r\n ID: 'Name',\r\n Name: 'Name',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'From_Weight',\r\n Name: 'From Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'To_Weight',\r\n Name: 'To Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'CalculationType',\r\n Name: 'CalculationType',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Factor',\r\n Name: 'Factor',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Add',\r\n Name: 'Add',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n {\r\n ID: 'Edit',\r\n Name: 'Edit',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n {\r\n ID: 'Delete',\r\n Name: 'Delete',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n {\r\n ID: 'RowNo',\r\n Name: 'RowNo',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Origin',\r\n Name: 'Origin',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Destination',\r\n Name: 'Destination',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'FromDate',\r\n Name: 'FromDate',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'ToDate',\r\n Name: 'ToDate',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Add Customize',\r\n Name: 'Add Customize',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n {\r\n ID: 'Edit Customize',\r\n Name: 'Edit',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n {\r\n ID: 'Delete Customize',\r\n Name: 'Delete',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n ],\r\n },\r\n {\r\n ID: 5,\r\n Name: 'Pricing',\r\n HasShow: true,\r\n IsForm: 1,\r\n URL: '/cargo/pricing/3',\r\n ParentID: 1,\r\n },\r\n {\r\n ID: 3,\r\n Name: 'Define Rate Class',\r\n HasShow: false,\r\n IsForm: 1,\r\n URL: '',\r\n ParentID: 2,\r\n Actions: [\r\n {\r\n ID: 'Name',\r\n Name: 'Name',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'From_Weight',\r\n Name: 'From Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'To_Weight',\r\n Name: 'To Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Per_Kiloo',\r\n Name: 'Per Kg',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Total',\r\n Name: 'Total',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Description',\r\n Name: 'Description',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Factor',\r\n Name: 'Factor',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Disabled',\r\n Name: 'Disabled',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Enabled',\r\n Name: 'Enabled',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Cancel',\r\n Name: 'Cancel',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n {\r\n ID: 'Save',\r\n Name: 'Save',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n ],\r\n },\r\n {\r\n ID: 4,\r\n Name: 'Customize Rate Class',\r\n HasShow: false,\r\n IsForm: 1,\r\n ParentID: 2,\r\n Actions: [\r\n {\r\n ID: 'Origin',\r\n Name: 'Origin',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Destination',\r\n Name: 'Destination',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'FromDatetime',\r\n Name: 'FromDatetime',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'ToDatetime',\r\n Name: 'ToDatetime',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'From_Weight',\r\n Name: 'From Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'To_Weight',\r\n Name: 'To Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Per_Kiloo',\r\n Name: 'Per Kg',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Total',\r\n Name: 'Total',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Description',\r\n Name: 'Description',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Disabled',\r\n Name: 'Disabled',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Enabled',\r\n Name: 'Enabled',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Cancel',\r\n Name: 'Cancel',\r\n FormObjectTypeID: 2,\r\n HasAccess: 0,\r\n },\r\n {\r\n ID: 'Save',\r\n Name: 'Save',\r\n FormObjectTypeID: 2,\r\n HasAccess: 0,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n RoleID: 2,\r\n UserDetailID: 8,\r\n RoleName: 'Commercial Manager',\r\n IsDefaultRole: 0,\r\n Forms: [\r\n {\r\n ID: 0,\r\n HasShow: false,\r\n IsForm: 1,\r\n Actions: [\r\n {\r\n ID: 'Are you sure to delete?',\r\n Name: 'Are you sure to delete?',\r\n FormObjectTypeID: 3,\r\n },\r\n ],\r\n },\r\n {\r\n ID: 1,\r\n Name: 'Basic Data',\r\n HasShow: true,\r\n IsForm: 0,\r\n URL: '',\r\n },\r\n {\r\n ID: 2,\r\n Name: 'Rate Class',\r\n HasShow: true,\r\n IsForm: 1,\r\n URL: '',\r\n ParentID: 1,\r\n Actions: [\r\n {\r\n ID: 'Name',\r\n Name: 'Name',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'From_Weight',\r\n Name: 'From Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'To_Weight',\r\n Name: 'To Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'CalculationType',\r\n Name: 'CalculationType',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Factor',\r\n Name: 'Factor',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Add',\r\n Name: 'Add',\r\n FormObjectTypeID: 2,\r\n HasAccess: 0,\r\n },\r\n {\r\n ID: 'Edit',\r\n Name: 'Edit',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n {\r\n ID: 'Delete',\r\n Name: 'Delete',\r\n FormObjectTypeID: 2,\r\n HasAccess: 0,\r\n },\r\n {\r\n ID: 'RowNo',\r\n Name: 'RowNo',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Origin',\r\n Name: 'Origin',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Destination',\r\n Name: 'Destination',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'FromDate',\r\n Name: 'FromDate',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'ToDate',\r\n Name: 'ToDate',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Add Customize',\r\n Name: 'Add Customize',\r\n FormObjectTypeID: 2,\r\n HasAccess: 0,\r\n },\r\n {\r\n ID: 'Edit Customize',\r\n Name: 'Edit',\r\n FormObjectTypeID: 2,\r\n HasAccess: 0,\r\n },\r\n {\r\n ID: 'Delete Customize',\r\n Name: 'Delete',\r\n FormObjectTypeID: 2,\r\n HasAccess: 0,\r\n },\r\n ],\r\n },\r\n {\r\n ID: 3,\r\n Name: 'Define Rate Class',\r\n HasShow: false,\r\n IsForm: 1,\r\n URL: '',\r\n ParentID: 2,\r\n Actions: [\r\n {\r\n ID: 'Name',\r\n Name: 'Name',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'From_Weight',\r\n Name: 'From Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'To_Weight',\r\n Name: 'To Weight',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Per_Kiloo',\r\n Name: 'Per Kg',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Total',\r\n Name: 'Total',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Description',\r\n Name: 'Description',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Factor',\r\n Name: 'Factor',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Disabled',\r\n Name: 'Disabled',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Enabled',\r\n Name: 'Enabled',\r\n FormObjectTypeID: 1,\r\n },\r\n {\r\n ID: 'Cancel',\r\n Name: 'Cancel',\r\n FormObjectTypeID: 2,\r\n HasAccess: 1,\r\n },\r\n {\r\n ID: 'Save',\r\n Name: 'Save',\r\n FormObjectTypeID: 2,\r\n HasAccess: 0,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n];\r\n\r\nexport const JsonToMenu: (\r\n activeRole: any,\r\n data: any[],\r\n lang: string,\r\n) => NavItemProps[] = (activeRole, data, lang) => {\r\n const forms = data.find((role: any) => role.UserDetailID === activeRole)\r\n ?.Forms;\r\n // const forms = data.find((role: any) => role.RoleID === activeRole)?.Forms;\r\n if (forms) {\r\n const newForms: NavItemProps[] = forms\r\n .filter((item: any) => item.Name)\r\n .map((item: any) => ({\r\n id: item.ID.toString(),\r\n messageId: item.Name || '',\r\n title: item.Name || '',\r\n parentId: item.ParentID ? item.ParentID.toString() : undefined,\r\n children: [],\r\n url: item.URL || '', //?\r\n type: item.IsForm === 1 ? 'item' : 'collapse',\r\n }));\r\n for (let i = 0; i < newForms.length; i++) {\r\n if (newForms[i].parentId !== undefined) {\r\n const parentId = newForms[i].parentId;\r\n const parentIndex = newForms.findIndex((item) => item.id === parentId);\r\n if (parentIndex >= 0) {\r\n newForms[parentIndex].children?.push(newForms[i]);\r\n }\r\n }\r\n }\r\n return newForms.filter((x) => x.parentId === undefined);\r\n }\r\n return [];\r\n};\r\n\r\nexport const JsonToMenuLevel: (\r\n activeRole: any,\r\n data: any[],\r\n lang: string,\r\n) => NavItemProps[] = (activeRole, data, lang) => {\r\n const forms = data.find((role: any) => role.UserDetailID === activeRole)\r\n ?.Forms;\r\n // const forms = data.find((role: any) => role.RoleID === activeRole)?.Forms;\r\n if (forms) {\r\n const newForms: NavItemProps[] = forms\r\n .filter((item: any) => item.Name)\r\n .map((item: any) => ({\r\n id: item.ID.toString(),\r\n messageId: item.Name || '',\r\n Name: item.Name || '',\r\n parentId: item.ParentID ? item.ParentID.toString() : undefined,\r\n // actions: [],\r\n url: item.URL || '', //?\r\n actions: item.Actions || '', //?\r\n children: [], //?\r\n type: item.IsForm === 1 ? 'item' : 'collapse',\r\n }));\r\n for (let i = 0; i < newForms.length; i++) {\r\n if (newForms[i].parentId !== undefined) {\r\n const parentId = newForms[i].parentId;\r\n const parentIndex = newForms.findIndex((item) => item.id === parentId);\r\n if (parentIndex >= 0) {\r\n newForms[parentIndex].children?.push(newForms[i]);\r\n }\r\n }\r\n }\r\n return newForms.filter((x) => x.parentId === undefined);\r\n }\r\n return [];\r\n};\r\n\r\n//it used in horizontal menu.\r\nexport const toRoutesConfig: (lang: string) => NavItemProps[] = (lang) => {\r\n const findDefaultMenu = (menu: any[]): number => {\r\n const defaultIndex = menu.findIndex((item) => item.IsDefaultRole === 1);\r\n return defaultIndex === -1 ? 0 : defaultIndex;\r\n };\r\n const defaultIndex = findDefaultMenu(menuBuilder);\r\n const forms = [...menuBuilder[defaultIndex].Forms];\r\n const newForms: NavItemProps[] = forms\r\n .filter((item) => item.Name)\r\n .map((item) => ({\r\n id: item.ID.toString(),\r\n messageId: item.Name || '',\r\n title: item.Name || '',\r\n parentId: item.ParentID ? item.ParentID.toString() : undefined,\r\n children: [],\r\n url: item.URL || '', //?\r\n type: item.IsForm === 1 ? 'item' : 'collapse',\r\n }));\r\n for (let i = 0; i < newForms.length; i++) {\r\n if (newForms[i].parentId !== undefined) {\r\n const parentId = newForms[i].parentId;\r\n const parentIndex = newForms.findIndex((item) => item.id === parentId);\r\n if (parentIndex >= 0) {\r\n newForms[parentIndex].children?.push(newForms[i]);\r\n }\r\n }\r\n }\r\n return newForms.filter((x) => x.parentId === undefined);\r\n};\r\n\r\n// export const toRoute=(lang:string)=>{\r\n// \tconst initiaActiveJson=menuBuilder.find(item=>item.IsDefaultRole===1);\r\n// \tconst roleName=initiaActiveJson.RoleName;\r\n// \tconst forms=initiaActiveJson.Forms.map((f:any)=>({...f,children:[]}));\r\n\r\n// \tlet f:any=undefined;\r\n// \tconst forms_=forms.filter((x:any)=>x.HasShow!==false);\r\n// \tfor(f of forms_){\r\n// \t\tif(f.ParentID){\r\n// \t\t\tconst index=forms_.findIndex((item:any)=>item.ID===f.ParentID);\r\n// \t\t\tif(index>=0){\r\n// \t\t\t\tforms_[index].children.push(f);\r\n// \t\t\t}\r\n// \t\t}\r\n// \t}\r\n\r\n// \t// const treeForms\r\n\r\n// \tconst trans=forms.filter((item:any)=>!!item.Actions);\r\n// \tconst translates:FormLabels[]=trans.map((item:any)=>{\r\n// \t\tconst id=item.ID;\r\n// \t\tconst labels=item.Actions.map((x:any)=>{\r\n// \t\t\treturn {id:x.ID,name:x.Name,hasAccess:x.HasAccess,type:x.FormObjectTypeID};\r\n// \t\t});\r\n// \t\treturn {\r\n// \t\t\tid,\r\n// \t\t\tlabels,\r\n// \t\t}\r\n// \t})\r\n\r\n// }\r\n// toRoute('FA');\r\n\r\nexport const jsonToRoutesConfig: (lang: string) => NavItemProps[] = (lang) => {\r\n const route = toRoutesConfig(lang);\r\n return route;\r\n};\r\n\r\nexport const jsonToTranslate = (\r\n activeRole: any,\r\n data: any[],\r\n name: string,\r\n): any => {\r\n const forms = data.find((role: any) => role.UserDetailID === activeRole)\r\n ?.Forms;\r\n // const forms = data.find((role: any) => role.RoleID === activeRole)?.Forms;\r\n if (forms) {\r\n const formFiter = forms.filter((item: any) => !!item.Actions);\r\n\r\n const dictionary: any = formFiter.map((item: any) => ({\r\n id: item.ID,\r\n labels: item?.Actions?.map((action: any) => ({\r\n id: action.ID,\r\n name: action.Name || '',\r\n hasAccess: !!action.HasAccess,\r\n type: action.FormObjectTypeID === 1 ? 'input' : 'button',\r\n })),\r\n }));\r\n return dictionary;\r\n }\r\n};\r\n\r\nexport const translateLabels = (name: string): FormLabels[] => {\r\n const findDefaultMenu = (menu: any[]): number => {\r\n const defaultIndex = menu.findIndex((item) => item.IsDefaultRole === 1);\r\n return defaultIndex === -1 ? 0 : defaultIndex;\r\n };\r\n const defaultIndex = findDefaultMenu(menuBuilder);\r\n const forms = [...menuBuilder[defaultIndex].Forms];\r\n const formFiter = forms.filter((item) => !!item.Actions);\r\n\r\n const dictionary: any = formFiter.map((item: any) => ({\r\n id: item.ID,\r\n labels: item?.Actions?.map((action: any) => ({\r\n id: action.ID,\r\n name: action.Name || '',\r\n hasAccess: !!action.HasAccess,\r\n type: action.FormObjectTypeID === 1 ? 'input' : 'button',\r\n })),\r\n }));\r\n return dictionary;\r\n};\r\n\r\n// export const getMenu=(params:any,cb:(err:any,data:any)=>void)=>{\r\n// \tapi.post(ROUTES.AUTH,\r\n// \t\tparams\r\n// \t\t,(err,data)=>{\r\n// \t\t\tif(!err){\r\n// \t\t\t\tconst mapData=JsonToMenu(JSON.parse(data[0].MenuForms),'FA');\r\n// \t\t\t\tcb(err,mapData);\r\n// \t\t\t} else {\r\n// \t\t\t\tcb(err,null);\r\n// \t\t\t}\r\n// \t})\r\n// }\r\n\r\nexport const getAllMenuData = (\r\n params: any,\r\n cb: (err: any, data: any) => void,\r\n) => {\r\n api.post(ROUTES.AUTH, params, cb);\r\n};\r\n","export const TOGGLE_NAV_COLLAPSED = 'TOGGLE_NAV_COLLAPSED';\r\nexport const SET_INITIAL_PATH = 'SET_INITIAL_PATH';\r\nexport const ROUTE_CHANGE = '@@router/LOCATION_CHANGE';\r\n\r\nexport interface ToggleNavCollapsedAction {\r\n type: typeof TOGGLE_NAV_COLLAPSED;\r\n}\r\n\r\nexport interface SetInitialPathAction {\r\n type: typeof SET_INITIAL_PATH;\r\n initialPath: string | undefined;\r\n}\r\n\r\nexport interface RouteChangeAction {\r\n type: typeof ROUTE_CHANGE;\r\n}\r\n\r\nexport type SettingsActionTypes =\r\n | ToggleNavCollapsedAction\r\n | SetInitialPathAction\r\n | RouteChangeAction;\r\n","import {\r\n CommonActionTypes,\r\n FETCH_ERROR,\r\n FETCH_START,\r\n FETCH_SUCCESS,\r\n HIDE_MESSAGE,\r\n SHOW_MESSAGE,\r\n TOGGLE_APP_DRAWER,\r\n} from '../../types/actions/Common.action';\r\n\r\nexport const fetchStart = (): CommonActionTypes => ({type: FETCH_START});\r\n\r\nexport const fetchSuccess = (message?: string): CommonActionTypes => ({\r\n type: FETCH_SUCCESS,\r\n message,\r\n});\r\n\r\nexport const fetchError = (error: string): CommonActionTypes => ({\r\n type: FETCH_ERROR,\r\n error,\r\n});\r\n\r\nexport const showMessage = (message: string): CommonActionTypes => ({\r\n type: SHOW_MESSAGE,\r\n message,\r\n});\r\n\r\nexport const onToggleAppDrawer = (): CommonActionTypes => ({\r\n type: TOGGLE_APP_DRAWER,\r\n});\r\n\r\nexport const hideMessage = (): CommonActionTypes => ({type: HIDE_MESSAGE});\r\n","import jwtAxios from '../../@crema/services/auth/jwt-auth/jwt-api';\r\nimport {fetchError, fetchStart, fetchSuccess} from './Common';\r\nimport {AuthType} from '../../shared/constants/AppEnums';\r\nimport {AppActions} from '../../types';\r\nimport {Dispatch} from 'redux';\r\nimport {\r\n SET_AUTH_TOKEN,\r\n SIGNOUT_AUTH_SUCCESS,\r\n UPDATE_AUTH_USER,\r\n} from '../../types/actions/Auth.actions';\r\nimport {\r\n Write,\r\n Remove,\r\n Read,\r\n Token as TokenKey,\r\n Expire as ExpireKey,\r\n Language as LanguageKey,\r\n ActiveRole as ActiveRoleKey,\r\n} from '../../utils/localstorage';\r\nimport {AuthUser} from 'types/models/AuthUser';\r\n\r\nexport const onJwtSignIn = (body: {email: string; password: string}) => {\r\n const language = Read(LanguageKey)?.languageId === 'Persian' ? 'FA' : 'EN';\r\n return async (dispatch: Dispatch) => {\r\n dispatch(fetchStart());\r\n try {\r\n let apiBody = {\r\n username: body.email,\r\n password: body.password,\r\n language: language,\r\n };\r\n // const res = await jwtAxios.post('authentication', apiBody);\r\n await jwtAxios.post('authentication', apiBody).then((response: any) => {\r\n response = response?.data?.Data;\r\n Write(TokenKey, response.Token);\r\n Write(ExpireKey, (Date.now() + 1000 * 60 * 60 * 10).toString());\r\n dispatch(setJWTToken(response.Token));\r\n dispatch({\r\n type: UPDATE_AUTH_USER,\r\n payload: getUserObject(AuthType.JWT_AUTH, response),\r\n });\r\n dispatch(\r\n fetchSuccess(\r\n 'Welcome ' + response.Firstname + ' ' + response.Lastname,\r\n ),\r\n );\r\n });\r\n } catch (err) {\r\n dispatch(fetchError(err?.response?.data?.Message ?? ''));\r\n }\r\n };\r\n};\r\n\r\nexport const loadJWTUser = () => {\r\n const language = Read(LanguageKey)?.languageId === 'Persian' ? 'FA' : 'EN';\r\n const initialToken = Read(TokenKey);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch(fetchStart());\r\n dispatch(setJWTToken(initialToken));\r\n try {\r\n await jwtAxios\r\n .get(`authentication?lang=${language}`)\r\n .then((response: any) => {\r\n response = response.data.Data;\r\n dispatch(fetchSuccess());\r\n dispatch({\r\n type: UPDATE_AUTH_USER,\r\n payload: getUserObject(AuthType.JWT_AUTH, response),\r\n });\r\n });\r\n } catch (err) {\r\n dispatch(fetchError(err?.response?.data?.Message ?? ''));\r\n }\r\n };\r\n};\r\n\r\nexport const setJWTToken = (token: string | null): AppActions => ({\r\n type: SET_AUTH_TOKEN,\r\n payload: token,\r\n});\r\n\r\nconst getUserObject = (authType: any, authUser: any): AuthUser => {\r\n return {\r\n authType: authType,\r\n displayName: authUser.Firstname + ' ' + authUser.Lastname,\r\n email: authUser.Email,\r\n mobile: authUser.Mobile,\r\n role: ['user'],\r\n uid: '123',\r\n photoURL: authUser.Image,\r\n hasChangedPassword: authUser.HasChangedPassword,\r\n gender: authUser.Sex,\r\n menu: JSON.parse(authUser.MenuForms),\r\n credit: authUser.Credit,\r\n balance: authUser.Balance,\r\n currency: authUser.CurrencyID,\r\n };\r\n};\r\n\r\nexport const onJWTAuthSignout = () => {\r\n return (dispatch: Dispatch) => {\r\n dispatch(fetchSuccess());\r\n setTimeout(() => {\r\n dispatch({type: SIGNOUT_AUTH_SUCCESS});\r\n dispatch(fetchSuccess());\r\n Remove(TokenKey);\r\n Remove(ExpireKey);\r\n Remove(ActiveRoleKey);\r\n }, 500);\r\n };\r\n};\r\n","import {\r\n SET_INITIAL_PATH,\r\n SettingsActionTypes,\r\n TOGGLE_NAV_COLLAPSED,\r\n} from '../../types/actions/Settings.action';\r\n\r\nexport const toggleNavCollapsed = () => ({type: TOGGLE_NAV_COLLAPSED});\r\n\r\nexport const setInitialPath = (\r\n initialPath: string | undefined,\r\n): SettingsActionTypes => ({\r\n type: SET_INITIAL_PATH,\r\n initialPath,\r\n});\r\n","import {AppActions} from '../../types';\r\nimport {getUserCreditAmount as getUserCreditAmountApi} from '../../api/cargo/User';\r\nimport {fetchError, fetchStart} from './Common';\r\nimport {Dispatch} from 'redux';\r\nimport {UPDATE_USER_CREDIT} from '../../types/actions/Auth.actions';\r\nimport IapiAuthDetails from '../../shared/Interfaces/apiAuthDetails';\r\n\r\nconst authInformation = (userDetailID: number): IapiAuthDetails => ({\r\n CallerUserDetailID: userDetailID,\r\n CallerFormID: null,\r\n});\r\n\r\nexport const getCreditAmount = (userDetailID: any, cb?: Function) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch(fetchStart());\r\n try {\r\n await getUserCreditAmountApi(\r\n authInformation(userDetailID),\r\n (err: any, data: any) => {\r\n if (!err) {\r\n if (cb) cb(userDetailID);\r\n dispatch({\r\n type: UPDATE_USER_CREDIT,\r\n payload: {\r\n credit: data?.Data?.Credit || 0,\r\n Balance: data?.Data?.Balance || 0,\r\n currency: data?.Data?.CurrencyID || null,\r\n },\r\n });\r\n } else {\r\n console.error(err);\r\n }\r\n },\r\n );\r\n } catch (err: any) {\r\n dispatch(fetchError(err.response.data.error));\r\n }\r\n };\r\n};\r\n","import {makeStyles} from '@material-ui/core';\r\nimport React from 'react';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n root: {\r\n display: 'flex',\r\n flex: '1 1 100%',\r\n minHeight: '100vh',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n}));\r\n\r\nconst Index = () => {\r\n const classes = useStyles();\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Index;\r\n","import React from 'react';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Box from '@material-ui/core/Box';\r\nimport NoSsr from '@material-ui/core/NoSsr';\r\n\r\ninterface LoaderProps {}\r\n\r\nconst Loader: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Loader;\r\n","import React, {ReactNode} from 'react';\r\nimport {Loader} from '../../index';\r\n\r\ninterface SuspenseProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst AppSuspense: React.FC = ({children}) => {\r\n return }>{children};\r\n};\r\n\r\nexport default AppSuspense;\r\n","import React from 'react';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n padding: '0 7px',\r\n fontSize: 11,\r\n fontWeight: 600,\r\n height: 20,\r\n minWidth: 20,\r\n borderRadius: 20,\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: theme.palette.secondary.contrastText,\r\n },\r\n}));\r\n\r\ninterface BadgeProps {\r\n className?: string;\r\n count: any;\r\n color?: string;\r\n}\r\n\r\nconst Badge: React.FC = ({\r\n className,\r\n count,\r\n color = 'secondary',\r\n}) => {\r\n const classes = useStyles();\r\n\r\n if (color === 'primary') {\r\n color = 'primary.main';\r\n } else if (color === 'secondary') {\r\n color = 'secondary.main';\r\n }\r\n return (\r\n \r\n {count}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Badge);\r\n","import React from 'react';\r\nimport {NavLink} from 'react-router-dom';\r\n\r\nconst AppNavLink = React.forwardRef(\r\n (props: any, ref: React.Ref) => (\r\n \r\n ),\r\n);\r\n\r\nexport default AppNavLink;\r\n","import React from 'react';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Button from '@material-ui/core/Button';\r\nimport LinkIcon from '@material-ui/icons/Link';\r\nimport Box from '@material-ui/core/Box';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport AppAnimate from '../AppAnimate';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n containerHeader: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('sm')]: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n },\r\n paddingBottom: 16,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingTop: 16,\r\n },\r\n },\r\n linkIcon: {\r\n paddingLeft: 4,\r\n },\r\n textbase: {\r\n fontSize: 15,\r\n fontWeight: Fonts.REGULAR,\r\n },\r\n}));\r\n\r\ninterface ComponentHeaderProps {\r\n title: string;\r\n description?: string;\r\n refUrl?: string;\r\n}\r\n\r\nconst ComponentHeader: React.FC = ({\r\n title,\r\n description,\r\n refUrl,\r\n}) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n {description ? (\r\n \r\n {description}\r\n \r\n ) : null}\r\n \r\n {refUrl ? (\r\n \r\n \r\n Reference \r\n \r\n \r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ComponentHeader;\r\n","import React, {useState} from 'react';\r\nimport {Card, makeStyles} from '@material-ui/core';\r\nimport CardHeader from '@material-ui/core/CardHeader';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CodeIcon from '@material-ui/icons/Code';\r\nimport Highlight, {defaultProps} from 'prism-react-renderer';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport Scrollbar from '../Scrollbar';\r\nimport clsx from 'clsx';\r\nimport {highlightTheme} from './highlightTheme';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport AppAnimate from '../AppAnimate';\r\n\r\nconst useStyles = makeStyles(theme => {\r\n return {\r\n root: {\r\n borderRadius: 8,\r\n padding: 16,\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n cardHeader: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n '& .MuiTypography-h5': {\r\n fontSize: 16,\r\n fontWeight: Fonts.BOLD,\r\n marginBottom: 1,\r\n },\r\n },\r\n cardContent: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n paddingTop: 0,\r\n },\r\n preTag: {\r\n borderRadius: 8,\r\n padding: 12,\r\n },\r\n };\r\n});\r\n\r\ninterface ComponentCardProps {\r\n title?: any;\r\n maxHeight: number;\r\n description?: any;\r\n component: any;\r\n source: any;\r\n}\r\n\r\nconst ComponentCard: React.FC = ({\r\n title,\r\n maxHeight = 500,\r\n description = '',\r\n component: Component,\r\n source,\r\n}) => {\r\n const [viewSource, setToggleViewSource] = useState(false);\r\n const [animation, setAnimation] = useState(false);\r\n\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n if (animation) {\r\n setAnimation(!animation);\r\n setTimeout(() => setToggleViewSource(!viewSource), 400);\r\n } else {\r\n setAnimation(!animation);\r\n setToggleViewSource(!viewSource);\r\n }\r\n }}>\r\n \r\n \r\n \r\n ) : null\r\n }\r\n />\r\n\r\n \r\n \r\n {viewSource ? (\r\n \r\n \r\n {({\r\n className,\r\n style,\r\n tokens,\r\n getLineProps,\r\n getTokenProps,\r\n }) => (\r\n \r\n {tokens.map((line, i) => (\r\n \r\n {line.map((token, key) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n ) : null}\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 ComponentCard;\r\n","import React, {ReactNode} from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport {isBreakPointDown} from '../../utility/Utils';\r\n\r\ninterface GridContainerProps {\r\n children: ReactNode;\r\n\r\n [x: string]: any;\r\n}\r\n\r\nconst GridContainer: React.FC = ({children, ...others}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default GridContainer;\r\n","import React, {useContext, useState} from 'react';\r\nimport AppContext from '../../utility/AppContext';\r\nimport {SketchPicker} from 'react-color';\r\nimport {makeStyles} from '@material-ui/core/index';\r\nimport Box from '@material-ui/core/Box';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\nimport {grey} from '@material-ui/core/colors';\r\n\r\ninterface PrimaryColorPickerProps {\r\n props?: any;\r\n}\r\n\r\nconst PrimaryColorPicker: React.FC = props => {\r\n const [visible, setVisibility] = useState(false);\r\n const {primary, theme, updateTheme} = useContext(AppContext);\r\n\r\n const useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n cpSwatch: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n position: 'relative',\r\n cursor: 'pointer',\r\n marginBottom: 10,\r\n marginRight: 10,\r\n },\r\n cpColor: {\r\n width: 30,\r\n height: 16,\r\n backgroundColor: theme.palette.primary.main,\r\n border: `solid 1px ${grey[100]}`,\r\n marginRight: 10,\r\n [theme.breakpoints.up('xl')]: {\r\n width: 40,\r\n height: 26,\r\n },\r\n },\r\n cpPopover: {\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n zIndex: 1,\r\n },\r\n };\r\n });\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n setVisibility(!visible)}>\r\n \r\n \r\n Primary\r\n \r\n \r\n {visible ? (\r\n setVisibility(!visible)}>\r\n {\r\n theme.palette.primary.main = color.hex;\r\n updateTheme!(theme);\r\n }}\r\n />\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default PrimaryColorPicker;\r\n","import React, {useContext, useState} from 'react';\r\nimport AppContext from '../../utility/AppContext';\r\nimport {SketchPicker} from 'react-color';\r\nimport {makeStyles} from '@material-ui/core';\r\nimport Box from '@material-ui/core/Box';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\nimport {grey} from '@material-ui/core/colors';\r\n\r\ninterface SecondaryColorPickerProps {\r\n props?: any;\r\n}\r\n\r\nconst SecondaryColorPicker: React.FC = props => {\r\n const [visible, setVisibility] = useState(false);\r\n const {theme, updateTheme, secondary} = useContext(AppContext);\r\n\r\n const useStyles = makeStyles((theme: CremaTheme) => ({\r\n cpSwatch: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n position: 'relative',\r\n cursor: 'pointer',\r\n marginBottom: 10,\r\n marginRight: 10,\r\n },\r\n cpColor: {\r\n width: 30,\r\n height: 16,\r\n backgroundColor: theme.palette.secondary.main,\r\n border: `solid 1px ${grey[100]}`,\r\n marginRight: 10,\r\n [theme.breakpoints.up('xl')]: {\r\n width: 40,\r\n height: 26,\r\n },\r\n },\r\n cpPopover: {\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n zIndex: 1,\r\n },\r\n }));\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n setVisibility(!visible)}>\r\n \r\n \r\n Secondary\r\n \r\n \r\n {visible ? (\r\n setVisibility(false)}>\r\n {\r\n theme.palette.secondary.main = color.hex;\r\n updateTheme!(theme);\r\n }}\r\n />\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default SecondaryColorPicker;\r\n","import React, {useContext, useState} from 'react';\r\nimport {SketchPicker} from 'react-color';\r\nimport {makeStyles} from '@material-ui/core/index';\r\nimport Box from '@material-ui/core/Box';\r\nimport AppContext from '../../utility/AppContext';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\nimport {grey} from '@material-ui/core/colors';\r\n\r\ninterface SidebarColorPickerProps {\r\n props?: any;\r\n}\r\n\r\nconst SidebarColorPicker: React.FC = props => {\r\n const [visible, setVisibility] = useState(false);\r\n const {theme, sidebarColor, updateTheme} = useContext(AppContext);\r\n\r\n const useStyles = makeStyles((theme: CremaTheme) => ({\r\n cpSwatch: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n position: 'relative',\r\n cursor: 'pointer',\r\n marginBottom: 10,\r\n marginRight: 10,\r\n },\r\n cpColor: {\r\n width: 30,\r\n height: 16,\r\n backgroundColor: theme.palette.sidebar.bgColor,\r\n border: `solid 1px ${grey[100]}`,\r\n marginRight: 10,\r\n [theme.breakpoints.up('xl')]: {\r\n width: 40,\r\n height: 26,\r\n },\r\n },\r\n cpPopover: {\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n zIndex: 1,\r\n },\r\n }));\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n setVisibility(!visible)}>\r\n \r\n Sidebar\r\n \r\n {visible ? (\r\n setVisibility(false)}>\r\n {\r\n theme.palette.sidebar.bgColor = color.hex;\r\n updateTheme!(theme);\r\n }}\r\n />\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default SidebarColorPicker;\r\n","import {LayoutType, NavStyle} from '../../../shared/constants/AppEnums';\r\n\r\nexport const navStyles = [\r\n {\r\n id: 1,\r\n alias: NavStyle.STANDARD,\r\n image: '/assets/images/navigationStyle/nav4.png',\r\n },\r\n {\r\n id: 2,\r\n alias: NavStyle.DEFAULT,\r\n image: '/assets/images/navigationStyle/nav2.png',\r\n },\r\n {\r\n id: 3,\r\n alias: NavStyle.MINI_SIDEBAR_TOGGLE,\r\n image: '/assets/images/navigationStyle/nav3.png',\r\n },\r\n {\r\n id: 4,\r\n alias: NavStyle.HEADER_USER,\r\n image: '/assets/images/navigationStyle/nav9.png',\r\n },\r\n {\r\n id: 5,\r\n alias: NavStyle.HEADER_USER_MINI,\r\n image: '/assets/images/navigationStyle/nav10.png',\r\n },\r\n {\r\n id: 6,\r\n alias: NavStyle.MINI,\r\n image: '/assets/images/navigationStyle/nav3.png',\r\n },\r\n {\r\n id: 7,\r\n alias: NavStyle.DRAWER,\r\n image: '/assets/images/navigationStyle/nav5.png',\r\n },\r\n {\r\n id: 8,\r\n alias: NavStyle.BIT_BUCKET,\r\n image: '/assets/images/navigationStyle/nav1.png',\r\n },\r\n {\r\n id: 9,\r\n alias: NavStyle.H_DEFAULT,\r\n image: '/assets/images/navigationStyle/nav8.png',\r\n },\r\n {\r\n id: 10,\r\n alias: NavStyle.HOR_LIGHT_NAV,\r\n image: '/assets/images/navigationStyle/nav6.png',\r\n },\r\n {\r\n id: 11,\r\n alias: NavStyle.HOR_DARK_LAYOUT,\r\n image: '/assets/images/navigationStyle/nav7.png',\r\n },\r\n];\r\n\r\nexport const layoutTypes = [\r\n {\r\n id: 1,\r\n alias: LayoutType.FULL_WIDTH,\r\n image: '/assets/images/layouts/full width.png',\r\n },\r\n {\r\n id: 2,\r\n alias: LayoutType.BOXED,\r\n image: '/assets/images/layouts/boxed.png',\r\n },\r\n];\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {orange} from '@material-ui/core/colors';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n customizerOption: {\r\n display: 'none',\r\n position: 'absolute',\r\n right: 0,\r\n top: 85,\r\n zIndex: 1110,\r\n [theme.breakpoints.up('xl')]: {\r\n top: 125,\r\n },\r\n },\r\n customizerButton: {\r\n borderRadius: '30px 0 0 30px',\r\n backgroundColor: orange[500],\r\n '&:hover': {\r\n backgroundColor: orange[700],\r\n },\r\n '& button': {\r\n borderRadius: '30px 0 0 30px',\r\n\r\n '&:focus': {\r\n borderRadius: '30px 0 0 30px',\r\n },\r\n },\r\n },\r\n rightSidebar: {\r\n width: 300,\r\n [theme.breakpoints.up('xl')]: {\r\n width: 400,\r\n },\r\n },\r\n rightSidebarHeader: {\r\n padding: '20px',\r\n borderBottom: '1px solid #e0e0e0',\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '28px 22px',\r\n },\r\n },\r\n rightSidebarMain: {\r\n padding: '20px',\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '28px 22px',\r\n },\r\n },\r\n customizerItem: {\r\n '&:not(:last-child)': {\r\n borderBottom: ['1px solid #e0e0e0'],\r\n paddingBottom: 20,\r\n marginBottom: 20,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 30,\r\n marginBottom: 30,\r\n },\r\n },\r\n },\r\n colorRow: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n position: 'relative',\r\n },\r\n navOption: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n marginLeft: '-10px',\r\n marginRight: '-10px',\r\n },\r\n navOptionItem: {\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n marginBottom: 20,\r\n },\r\n navOptionContent: {\r\n position: 'relative',\r\n cursor: 'pointer',\r\n },\r\n navOptionRightIcon: {\r\n position: 'absolute',\r\n left: '50%',\r\n top: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: 20,\r\n height: 20,\r\n borderRadius: '50%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n overflow: 'hidden',\r\n backgroundColor: theme.palette.primary.main,\r\n color: '',\r\n },\r\n selectBox: {\r\n '& .MuiOutlinedInput-input': {\r\n padding: '12px 32px 12px 14px',\r\n },\r\n },\r\n toggleBtn: {\r\n height: 36,\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.primary.main,\r\n borderColor: theme.palette.primary.main,\r\n '&:not(:first-child)': {\r\n borderColor: theme.palette.primary.main,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n height: 48,\r\n minWidth: 96,\r\n },\r\n '&:hover,&:focus': {\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.primary.main,\r\n },\r\n '&.active': {\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n '&:hover,&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n },\r\n },\r\n },\r\n colorOptionList: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n margin: '0 -5px',\r\n padding: 0,\r\n listStyle: 'none',\r\n '& > li': {\r\n padding: '0 5px',\r\n marginBottom: 10,\r\n },\r\n },\r\n wFull: {\r\n width: '100%',\r\n },\r\n textWhite: {\r\n color: 'white',\r\n },\r\n mb5: {\r\n marginBottom: 20,\r\n },\r\n}));\r\nexport default useStyles;\r\n","const colorSet = [\r\n {\r\n PrimaryColor: '#0A8FDC',\r\n SecondaryColor: '#F04F47',\r\n SidebarColor: '#313541',\r\n },\r\n {\r\n PrimaryColor: '#905EAE',\r\n SecondaryColor: '#2D755A',\r\n SidebarColor: '#313541',\r\n },\r\n {\r\n PrimaryColor: '#266BB0',\r\n SecondaryColor: '#587527',\r\n SidebarColor: '#313541',\r\n },\r\n {\r\n PrimaryColor: '#F0464D',\r\n SecondaryColor: '#00B6EF',\r\n SidebarColor: '#313541',\r\n },\r\n {\r\n PrimaryColor: '#639F52',\r\n SecondaryColor: '#7C4D30',\r\n SidebarColor: '#313541',\r\n },\r\n {\r\n PrimaryColor: '#FFD955',\r\n SecondaryColor: '#C4476D',\r\n SidebarColor: '#313541',\r\n },\r\n\r\n {\r\n PrimaryColor: '#FD933A',\r\n SecondaryColor: '#5A63C8',\r\n SidebarColor: '#313541',\r\n },\r\n {\r\n PrimaryColor: '#03A9F4',\r\n SecondaryColor: '#FFC107',\r\n SidebarColor: '#313541',\r\n },\r\n {\r\n PrimaryColor: '#03A9F4',\r\n SecondaryColor: '#FF80AB',\r\n SidebarColor: '#313541',\r\n },\r\n\r\n {\r\n PrimaryColor: '#3F51B5',\r\n SecondaryColor: '#2196F3',\r\n SidebarColor: '#FFC107',\r\n },\r\n\r\n {\r\n PrimaryColor: '#9C27B0',\r\n SecondaryColor: '#FFCA28',\r\n SidebarColor: '#313541',\r\n },\r\n\r\n {\r\n PrimaryColor: '#673AB7',\r\n SecondaryColor: '#2196F3',\r\n SidebarColor: '#313541',\r\n },\r\n];\r\nexport default colorSet;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n colorOption: {\r\n position: 'relative',\r\n overflow: 'hidden',\r\n cursor: 'pointer',\r\n border: `1px solid ${theme.palette.text.primary}`,\r\n },\r\n colorOptionTriangle: {\r\n transform: 'rotate(45deg)',\r\n marginTop: 10,\r\n marginLeft: 22,\r\n },\r\n colorOptionBorder: {\r\n width: 10,\r\n height: '100%',\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n zIndex: 2,\r\n },\r\n colorOptionRightIcon: {\r\n position: 'absolute',\r\n left: '50%',\r\n top: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: 20,\r\n height: 20,\r\n borderRadius: '50%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n overflow: 'hidden',\r\n backgroundColor: '#fff',\r\n color: theme.palette.primary.main,\r\n },\r\n textBase: {\r\n fontSize: 16,\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './CustomColorCell.style';\r\nimport {AppContext} from '../../index';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport IntlMessages from '../../utility/IntlMessages';\r\nimport {ThemeMode} from '../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../types/AppContextPropsType';\r\n\r\ninterface CustomColorCellProps {\r\n themeColorSet: any;\r\n updateThemeColors: (color: any) => void;\r\n}\r\n\r\nconst CustomColorCell: React.FC = ({\r\n themeColorSet,\r\n updateThemeColors,\r\n}) => {\r\n const classes = useStyles();\r\n const {themeMode, theme} = useContext(AppContext);\r\n return (\r\n {\r\n updateThemeColors(themeColorSet);\r\n }}>\r\n \r\n \r\n \r\n\r\n {theme.palette.primary.main === themeColorSet.PrimaryColor &&\r\n theme.palette.secondary.main === themeColorSet.SecondaryColor ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CustomColorCell;\r\n","import React, {useContext, useState} from 'react';\r\nimport AppContext from '../../utility/AppContext';\r\nimport ToggleButton from '@material-ui/lab/ToggleButton';\r\nimport ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup';\r\nimport PrimaryColorPicker from './PrimaryColorPicker';\r\nimport SecondaryColorPicker from './SecondaryColorPicker';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport SidebarColorPicker from './SidebarColorPicker';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Select from '@material-ui/core/Select';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport {layoutTypes, navStyles} from '../../services/db/navigationStyle';\r\nimport clsx from 'clsx';\r\nimport {Scrollbar} from '../../index';\r\nimport Box from '@material-ui/core/Box';\r\nimport IntlMessages from '../../utility/IntlMessages';\r\nimport useStyles from './index.style';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport themeColorSets from '../../../shared/constants/ColorSets';\r\nimport CustomColorCell from './CustomColorCell';\r\nimport {\r\n FooterType,\r\n LayoutType,\r\n NavStyle,\r\n RouteTransition,\r\n ThemeMode,\r\n ThemeStyle,\r\n} from '../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../types/AppContextPropsType';\r\n\r\ninterface ThemeSettingProps {\r\n props?: any;\r\n}\r\n\r\nconst ThemeSetting: React.FC = props => {\r\n const [open, setCustomizerStatus] = useState(false);\r\n const [themeColor, setThemeColor] = useState('preset');\r\n const {\r\n themeMode,\r\n updateThemeMode,\r\n themeStyle,\r\n updateThemeStyle,\r\n updateTheme,\r\n footer,\r\n footerType,\r\n setFooter,\r\n setFooterType,\r\n theme,\r\n isRTL,\r\n setRTL,\r\n rtAnim,\r\n changeRTAnim,\r\n navStyle,\r\n layoutType,\r\n updateLayoutStyle,\r\n changeNavStyle,\r\n } = useContext(AppContext);\r\n const onStyleChange = (\r\n event: React.MouseEvent,\r\n themeStyle: ThemeStyle,\r\n ) => {\r\n if (themeStyle) {\r\n updateThemeStyle!(themeStyle as ThemeStyle);\r\n }\r\n };\r\n\r\n const onModeChange = (\r\n event: React.MouseEvent,\r\n themeMode: ThemeMode,\r\n ) => {\r\n if (themeMode) updateThemeMode!(themeMode);\r\n };\r\n\r\n const onSelectThemeColor = (\r\n event: React.MouseEvent,\r\n color: any,\r\n ) => {\r\n if (color) setThemeColor(color);\r\n };\r\n\r\n const onLayoutChange = (layoutType: LayoutType) => {\r\n updateLayoutStyle!(layoutType);\r\n };\r\n const onNavStyleChange = (navStyle: NavStyle) => {\r\n changeNavStyle!(navStyle);\r\n };\r\n\r\n const onChangeRtlSetting = (event: React.ChangeEvent) => {\r\n setRTL!(event.target.checked);\r\n };\r\n const updateThemeColors = (colorSet: any) => {\r\n theme.palette.primary.main = colorSet.PrimaryColor;\r\n theme.palette.secondary.main = colorSet.SecondaryColor;\r\n theme.palette.sidebar.bgColor = colorSet.SidebarColor;\r\n updateTheme!(theme);\r\n };\r\n const classes = useStyles(props);\r\n\r\n return (\r\n \r\n \r\n setCustomizerStatus(!open)}>\r\n \r\n settings\r\n \r\n \r\n \r\n setCustomizerStatus(false)}>\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\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\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\n \r\n \r\n {themeColor === 'custom' ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {themeColorSets.map((colorSet, index) => (\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\n\r\n \r\n \r\n \r\n \r\n \r\n {navStyles.map(navLayout => {\r\n return (\r\n \r\n onNavStyleChange(navLayout.alias)}>\r\n nav\r\n {navStyle === navLayout.alias ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\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 {layoutTypes.map(layout => {\r\n return (\r\n \r\n onLayoutChange(layout.alias)}>\r\n nav\r\n {layoutType === layout.alias ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n \r\n \r\n Footer\r\n \r\n setFooter!(!footer)}\r\n value='checkedA'\r\n inputProps={{'aria-label': 'secondary checkbox'}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Footer Type\r\n \r\n \r\n Footer Type\r\n setFooterType!(e.target.value as FooterType)}\r\n inputProps={{\r\n name: 'rt',\r\n id: 'outlined-rt',\r\n }}>\r\n Fixed\r\n Fluid\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 changeRTAnim!(e.target.value as RouteTransition)\r\n }\r\n inputProps={{\r\n name: 'rt',\r\n id: 'outlined-rt',\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\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 ThemeSetting;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport ErrorIcon from '@material-ui/icons/Error';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport {amber, green} from '@material-ui/core/colors';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport SnackbarContent from '@material-ui/core/SnackbarContent';\r\nimport WarningIcon from '@material-ui/icons/Warning';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\n\r\ntype Variant = 'error' | 'info' | 'success' | 'warning';\r\n\r\nconst variantIcon = {\r\n success: CheckCircleIcon,\r\n warning: WarningIcon,\r\n error: ErrorIcon,\r\n info: InfoIcon,\r\n};\r\nconst useStyles1 = makeStyles((theme: CremaTheme) => ({\r\n success: {\r\n backgroundColor: green[600],\r\n },\r\n error: {\r\n backgroundColor: theme.palette.error.dark,\r\n },\r\n info: {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n warning: {\r\n backgroundColor: amber[700],\r\n },\r\n icon: {\r\n fontSize: 20,\r\n },\r\n iconVariant: {\r\n opacity: 0.9,\r\n marginRight: theme.spacing(1),\r\n },\r\n message: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n}));\r\n\r\ninterface AppSnackbarProps {\r\n className?: string;\r\n message: string;\r\n variant: Variant;\r\n\r\n [x: string]: any;\r\n}\r\n\r\nconst AppSnackbar: React.FC = ({\r\n className,\r\n message,\r\n variant,\r\n number,\r\n ...other\r\n}) => {\r\n const classes = useStyles1();\r\n\r\n const [open, setOpen] = React.useState(true);\r\n const Icon = variantIcon[variant];\r\n\r\n useEffect(() => {setOpen(true)},[number])\r\n\r\n const onClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {message}\r\n \r\n }\r\n action={[\r\n \r\n \r\n ,\r\n ]}\r\n {...other}\r\n />\r\n \r\n );\r\n};\r\nexport default AppSnackbar;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n margin: '20px -20px 0',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: '-32px',\r\n marginRight: '-32px',\r\n marginTop: 30,\r\n },\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFooter: React.FC = props => {\r\n const {footer, footerType, navStyle} = useContext(\r\n AppContext,\r\n );\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer &&\r\n footerType === 'fluid' &&\r\n navStyle !== 'h-default' &&\r\n navStyle !== 'hor-light-nav' &&\r\n navStyle !== 'hor-dark-layout' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFooter;\r\n","import React, {ErrorInfo} from 'react';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nclass AppErrorBoundary extends React.Component<\r\n {},\r\n {hasError: boolean; error: Error | null}\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {hasError: false, error: null};\r\n }\r\n\r\n static getDerivedStateFromError() {\r\n // Update state so the next render will show the fallback UI.\r\n return {hasError: true};\r\n }\r\n\r\n componentDidCatch(error: Error, errorInfo: ErrorInfo) {\r\n // You can also log the error to an error reporting service\r\n // logErrorToMyService(error, errorInfo);\r\n this.setState({error});\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n \r\n Error Info\r\n \r\n 500\r\n \r\n \r\n Internal Error\r\n \r\n \r\n Sorry Something Went Wrong !\r\n \r\n {this.state.error && this.state.error.toString()}\r\n \r\n );\r\n } else {\r\n return this.props.children;\r\n }\r\n }\r\n}\r\n\r\nexport default AppErrorBoundary;\r\n","import React, {useContext} from 'react';\r\nimport {renderRoutes} from 'react-router-config';\r\nimport {CSSTransition, TransitionGroup} from 'react-transition-group';\r\nimport {useLocation} from 'react-router-dom';\r\nimport {AppSuspense} from '../../index';\r\nimport routes from '../../../containers/layouts';\r\nimport Scrollbar from '../Scrollbar';\r\nimport AppContext from '../../utility/AppContext';\r\nimport AppFooter from '../AppLayout/AppFooter';\r\nimport Box from '@material-ui/core/Box';\r\nimport {RouteTransition} from '../../../shared/constants/AppEnums';\r\nimport AppErrorBoundary from '../AppErrorBoundary';\r\nimport AppContextPropsType from '../../../types/AppContextPropsType';\r\n\r\ninterface TransitionWrapperProps {\r\n children: any;\r\n}\r\n\r\nconst TransitionWrapper: React.FC = ({children}) => {\r\n const {rtAnim} = useContext(AppContext);\r\n const location = useLocation();\r\n if (rtAnim === RouteTransition.NONE) {\r\n return <>{children};\r\n }\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nconst ContentView = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {renderRoutes(routes)}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ContentView;\r\n","import React, {memo} from 'react';\r\nimport {VelocityComponent, VelocityComponentProps} from 'velocity-react';\r\nimport 'velocity-animate/velocity.ui';\r\n\r\ninterface AppAnimateProps extends VelocityComponentProps {\r\n visibility?: string;\r\n duration?: number;\r\n delay?: number;\r\n easing?: any;\r\n display?: any;\r\n children: any;\r\n\r\n [x: string]: any;\r\n}\r\n\r\nconst AppAnimate: React.FC = ({\r\n animation = 'transition.fadeIn',\r\n runOnMount = true,\r\n targetQuerySelector = null,\r\n interruptBehavior = 'stop',\r\n visibility = 'visible',\r\n duration = 400,\r\n delay = 100,\r\n easing = [0.4, 0.0, 0.2, 1],\r\n display = null,\r\n children,\r\n rest,\r\n}) => {\r\n const child = React.cloneElement(children, {\r\n style: {\r\n ...children.style,\r\n visibility: 'hidden',\r\n },\r\n });\r\n return (\r\n \r\n {child}\r\n \r\n );\r\n};\r\n\r\nexport default memo(AppAnimate);\r\n","export interface IKey {\r\n name: string;\r\n key: string;\r\n}\r\n\r\nexport const Token: IKey = {\r\n name: 'A7ng6Gf4ZC',\r\n key: 'pQ&SG9paN#E9v$mE*XRheFhVCVdY5t',\r\n};\r\nexport const Expire: IKey = {\r\n name: '5QByNTCAsg',\r\n key: 'JhG7DDgA#G?vABJ#2k?$mYSRukmdAQ',\r\n};\r\nexport const Language: IKey = {\r\n name: 'fCqBAQRp7A',\r\n key: 'h#znCZbUB$2vXfeAf*FSKPAdNG#Y8V',\r\n};\r\nexport const ActiveRole: IKey = {\r\n name: 'sC5nmnMa9c',\r\n key: 'uSSnCP5TU$99fKB$2vXfeAf*FSKasd',\r\n};\r\n\r\nexport const ForgetPasswordRetryTimer: IKey = {\r\n name: 's33nmNga0u',\r\n key: 'SSnCP5TU$99fKE9vCZbUDdjsB$2vXf',\r\n};\r\n","import CryptoJS from 'crypto-js';\r\nimport {IKey} from './alias';\r\n\r\nexport const Write = ({name, key}: IKey, data: any) => {\r\n try {\r\n const encriptedData = CryptoJS.AES.encrypt(\r\n JSON.stringify(data),\r\n key,\r\n ).toString();\r\n localStorage.setItem(name, encriptedData);\r\n return true;\r\n } catch (error) {\r\n return null;\r\n }\r\n};\r\n\r\nexport const Read = ({name, key}: IKey) => {\r\n try {\r\n const lsData = localStorage.getItem(name);\r\n if (lsData) {\r\n var bytes = CryptoJS.AES.decrypt(lsData, key);\r\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\r\n } else {\r\n return null;\r\n }\r\n } catch (error) {\r\n return null;\r\n }\r\n};\r\n\r\nexport const Remove = ({name, key}: IKey) => {\r\n try {\r\n localStorage.removeItem(name);\r\n return true;\r\n } catch (error) {\r\n return null;\r\n }\r\n};\r\n\r\nexport * from './alias';\r\n","import React from 'react';\r\nimport {FormattedMessage, injectIntl} from 'react-intl';\r\n\r\nconst InjectMassage = (props: any) => ;\r\nexport default injectIntl(InjectMassage, {\r\n forwardRef: false,\r\n});\r\n","import React, {useContext, useEffect} from 'react';\r\nimport MomentUtils from '@date-io/moment';\r\n// import moment from 'moment';\r\nimport {ThemeProvider} from '@material-ui/styles';\r\nimport {createMuiTheme} from '@material-ui/core/styles';\r\nimport {MuiPickersUtilsProvider} from '@material-ui/pickers';\r\n\r\nimport AppContext from '../AppContext';\r\nimport AppLocale from '../../../shared/localization';\r\nimport {responsiveFontSizes} from '@material-ui/core';\r\nimport {useBreakPointDown} from '../Utils';\r\nimport {\r\n NavStyle,\r\n ThemeMode,\r\n ThemeStyle,\r\n} from '../../../shared/constants/AppEnums';\r\nimport {useUrlSearchParams} from 'use-url-search-params';\r\nimport AppContextPropsType from '../../../types/AppContextPropsType';\r\n\r\nconst CremaThemeProvider: React.FC = (props) => {\r\n const {\r\n theme,\r\n locale,\r\n isRTL,\r\n updateThemeMode,\r\n changeNavStyle,\r\n updateThemeStyle,\r\n setRTL,\r\n updateTheme,\r\n } = useContext(AppContext);\r\n const {muiLocale} = AppLocale[locale.locale];\r\n const isBelowMd = useBreakPointDown('sm');\r\n\r\n const initailValue: InitialType = {};\r\n const types: TypesType = {};\r\n const [params] = useUrlSearchParams(initailValue, types);\r\n\r\n useEffect(() => {\r\n const updateQuerySetting = () => {\r\n if (params.theme_mode) {\r\n updateThemeMode!(params.theme_mode as ThemeMode);\r\n }\r\n };\r\n updateQuerySetting();\r\n }, [params.theme_mode, updateThemeMode]);\r\n\r\n useEffect(() => {\r\n const updateQuerySetting = () => {\r\n if (params.is_rtl) {\r\n setRTL!(params.is_rtl as boolean);\r\n }\r\n if (params.is_rtl || isRTL) {\r\n document.body.setAttribute('dir', 'rtl');\r\n } else {\r\n document.body.setAttribute('dir', 'ltr');\r\n }\r\n };\r\n updateQuerySetting();\r\n }, [isRTL, params.is_rtl, setRTL]);\r\n\r\n useEffect(() => {\r\n const updateQuerySetting = () => {\r\n if (params.nav_style) {\r\n changeNavStyle!(params.nav_style as NavStyle);\r\n }\r\n };\r\n updateQuerySetting();\r\n }, [changeNavStyle, params.nav_style]);\r\n\r\n useEffect(() => {\r\n const updateQuerySetting = () => {\r\n if (params.theme_style) {\r\n if (params.theme_style === ThemeStyle.MODERN) {\r\n if (isBelowMd) {\r\n theme.overrides.MuiCard.root.borderRadius = 20;\r\n theme.overrides.MuiToggleButton.root.borderRadius = 20;\r\n } else {\r\n theme.overrides.MuiCard.root.borderRadius = 30;\r\n theme.overrides.MuiToggleButton.root.borderRadius = 30;\r\n }\r\n theme.overrides.MuiButton.root.borderRadius = 30;\r\n theme.overrides.MuiCardLg.root.borderRadius = 50;\r\n } else {\r\n theme.overrides.MuiCard.root.borderRadius = 4;\r\n theme.overrides.MuiToggleButton.root.borderRadius = 4;\r\n theme.overrides.MuiButton.root.borderRadius = 4;\r\n theme.overrides.MuiCardLg.root.borderRadius = 4;\r\n }\r\n updateTheme!(theme);\r\n if (\r\n params.theme_style === ThemeStyle.MODERN ||\r\n params.theme_style === ThemeStyle.STANDARD\r\n ) {\r\n updateThemeStyle!(params.theme_style as ThemeStyle);\r\n }\r\n }\r\n };\r\n updateQuerySetting();\r\n }, [params.theme_style, theme, isBelowMd, updateTheme, updateThemeStyle]);\r\n\r\n return (\r\n \r\n \r\n {props.children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(CremaThemeProvider);\r\n","import React from 'react';\r\nimport {create} from 'jss';\r\nimport rtl from 'jss-rtl';\r\nimport {jssPreset, StylesProvider} from '@material-ui/core/styles';\r\n// Configure JSS\r\nconst jss = create({plugins: [...jssPreset().plugins, rtl()]});\r\n\r\nconst CremaStyleProvider: React.FC = props => {\r\n return {props.children};\r\n};\r\nexport default CremaStyleProvider;\r\n","import React, {useContext, useEffect} from 'react';\r\nimport {IntlProvider} from 'react-intl';\r\n\r\nimport AppLocale from '../../shared/localization';\r\nimport AppContext from './AppContext';\r\nimport AppContextPropsType from '../../types/AppContextPropsType';\r\nimport {IntlGlobalProvider} from './Utils';\r\nimport {Language as LanguageKey, Read} from 'utils/localstorage';\r\n\r\nconst LocaleProvider = (props: any) => {\r\n const {locale, rtlLocale, changeLocale, setRTL} = useContext(AppContext);\r\n const currentAppLocale = AppLocale[locale.locale];\r\n\r\n useEffect(() => {\r\n const lastCurrentAppLocale = Read(LanguageKey);\r\n if (lastCurrentAppLocale) {\r\n if (rtlLocale.indexOf(lastCurrentAppLocale.locale) !== -1) {\r\n setRTL!(true);\r\n } else {\r\n setRTL!(false);\r\n }\r\n changeLocale!(lastCurrentAppLocale);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default LocaleProvider;\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n root: {\r\n minHeight: 48,\r\n '&.active': {\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.secondary.contrastText + '!important',\r\n pointerEvents: 'none',\r\n '& .list-item-text-primary': {\r\n color: 'inherit',\r\n },\r\n '& .list-item-icon': {\r\n color: 'inherit',\r\n },\r\n },\r\n '& .list-item-icon': {},\r\n '& .list-item-text': {\r\n padding: '0 0 0 16px',\r\n },\r\n color: theme.palette.text.primary,\r\n textDecoration: 'none!important',\r\n '&.dense': {\r\n padding: '8px 12px 8px 12px',\r\n minHeight: 40,\r\n '& .list-item-text': {\r\n padding: '0 0 0 8px',\r\n },\r\n },\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport {Icon, ListItem, ListItemText} from '@material-ui/core';\r\nimport {Badge, NavLink} from '../../../../@crema';\r\nimport clsx from 'clsx';\r\nimport IntlMessages from '../../../utility/IntlMessages';\r\nimport useStyles from './HorizontalItem.style';\r\nimport Box from '@material-ui/core/Box';\r\nimport {NavItemProps} from '../../../../containers/layouts/routesConfig';\r\nimport {RouteComponentProps, withRouter} from 'react-router-dom';\r\n\r\ninterface HorizontalItemProps extends RouteComponentProps {\r\n item: NavItemProps;\r\n dense?: string;\r\n location: any;\r\n}\r\n\r\nconst HorizontalItem: React.FC = ({\r\n item,\r\n location,\r\n history,\r\n dense,\r\n}) => {\r\n const classes = useStyles();\r\n const {pathname} = location;\r\n const active = isUrlInChildren(item, pathname);\r\n\r\n function isUrlInChildren(parent: any, url: string) {\r\n if (!parent.children) {\r\n return false;\r\n }\r\n\r\n for (let i = 0; i < parent.children.length; i++) {\r\n if (parent.children[i].children) {\r\n if (isUrlInChildren(parent.children[i], url)) {\r\n return true;\r\n }\r\n }\r\n\r\n if (\r\n parent.children[i].url === url ||\r\n url.includes(parent.children[i].url)\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return (\r\n history.push(item.url ? item.url : '/')}\r\n className={clsx('navItemSubmenu', classes.root, dense && 'dense', {\r\n active: pathname === item.url,\r\n })}>\r\n {item.icon && (\r\n \r\n {item.icon}\r\n \r\n )}\r\n }\r\n />\r\n {item.count && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default withRouter(React.memo(HorizontalItem));\r\n","import React, {ReactNode, useEffect, useRef, useState} from 'react';\r\nimport {createPortal} from 'react-dom';\r\n\r\ninterface ClientOnlyPortalProps {\r\n children: ReactNode;\r\n selector: string;\r\n}\r\n\r\nconst ClientOnlyPortal: React.FC = ({\r\n children,\r\n selector,\r\n}) => {\r\n const ref = useRef();\r\n const [mounted, setMounted] = useState(false);\r\n\r\n useEffect(() => {\r\n ref.current = document.querySelector(selector) as HTMLElement;\r\n setMounted(true);\r\n }, [selector]);\r\n\r\n return mounted ? createPortal(children, ref.current!) : null;\r\n};\r\n\r\nexport default ClientOnlyPortal;\r\n","import React, {useContext, useState} from 'react';\r\nimport {\r\n Grow,\r\n Icon,\r\n IconButton,\r\n ListItem,\r\n ListItemText,\r\n Paper,\r\n} from '@material-ui/core';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\n\r\nimport {RouteComponentProps, withRouter} from 'react-router-dom';\r\nimport {Manager, Popper, Reference} from 'react-popper';\r\nimport HorizontalItem from './HorizontalItem';\r\nimport HorizontalGroup from './HorizontalGroup';\r\nimport Box from '@material-ui/core/Box';\r\nimport IntlMessages from '../../../utility/IntlMessages';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\nimport {NavItemProps} from '../../../../containers/layouts/routesConfig';\r\nimport ClientOnlyPortal from './ClientPortal';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n root: {\r\n '& .list-item-text': {\r\n padding: '0 0 0 16px',\r\n },\r\n },\r\n button: {\r\n color: theme.palette.text.primary,\r\n minHeight: 48,\r\n '&.active, &.active:hover, &.active:focus': {\r\n backgroundColor: theme.palette.primary.main + '!important',\r\n color: theme.palette.secondary.contrastText + '!important',\r\n },\r\n '&.open': {\r\n backgroundColor: 'rgba(0,0,0,.08)',\r\n },\r\n '&.dense': {\r\n padding: '8px 12px 8px 12px',\r\n minHeight: 40,\r\n '& .list-item-text': {\r\n padding: '0 0 0 8px',\r\n },\r\n },\r\n },\r\n popper: {\r\n zIndex: 999,\r\n },\r\n popperClose: {\r\n pointerEvents: 'none',\r\n },\r\n icon: {\r\n fontsSize: 18,\r\n marginRight: 14,\r\n },\r\n pl0: {\r\n paddingLeft: 0,\r\n },\r\n}));\r\n\r\ninterface HorizontalCollapseProps extends RouteComponentProps {\r\n item: NavItemProps;\r\n nestedLevel: number;\r\n dense?: string;\r\n match: any;\r\n history: any;\r\n}\r\n\r\nconst HorizontalCollapse: React.FC = ({\r\n item,\r\n location,\r\n match,\r\n history,\r\n nestedLevel,\r\n dense,\r\n}) => {\r\n const classes = useStyles();\r\n const [opened, setOpened] = useState(false);\r\n const {theme} = useContext(AppContext);\r\n const active = isUrlInChildren(item, location.pathname);\r\n\r\n const handleToggle = (open: boolean) => {\r\n setOpened(open);\r\n };\r\n\r\n function isUrlInChildren(parent: any, url: string) {\r\n if (!parent.children) {\r\n return false;\r\n }\r\n\r\n for (let i = 0; i < parent.children.length; i++) {\r\n if (parent.children[i].children) {\r\n if (isUrlInChildren(parent.children[i], url)) {\r\n return true;\r\n }\r\n }\r\n\r\n if (\r\n parent.children[i].url === url ||\r\n url.includes(parent.children[i].url)\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n {({ref}) => (\r\n handleToggle(true)}\r\n onMouseLeave={() => handleToggle(false)}>\r\n {item.icon && (\r\n \r\n {item.icon}\r\n \r\n )}\r\n }\r\n />\r\n \r\n \r\n \r\n {theme.direction === 'ltr'\r\n ? 'chevron_right'\r\n : 'chevron_left'}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {({ref, style, placement, arrowProps}) =>\r\n opened && (\r\n \r\n \r\n handleToggle(true)}\r\n onMouseLeave={() => handleToggle(false)}>\r\n {item.children && Array.isArray(item.children) && (\r\n
      \r\n {item.children.map((item: any) => (\r\n \r\n {item.type === 'group' && (\r\n \r\n )}\r\n\r\n {item.type === 'collapse' && (\r\n \r\n )}\r\n\r\n {item.type === 'item' && (\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\n\r\nexport default withRouter(React.memo(HorizontalCollapse));\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {Fonts} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n root: {\r\n color: theme.palette.secondary.contrastText + '!important',\r\n '&.active, &.active:hover, &.active:focus': {\r\n backgroundColor: theme.palette.primary.main + '!important',\r\n color: theme.palette.secondary.contrastText + '!important',\r\n },\r\n '& .list-item-text': {\r\n padding: '0 0 0 16px',\r\n },\r\n '&.level-0': {\r\n height: 48,\r\n borderRadius: 4,\r\n '&:hover': {\r\n background: 'transparent',\r\n },\r\n },\r\n '&.dense': {\r\n padding: '8px 12px 8px 12px',\r\n minHeight: 40,\r\n '&.level-0': {\r\n height: 44,\r\n },\r\n '& .list-item-text': {\r\n padding: '0 0 0 8px',\r\n },\r\n },\r\n },\r\n children: {},\r\n popper: {\r\n zIndex: 999,\r\n },\r\n popperClose: {\r\n pointerEvents: 'none',\r\n },\r\n pl0: {\r\n paddingLeft: 0,\r\n },\r\n fontBold: {\r\n fontWeight: Fonts.MEDIUM,\r\n },\r\n ml2: {\r\n marginLeft: 8,\r\n },\r\n textLg: {\r\n fontSize: 18,\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useState} from 'react';\r\nimport {\r\n Grow,\r\n Icon,\r\n IconButton,\r\n ListItem,\r\n ListItemText,\r\n Paper,\r\n} from '@material-ui/core';\r\nimport {RouteComponentProps, withRouter} from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport {Manager, Popper, Reference} from 'react-popper';\r\nimport HorizontalCollapse from './HorizontalCollapse';\r\nimport HorizontalItem from './HorizontalItem';\r\nimport {NavItemProps} from '../../../../containers/layouts/routesConfig';\r\nimport ClientOnlyPortal from './ClientPortal';\r\nimport IntlMessages from '../../../utility/IntlMessages';\r\nimport useStyles from './HorizontalGroup.style';\r\n\r\ninterface HorizontalGroupProps extends RouteComponentProps {\r\n item: NavItemProps;\r\n location: any;\r\n match: any;\r\n history: any;\r\n nestedLevel?: number;\r\n}\r\n\r\nconst HorizontalGroup: React.FC = ({\r\n item,\r\n location,\r\n match,\r\n history,\r\n nestedLevel = 0,\r\n}) => {\r\n const classes = useStyles();\r\n const [opened, setOpened] = useState(false);\r\n\r\n const handleToggle = (open: boolean) => {\r\n setOpened(open);\r\n };\r\n\r\n function isUrlInChildren(parent: any, url: string) {\r\n if (!parent.children) {\r\n return false;\r\n }\r\n\r\n for (let i = 0; i < parent.children.length; i++) {\r\n if (parent.children[i].children) {\r\n if (isUrlInChildren(parent.children[i], url)) {\r\n return true;\r\n }\r\n }\r\n\r\n if (\r\n parent.children[i].url === url ||\r\n url.includes(parent.children[i].url)\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return (\r\n \r\n \r\n {({ref}) => (\r\n handleToggle(true)}\r\n onMouseLeave={() => handleToggle(false)}\r\n aria-haspopup='true'>\r\n {item.icon && (\r\n \r\n {item.icon}\r\n \r\n )}\r\n }\r\n classes={{primary: clsx(classes.fontBold, 'uppercase')}}\r\n />\r\n {nestedLevel > 0 && (\r\n \r\n \r\n keyboard_arrow_right\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {({ref, style, placement}) =>\r\n opened && (\r\n \r\n \r\n handleToggle(true)}\r\n onMouseLeave={() => handleToggle(false)}>\r\n {item.children && Array.isArray(item.children) && (\r\n
    \r\n {item.children.map((item: any) => (\r\n \r\n {item.type === 'group' && (\r\n \r\n )}\r\n\r\n {item.type === 'collapse' && (\r\n \r\n )}\r\n\r\n {item.type === 'item' && (\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 withRouter(React.memo(HorizontalGroup));\r\n","// import {jsonToRoutesConfig} from '../../api/translate';\r\nimport {jsonToRoutesConfig} from '../../api/translate';\r\nexport interface NavItemProps {\r\n id: string;\r\n messageId: string;\r\n title: string;\r\n icon?: string;\r\n exact?: boolean;\r\n url?: string;\r\n type?: string;\r\n count?: number;\r\n color?: string;\r\n auth?: string[];\r\n actions?: any; // | NavItemProps;\r\n children?: NavItemProps[]; // | NavItemProps;\r\n parentId?: string | undefined;\r\n}\r\n\r\nexport interface FormLabels {\r\n id: number;\r\n labels: {\r\n id: string;\r\n name: string;\r\n hasAccess?: boolean | undefined;\r\n type?: string | number | undefined;\r\n }[];\r\n}\r\n\r\nconst routesConfig: NavItemProps[] = jsonToRoutesConfig('fa');\r\n\r\nexport default routesConfig;\r\n","import React from 'react';\r\nimport HorizontalGroup from './HorizontalGroup';\r\nimport HorizontalCollapse from './HorizontalCollapse';\r\nimport HorizontalItem from './HorizontalItem';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport List from '@material-ui/core/List';\r\n\r\nimport routesConfig from '../../../../containers/layouts/routesConfig';\r\nimport Box from '@material-ui/core/Box';\r\n\r\ninterface HorizontalNavProps {}\r\n\r\nconst HorizontalNav: React.FC = () => {\r\n\r\n return (\r\n \r\n {routesConfig.map((item: any) => (\r\n \r\n {item.type === 'group' && (\r\n \r\n )}\r\n\r\n {item.type === 'collapse' && (\r\n \r\n )}\r\n\r\n {item.type === 'item' && }\r\n\r\n {item.type === 'divider' && (\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default HorizontalNav;\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n headerMain: {\r\n position: 'relative',\r\n minHeight: 56,\r\n paddingRight: 0,\r\n paddingLeft: 0,\r\n backgroundColor: theme.palette.background.paper,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n '& .langBtn': {\r\n borderLeft: '0 none',\r\n '&:hover, &:focus': {\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n '& .notiBtn': {\r\n color: theme.palette.grey[800],\r\n borderLeft: '0 none',\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n backgroundColor: 'transparent',\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n color: theme.palette.grey[400],\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n },\r\n },\r\n },\r\n },\r\n headerMainFlex: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n headerContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n sectionDesktop: {\r\n display: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: 'auto',\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n headerNav: {\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n '& .navbarNav': {\r\n display: 'flex',\r\n padding: 0,\r\n marginLeft: -16,\r\n marginRight: -16,\r\n [theme.breakpoints.up('lg')]: {\r\n marginLeft: -20,\r\n marginRight: -20,\r\n },\r\n },\r\n '& .navItem': {\r\n width: 'auto',\r\n cursor: 'pointer',\r\n [theme.breakpoints.up('lg')]: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n '&.active': {\r\n color: '#000',\r\n '& .navLinkIcon': {\r\n color: theme.palette.secondary.main,\r\n },\r\n },\r\n },\r\n '& .navLinkIcon': {\r\n marginRight: 10,\r\n color: theme.palette.primary.contrastText,\r\n fontSize: 20,\r\n },\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n menuIconRoot: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n },\r\n logoRoot: {\r\n height: 30,\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport InputBase from '@material-ui/core/InputBase';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport {Box, fade} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n root: {\r\n display: 'flex',\r\n marginRight: 10,\r\n position: 'relative',\r\n [theme.breakpoints.up('sm')]: {\r\n marginRight: 20,\r\n },\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n title: {\r\n flexGrow: 1,\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n search: (props: {borderLight: boolean; align: string}) => ({\r\n position: 'relative',\r\n borderRadius: theme.shape.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n marginLeft: props.align === 'right' ? 'auto' : 0,\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n '&.cr-search': {\r\n [theme.breakpoints.down('sm')]: {\r\n position: 'absolute',\r\n right: 0,\r\n top: '50%',\r\n zIndex: 1,\r\n transform: 'translateY(-50%)',\r\n },\r\n },\r\n }),\r\n searchIcon: {\r\n padding: theme.spacing(0, 2),\r\n height: '100%',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n zIndex: 1,\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n '&.right': {\r\n left: 'auto',\r\n right: 0,\r\n '& + $inputRoot $inputInput': {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: `calc(1em + ${theme.spacing(4)}px)`,\r\n },\r\n },\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n width: '100%',\r\n },\r\n inputInput: {\r\n padding: theme.spacing(2, 2, 2, 0),\r\n paddingLeft: `calc(1em + ${theme.spacing(4)}px)`,\r\n transition: theme.transitions.create('width'),\r\n backgroundColor: theme.palette.common.white,\r\n width: 162,\r\n height: 35,\r\n borderRadius: 4,\r\n boxSizing: 'border-box',\r\n [theme.breakpoints.down('sm')]: {\r\n width: 100,\r\n },\r\n '&:focus': {\r\n backgroundColor: 'rgba(255, 255, 255, 0.5)',\r\n borderColor: theme.palette.primary,\r\n width: 235,\r\n [theme.breakpoints.down('sm')]: {\r\n backgroundColor: theme.palette.common.white,\r\n width: 162,\r\n },\r\n },\r\n },\r\n inputBase: {\r\n backgroundColor: 'transparent',\r\n fontWeight: Fonts.MEDIUM,\r\n border: '1px solid',\r\n borderColor: (props: {borderLight: boolean; align: string}) =>\r\n props.borderLight ? '#efefef' : theme.palette.text.secondary,\r\n color: 'black',\r\n borderRadius: 4,\r\n\r\n '& > .Mui-focused': {\r\n borderColor: 'red',\r\n },\r\n },\r\n searchIconBox: {\r\n position: 'relative',\r\n '& $inputInput': {\r\n width: 35,\r\n borderRadius: 50,\r\n paddingLeft: 27,\r\n '&:focus': {\r\n width: 235,\r\n borderRadius: 4,\r\n paddingLeft: `calc(1em + ${theme.spacing(4)}px)`,\r\n },\r\n },\r\n '& $searchIcon': {\r\n paddingLeft: 6,\r\n paddingRight: 6,\r\n },\r\n },\r\n}));\r\n\r\ninterface AppSearchProps {\r\n placeholder?: string;\r\n iconPosition?: string;\r\n align?: string;\r\n overlap?: boolean;\r\n borderLight?: boolean;\r\n onlyIcon?: boolean;\r\n containerStyle?: any;\r\n inputStyle?: any;\r\n iconStyle?: any;\r\n\r\n [x: string]: any;\r\n}\r\n\r\nconst AppSearch: React.FC = ({\r\n onlyIcon = false,\r\n overlap = true,\r\n iconPosition = 'left',\r\n align = 'left',\r\n iconStyle = {\r\n color: 'grey',\r\n },\r\n placeholder,\r\n borderLight = false,\r\n containerStyle,\r\n inputStyle,\r\n ...rest\r\n}) => {\r\n const classes = useStyles({borderLight, align});\r\n if(false)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n else return null;\r\n};\r\n\r\nexport default AppSearch;\r\n","import React from 'react';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport Box from '@material-ui/core/Box';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n headerTop: {\r\n borderBottom: 'solid 1px',\r\n borderBottomColor: theme.palette.grey[300],\r\n padding: '2px 0',\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n headerContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n alertStyle: {\r\n backgroundColor: 'transparent !important',\r\n padding: 0,\r\n textAlign: 'center',\r\n '& .MuiAlert-message': {\r\n flex: 1,\r\n },\r\n '& .MuiAlert-action': {\r\n marginLeft: 10,\r\n },\r\n },\r\n}));\r\n\r\ninterface NotificationBarProps {}\r\n\r\nconst NotificationBar: React.FC = () => {\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(true);\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n setOpen(false);\r\n }}>\r\n \r\n \r\n }>\r\n Get flat 60% off on your first purchase\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default NotificationBar;\r\n","import React from 'react';\r\nimport Box from '@material-ui/core/Box';\r\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport clsx from 'clsx';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\nimport {MessageData} from '../../services/db/messages/messages';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n textBase: {\r\n fontSize: 14,\r\n },\r\n avatar: {\r\n width: 48,\r\n height: 48,\r\n },\r\n minWidth0: {\r\n minWidth: 0,\r\n },\r\n listItemRoot: {\r\n padding: '8px 20px',\r\n },\r\n}));\r\n\r\ninterface MessageItemProps {\r\n item: MessageData;\r\n}\r\n\r\nconst MessageItem: React.FC = ({item}) => {\r\n const classes = useStyles();\r\n if(false)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.name}\r\n \r\n \r\n {item.message}\r\n \r\n \r\n \r\n );\r\n else return null;\r\n};\r\n\r\nexport default MessageItem;\r\n","import React from 'react';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport SmsIcon from '@material-ui/icons/Sms';\r\nimport messages, {MessageData} from '../../services/db/messages/messages';\r\nimport {makeStyles} from '@material-ui/core';\r\nimport MessageItem from './MessageItem';\r\nimport Popover from '@material-ui/core/Popover';\r\nimport List from '@material-ui/core/List';\r\nimport Box from '@material-ui/core/Box';\r\nimport Button from '@material-ui/core/Button';\r\nimport Scrollbar from '../Scrollbar';\r\nimport IntlMessages from '../../utility/IntlMessages';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n crPopover: {\r\n '& .MuiPopover-paper': {\r\n width: 260,\r\n [theme.breakpoints.up('sm')]: {\r\n width: 300,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 380,\r\n },\r\n },\r\n '& .scroll-submenu': {\r\n maxHeight: 200,\r\n [theme.breakpoints.up('xl')]: {\r\n maxHeight: 380,\r\n },\r\n },\r\n },\r\n btnPopover: {\r\n borderRadius: 0,\r\n width: '100%',\r\n textTransform: 'capitalize',\r\n },\r\n notiBtn: {\r\n justifyContent: 'flex-start',\r\n width: '100%',\r\n height: 56,\r\n fontSize: 16,\r\n borderRadius: 0,\r\n paddingLeft: '1rem',\r\n paddingRight: '1rem',\r\n color: theme.palette.grey[800],\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n backgroundColor: 'transparent',\r\n },\r\n [theme.breakpoints.up('sm')]: {\r\n height: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n justifyContent: 'center',\r\n width: 'auto',\r\n borderLeft: 'solid 1px',\r\n borderColor: theme.palette.grey[200],\r\n color: theme.palette.grey[400],\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n backgroundColor: 'rgba(0, 0, 0, 0.08)',\r\n },\r\n },\r\n [theme.breakpoints.up('lg')]: {\r\n paddingLeft: '1.5rem',\r\n paddingRight: '1.5rem',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n paddingLeft: '2.5rem',\r\n paddingRight: '2.5rem',\r\n },\r\n },\r\n listStyle: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n badgeStyle: {\r\n marginRight: 8,\r\n },\r\n smsIcon: {\r\n fontSize: 22,\r\n color: theme.palette.text.secondary,\r\n [theme.breakpoints.up('xl')]: {\r\n fontSize: 30,\r\n },\r\n },\r\n listRoot: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n },\r\n}));\r\n\r\ninterface HeaderMessagesProps {}\r\n\r\nconst HeaderMessages: React.FC = () => {\r\n const [\r\n anchorMessages,\r\n setAnchorMessages,\r\n ] = React.useState(null);\r\n\r\n const onClickMessagesButton = (\r\n event: React.MouseEvent,\r\n ) => {\r\n setAnchorMessages(event.currentTarget);\r\n };\r\n\r\n const classes = useStyles();\r\n \r\n if(false)\r\n return (\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 setAnchorMessages(null)}>\r\n \r\n \r\n \r\n ({messages.length})\r\n \r\n \r\n \r\n {\r\n setAnchorMessages(null);\r\n }}>\r\n {messages.map((item: MessageData, index) => (\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 else return null;\r\n};\r\n\r\nexport default HeaderMessages;\r\n","import React from 'react';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport notification, {\r\n NotificationData,\r\n} from '../../services/db/notifications/notification';\r\nimport NotificationsActiveIcon from '@material-ui/icons/NotificationsActive';\r\nimport {makeStyles, Popover} from '@material-ui/core';\r\nimport List from '@material-ui/core/List';\r\nimport Box from '@material-ui/core/Box';\r\nimport Button from '@material-ui/core/Button';\r\nimport Scrollbar from '../Scrollbar';\r\nimport IntlMessages from '../../utility/IntlMessages';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport NotificationItem from './NotificationItem';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n crPopover: {\r\n '& .MuiPopover-paper': {\r\n width: 260,\r\n [theme.breakpoints.up('sm')]: {\r\n width: 300,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 380,\r\n },\r\n },\r\n '& .scroll-submenu': {\r\n maxHeight: 200,\r\n [theme.breakpoints.up('xl')]: {\r\n maxHeight: 380,\r\n },\r\n },\r\n },\r\n btnPopover: {\r\n borderRadius: 0,\r\n width: '100%',\r\n textTransform: 'capitalize',\r\n },\r\n notiBtn: {\r\n justifyContent: 'flex-start',\r\n width: '100%',\r\n height: 56,\r\n fontSize: 16,\r\n borderRadius: 0,\r\n paddingLeft: '1rem',\r\n paddingRight: '1rem',\r\n color: theme.palette.grey[800],\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n backgroundColor: 'transparent',\r\n },\r\n [theme.breakpoints.up('sm')]: {\r\n height: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n justifyContent: 'center',\r\n width: 'auto',\r\n borderLeft: 'solid 1px',\r\n borderLeftColor: theme.palette.grey[200],\r\n color: theme.palette.grey[400],\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n },\r\n },\r\n [theme.breakpoints.up('lg')]: {\r\n paddingLeft: '1.5rem',\r\n paddingRight: '1.5rem',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n paddingLeft: '2.5rem',\r\n paddingRight: '2.5rem',\r\n },\r\n },\r\n notiIcon: {\r\n fontSize: 22,\r\n color: theme.palette.text.secondary,\r\n [theme.breakpoints.up('xl')]: {\r\n fontSize: 30,\r\n },\r\n },\r\n list: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n },\r\n badge: {\r\n marginRight: 8,\r\n },\r\n}));\r\n\r\ninterface NotificationsProps {}\r\n\r\nconst Notifications: React.FC = () => {\r\n const [\r\n anchorNotification,\r\n setAnchorNotification,\r\n ] = React.useState(null);\r\n\r\n const onClickNotificationButton = (\r\n event: React.MouseEvent,\r\n ) => {\r\n setAnchorNotification(event.currentTarget);\r\n };\r\n\r\n const classes = useStyles();\r\n\r\n if(false)\r\n return (\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 setAnchorNotification(null)}>\r\n \r\n \r\n \r\n ({notification.length})\r\n \r\n \r\n \r\n {\r\n setAnchorNotification(null);\r\n }}>\r\n {notification.map((item: NotificationData, index) => (\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 else return null;\r\n};\r\n\r\nexport default Notifications;\r\n","import React from 'react';\r\nimport Box from '@material-ui/core/Box';\r\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport {ListItem, makeStyles} from '@material-ui/core';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport clsx from 'clsx';\r\nimport {NotificationData} from '../../services/db/notifications/notification';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n textBase: {\r\n fontSize: 14,\r\n },\r\n avatar: {\r\n width: 48,\r\n height: 48,\r\n },\r\n minWidth0: {\r\n minWidth: 0,\r\n },\r\n listItemRoot: {\r\n padding: '8px 20px',\r\n },\r\n}));\r\n\r\ninterface NotificationItemProps {\r\n item: NotificationData;\r\n}\r\n\r\nconst NotificationItem: React.FC = ({item}) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.name}\r\n \r\n {item.message}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotificationItem;\r\n","import React, {FC} from 'react';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport {useDispatch} from 'react-redux';\r\nimport {onJWTAuthSignout} from '../../../redux/actions';\r\nimport {useAuthUser} from '../../utility/AppHooks';\r\nimport {makeStyles} from '@material-ui/core';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport Box from '@material-ui/core/Box';\r\nimport {orange} from '@material-ui/core/colors';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport Hidden from '@material-ui/core/Hidden';\r\n\r\nconst useStyles = makeStyles(theme => {\r\n return {\r\n userRoot: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n cursor: 'pointer',\r\n justifyContent: 'center',\r\n },\r\n avatar: {\r\n fontSize: 24,\r\n backgroundColor: orange[500],\r\n },\r\n userInfo: {\r\n width: 'calc(100% - 75px)',\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n userName: {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n cursor: 'pointer',\r\n whiteSpace: 'nowrap',\r\n fontSize: 15,\r\n fontWeight: Fonts.MEDIUM,\r\n color: (props: {bgType: string}) =>\r\n props.bgType === 'colored' ? 'white' : theme.palette.text.primary,\r\n },\r\n };\r\n});\r\n\r\ninterface HorUserInfoProps {\r\n bgType?: string;\r\n}\r\n\r\nconst HorUserInfo: FC = ({bgType = 'colored'}) => {\r\n const dispatch = useDispatch();\r\n const user = useAuthUser();\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const handleClick = (event: React.MouseEvent) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const getUserAvatar = () => {\r\n if (user && user.displayName) {\r\n return user.displayName.charAt(0).toUpperCase();\r\n }\r\n if (user && user.email) {\r\n return user.email.charAt(0).toUpperCase();\r\n }\r\n };\r\n const classes = useStyles({bgType});\r\n\r\n return (\r\n \r\n \r\n {user && user.photoURL ? (\r\n \r\n ) : (\r\n {getUserAvatar()}\r\n )}\r\n \r\n \r\n {user && (user.displayName || \"\")}\r\n \r\n {user && (user.email || \"\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n My account\r\n dispatch(onJWTAuthSignout())}>\r\n Logout\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default HorUserInfo;\r\n","import React, {useContext} from 'react';\r\nimport {Box} from '@material-ui/core';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport AppContext from '../../../@crema/utility/AppContext';\r\nimport {ThemeMode} from '../../constants/AppEnums';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport AppContextPropsType from '../../../types/AppContextPropsType';\r\nimport { useHistory } from 'react-router';\r\n\r\nconst AppLogo = () => {\r\n const {themeMode} = useContext(AppContext);\r\n const history = useHistory()\r\n const useStyles = makeStyles(() => ({\r\n logoRoot: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n cursor: 'pointer',\r\n alignItems: 'center',\r\n },\r\n logo: {\r\n height: 70,\r\n marginRight: 10,\r\n marginTop:5,\r\n },\r\n }));\r\n const classes = useStyles();\r\n return (\r\n history.push('/cargo/dashboard')}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppLogo;\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport HorizontalNav from '../../Navigation/HorizontalNav';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppHeader.style';\r\nimport SearchBar from '../../SearchBar';\r\nimport NotificationBar from './NotificationBar';\r\nimport clsx from 'clsx';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport HorUserInfo from '../HorUserInfo';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = useState(null);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n \r\n \r\n \r\n \r\n dispatch(toggleNavCollapsed())}>\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\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 {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n appMain: {\r\n minHeight: '100vh',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n '&.appMainHor': {\r\n '& .customizerOption': {\r\n position: 'fixed',\r\n top: 205,\r\n [theme.breakpoints.up('xl')]: {\r\n top: 225,\r\n },\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .footer': {\r\n borderTop: 'solid 1px',\r\n borderTopColor: theme.palette.grey[200],\r\n },\r\n },\r\n },\r\n '& .footer': {\r\n marginLeft: 0,\r\n marginRight: 0,\r\n marginTop: 0,\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: 0,\r\n marginRight: 0,\r\n },\r\n },\r\n '& .footerContainer': {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 16,\r\n paddingRight: 16,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n },\r\n mainContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n '& > .scrollbar-container': {\r\n padding: '20px',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 20px',\r\n },\r\n '& > div': {\r\n marginBottom: 0,\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n right: 0,\r\n },\r\n '& $mainContent': {\r\n width: '100%',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: '100%',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent': {\r\n width: '100%',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1680,\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n margin: 'auto -20px 0',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: '-32px',\r\n marginRight: '-32px',\r\n },\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fluid' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 0,\r\n bottom: 0,\r\n width: '100%',\r\n zIndex: 99,\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n margin: '0',\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 20px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import React, {useContext, useEffect} from 'react';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {onJWTAuthSignout} from '../../../redux/actions';\r\nimport {useAuthUser} from '../../../@crema/utility/AppHooks';\r\nimport AppContext from '../../../@crema/utility/AppContext';\r\nimport clsx from 'clsx';\r\nimport {makeStyles, Typography} from '@material-ui/core';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport Box from '@material-ui/core/Box';\r\nimport {orange} from '@material-ui/core/colors';\r\nimport {Fonts, ThemeMode} from '../../constants/AppEnums';\r\nimport AppContextPropsType from '../../../types/AppContextPropsType';\r\nimport {AuthUser} from '../../../types/models/AuthUser';\r\nimport {LanguageContext} from '../../../context/languageContext/languageContext';\r\nimport {Translate, PAGE_ID} from 'context/languageContext';\r\n\r\nconst useStyles = makeStyles((theme) => {\r\n return {\r\n crUserInfo: {\r\n backgroundColor: '#252159',\r\n paddingTop: 9,\r\n paddingBottom: 9,\r\n minHeight: 56,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 10,\r\n paddingBottom: 10,\r\n minHeight: 75,\r\n },\r\n },\r\n profilePic: {\r\n fontSize: 24,\r\n backgroundColor: orange[500],\r\n },\r\n userInfo: {\r\n width: 'calc(100% - 75px)',\r\n },\r\n userName: {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n fontSize: 16,\r\n fontWeight: Fonts.MEDIUM,\r\n color: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.LIGHT ? '#313541' : 'white',\r\n },\r\n designation: {\r\n marginTop: -2,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n color: theme.palette.text.secondary,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n };\r\n});\r\n\r\nconst UserInfo: React.FC<{}> = () => {\r\n const {themeMode} = useContext(AppContext);\r\n const dispatch = useDispatch();\r\n const credit = useSelector((S: any) => S.credit);\r\n const {translateLabel} = Translate(PAGE_ID.GENERAL);\r\n\r\n const user: AuthUser | null = useAuthUser();\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const handleClick = (event: any) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const getUserAvatar = () => {\r\n if (user && user.displayName) {\r\n return user.displayName.charAt(0).toUpperCase();\r\n }\r\n if (user && user.email) {\r\n return user.email.charAt(0).toUpperCase();\r\n }\r\n };\r\n\r\n const classes = useStyles({themeMode});\r\n const {allMenu, updateCreditAmount, setActiveRoleId} =\r\n useContext(LanguageContext);\r\n\r\n useEffect(() => {\r\n updateCreditAmount();\r\n }, [updateCreditAmount]);\r\n\r\n return (\r\n \r\n \r\n {user && user.photoURL ? (\r\n \r\n ) : (\r\n {getUserAvatar()}\r\n )}\r\n \r\n \r\n \r\n {user && (user.displayName ? user.displayName : 'Admin Users ')}\r\n \r\n \r\n \r\n \r\n {allMenu?.length\r\n ? allMenu.map((role: any, index: number) => (\r\n {\r\n setActiveRoleId(role.UserDetailID);\r\n handleClose();\r\n }}>\r\n {role?.RoleName}\r\n \r\n ))\r\n : null}\r\n dispatch(onJWTAuthSignout())}>\r\n Logout\r\n \r\n \r\n \r\n \r\n {credit?.credit !== 0 && (\r\n \r\n \r\n {translateLabel('Credit')}:{' '}\r\n {credit?.credit?.toLocaleString()}\r\n {credit?.currency && (\r\n {' (' + credit?.currency + ') '}\r\n )}\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n {translateLabel('Balance')}: {credit?.Balance?.toLocaleString()}\r\n {credit?.currency && ' (' + credit?.currency + ') '}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserInfo;\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {Fonts, ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n navItem: {\r\n height: 40,\r\n marginTop: 2,\r\n marginBottom: 2,\r\n cursor: 'pointer',\r\n textDecoration: 'none !important',\r\n width: 'calc(100% - 16px)',\r\n borderRadius: '0 30px 30px 0',\r\n paddingLeft:\r\n theme.direction === 'ltr'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 24 + 40 * props.level\r\n : 12,\r\n paddingRight:\r\n theme.direction === 'rtl'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 24 + 40 * props.level\r\n : 12,\r\n '&.nav-item-header': {\r\n textTransform: 'uppercase',\r\n },\r\n '&.active': {\r\n backgroundColor: theme.palette.primary.main,\r\n pointerEvents: 'none',\r\n transition: 'border-radius .15s cubic-bezier(0.4,0.0,0.2,1)',\r\n '& .nav-item-text': {\r\n color: theme.palette.primary.main,\r\n fontWeight: Fonts.MEDIUM,\r\n },\r\n '& .nav-item-icon': {\r\n color: theme.palette.primary.main\r\n },\r\n },\r\n '&.active-custom': {\r\n // backgroundColor: theme.palette.primary.main,\r\n // pointerEvents: 'none',\r\n transition: 'border-radius .15s cubic-bezier(0.4,0.0,0.2,1)',\r\n '& .nav-item-text': {\r\n color: theme.palette.secondary.main,\r\n fontWeight: Fonts.BOLD,\r\n },\r\n '& .nav-item-icon': {\r\n color: theme.palette.secondary.main\r\n },\r\n },\r\n '&.Role': {\r\n backgroundColor: 'rgba(0, 0, 0, 0.1)',\r\n pointerEvents: 'none',\r\n '& .nav-item-text': {\r\n color: `${theme.palette.primary.main} !important`,\r\n fontWeight: Fonts.BOLD,\r\n },\r\n '& .nav-item-icon': {\r\n fontSize: 24,\r\n marginTop: 5,\r\n color: `${theme.palette.primary.main} !important`,\r\n },\r\n },\r\n\r\n '&:hover, &:focus': {\r\n '& .nav-item-text': {\r\n color: theme.palette.primary.main\r\n },\r\n\r\n '& .nav-item-icon': {\r\n color: theme.palette.primary.main\r\n },\r\n\r\n '& .nav-item-icon-arrow': {\r\n color: theme.palette.primary.main\r\n },\r\n },\r\n '& .nav-item-icon': {\r\n color: theme.palette.sidebar.textColor,\r\n },\r\n '& .nav-item-text': {\r\n color: theme.palette.sidebar.textColor,\r\n fontWeight: Fonts.MEDIUM,\r\n },\r\n },\r\n listIcon: {\r\n fontSize: 18,\r\n [theme.breakpoints.up('xl')]: {\r\n // fontSize: 20,\r\n },\r\n },\r\n listItemText: {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n fontWeight: Fonts.REGULAR,\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext, useMemo} from 'react';\r\nimport {Icon, ListItem, ListItemText} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport {Badge, NavLink} from '../../../index';\r\nimport Box from '@material-ui/core/Box';\r\nimport IntlMessages from '../../../utility/IntlMessages';\r\nimport useStyles from './VerticalItem.style';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {checkPermission} from '../../../utility/Utils';\r\nimport {useSelector} from 'react-redux';\r\nimport {AppState} from '../../../../redux/store';\r\nimport {NavItemProps} from '../../../../containers/layouts/routesConfig';\r\n\r\ninterface VerticalItemProps {\r\n item: NavItemProps;\r\n level: number;\r\n}\r\n\r\nconst VerticalItem: React.FC = ({item, level}: any) => {\r\n const {themeMode} = useContext(AppContext);\r\n const classes = useStyles({level, themeMode});\r\n const {user} = useSelector(({auth}) => auth);\r\n const hasPermission = useMemo(() => checkPermission(item.auth, user!.role), [\r\n item.auth,\r\n user,\r\n ]);\r\n if (!hasPermission) {\r\n return null;\r\n }\r\n return (\r\n \r\n {item.icon && (\r\n \r\n \r\n {item.icon}\r\n
\r\n \r\n )}\r\n }\r\n classes={{primary: 'nav-item-text'}}\r\n />\r\n {item.count && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(VerticalItem);\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {Fonts, ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n navItem: {\r\n height: 40,\r\n marginTop: 2,\r\n marginBottom: 2,\r\n width: 'calc(100% - 16px)',\r\n borderRadius: '0 30px 30px 0',\r\n paddingLeft:\r\n theme.direction === 'ltr'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 17 + 40 * props.level\r\n : 17,\r\n paddingRight:\r\n theme.direction === 'rtl'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 17 + 40 * props.level\r\n : 17,\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n paddingLeft:\r\n theme.direction === 'ltr'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 24 + 40 * props.level\r\n : 24,\r\n paddingRight:\r\n theme.direction === 'rtl'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 24 + 40 * props.level\r\n : 24,\r\n },\r\n\r\n '& .nav-item-text': {\r\n fontWeight: Fonts.BOLD,\r\n // fontSize: 16,\r\n color: theme.palette.sidebar.textColor,\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n marginTop: 4,\r\n marginBottom: 4,\r\n // fontSize: 18,\r\n },\r\n },\r\n\r\n '& .nav-item-icon': {\r\n color: theme.palette.sidebar.textColor,\r\n },\r\n\r\n '& .nav-item-icon-arrow': {\r\n color: theme.palette.sidebar.textColor,\r\n },\r\n\r\n '& .MuiIconButton-root': {\r\n marginRight: -16,\r\n },\r\n '&.open': {\r\n '& .nav-item-text': {\r\n color: theme.palette.primary.main,\r\n },\r\n\r\n '& .nav-item-icon': {\r\n color: theme.palette.primary.main,\r\n },\r\n\r\n '& .nav-item-icon-arrow': {\r\n color: theme.palette.primary.main,\r\n },\r\n },\r\n '&:focus': {\r\n '& .nav-item-text': {\r\n color: theme.palette.primary.main,\r\n },\r\n\r\n '& .nav-item-icon': {\r\n color: theme.palette.primary.main,\r\n },\r\n\r\n '& .nav-item-icon-arrow': {\r\n color: theme.palette.primary.main,\r\n },\r\n },\r\n '&:hover': {\r\n '& .nav-item-text': {\r\n color: theme.palette.primary.main,\r\n },\r\n\r\n '& .nav-item-icon': {\r\n color: theme.palette.primary.main,\r\n },\r\n\r\n '& .nav-item-icon-arrow': {\r\n color: theme.palette.primary.main,\r\n },\r\n },\r\n },\r\n listItemText: {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n },\r\n listIcon: {\r\n fontSize: 18,\r\n [theme.breakpoints.up('xl')]: {\r\n // fontSize: 20,\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext, useEffect, useMemo, useState} from 'react';\r\nimport {\r\n Collapse,\r\n Icon,\r\n IconButton,\r\n ListItem,\r\n ListItemText,\r\n} from '@material-ui/core';\r\nimport {useLocation} from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport VerticalItem from './VerticalItem';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport IntlMessages from '../../../utility/IntlMessages';\r\nimport useStyles from './VerticalCollapase.style';\r\nimport {useSelector} from 'react-redux';\r\nimport {checkPermission} from '../../../utility/Utils';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\nimport {NavItemProps} from '../../../../containers/layouts/routesConfig';\r\nimport {AppState} from '../../../../redux/store';\r\n\r\nconst needsToBeOpened = (pathname: string, item: NavItemProps): boolean => {\r\n if (pathname) {\r\n return isUrlInChildren(item, pathname);\r\n }\r\n return false;\r\n};\r\n\r\nconst isUrlInChildren = (parent: any, url: string) => {\r\n if (!parent.children) {\r\n return false;\r\n }\r\n\r\n for (let i = 0; i < parent.children.length; i++) {\r\n if (parent.children[i].children) {\r\n if (isUrlInChildren(parent.children[i], url)) {\r\n return true;\r\n }\r\n }\r\n\r\n if (\r\n parent.children[i].url === url ||\r\n url.includes(parent.children[i].url)\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\ninterface VerticalCollapseProps {\r\n item: NavItemProps;\r\n level: number;\r\n}\r\n\r\nconst VerticalCollapse: React.FC = ({item, level}) => {\r\n const {theme, themeMode} = useContext(AppContext);\r\n const classes = useStyles({level, themeMode});\r\n const {pathname} = useLocation();\r\n const [open, setOpen] = useState(() => needsToBeOpened(pathname, item));\r\n\r\n useEffect(() => {\r\n if (needsToBeOpened(pathname, item)) {\r\n setOpen(true);\r\n }\r\n }, [pathname, item]);\r\n\r\n const handleClick = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const {user} = useSelector(({auth}) => auth);\r\n const hasPermission = useMemo(() => {\r\n return user && checkPermission(item.auth, user!.role);\r\n }, [item.auth, user]);\r\n\r\n if (!hasPermission) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {item.icon && (\r\n \r\n \r\n {item.icon}\r\n \r\n \r\n )}\r\n }\r\n />\r\n \r\n \r\n \r\n {open\r\n ? 'expand_more'\r\n : theme.direction === 'ltr'\r\n ? 'chevron_right'\r\n : 'chevron_left'}\r\n \r\n \r\n \r\n \r\n\r\n {item.children && Array.isArray(item.children) && (\r\n \r\n {item.children.map((item: any) => (\r\n \r\n {item.type === 'collapse' && (\r\n \r\n )}\r\n\r\n {item.type === 'item' && (\r\n \r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(VerticalCollapse);\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n navItem: {\r\n height: 40,\r\n marginTop: 2,\r\n marginBottom: 2,\r\n paddingLeft:\r\n theme.direction === 'ltr'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 17 + 40 * props.level\r\n : 12,\r\n paddingRight:\r\n theme.direction === 'rtl'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 17 + 40 * props.level\r\n : 12,\r\n color: theme.palette.secondary.main,\r\n fontWeight: 700,\r\n fontSize: 14,\r\n cursor: 'pointer',\r\n textDecoration: 'none!important',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n // fontSize: 16,\r\n marginTop: 4,\r\n marginBottom: 4,\r\n paddingLeft:\r\n theme.direction === 'ltr'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 24 + 40 * props.level\r\n : 12,\r\n paddingRight:\r\n theme.direction === 'rtl'\r\n ? (props: {level: number; themeMode: ThemeMode}) =>\r\n 24 + 40 * props.level\r\n : 12,\r\n },\r\n '&.nav-item-header': {\r\n textTransform: 'uppercase',\r\n },\r\n },\r\n };\r\n});\r\n\r\nexport default useStyles;\r\n","import React, {useContext, useMemo} from 'react';\r\nimport {ListItem} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport VerticalCollapse from './VerticalCollapse';\r\nimport VerticalItem from './VerticalItem';\r\nimport IntlMessages from '../../../utility/IntlMessages';\r\nimport useStyles from './VerticalNavGroup.style';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {useSelector} from 'react-redux';\r\nimport {checkPermission} from '../../../utility/Utils';\r\nimport {AppState} from '../../../../redux/store';\r\nimport {NavItemProps} from '../../../../containers/layouts/routesConfig';\r\n\r\ninterface VerticalNavGroupProps {\r\n item: NavItemProps;\r\n level: number;\r\n}\r\n\r\nconst VerticalNavGroup: React.FC = ({item, level}) => {\r\n const {themeMode} = useContext(AppContext);\r\n const classes = useStyles({level, themeMode});\r\n const {user} = useSelector(({auth}) => auth);\r\n const hasPermission = useMemo(() => checkPermission(item.auth, user!.role), [\r\n item.auth,\r\n user,\r\n ]);\r\n if (!hasPermission) {\r\n return null;\r\n }\r\n return (\r\n <>\r\n \r\n {}\r\n \r\n\r\n {item.children && Array.isArray(item.children) && (\r\n <>\r\n {item.children.map((item: any) => (\r\n \r\n {item.type === 'group' && (\r\n \r\n )}\r\n\r\n {item.type === 'collapse' && (\r\n \r\n )}\r\n\r\n {item.type === 'item' && (\r\n \r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst NavVerticalGroup = VerticalNavGroup;\r\n\r\nexport default NavVerticalGroup;\r\n","import React from 'react';\r\nimport List from '@material-ui/core/List';\r\n\r\nimport VerticalCollapse from './VerticalCollapse';\r\nimport VerticalItem from './VerticalItem';\r\nimport VerticalNavGroup from './VerticalNavGroup';\r\nimport {Menu, GetActiveRoleName} from '../../../../context/languageContext';\r\n\r\ninterface NavigationProps {}\r\n\r\nconst Navigation: React.FC = () => {\r\n const routesConfig = Menu();\r\n const ActiveRoleName = GetActiveRoleName();\r\n return (\r\n \r\n \r\n\r\n {routesConfig &&\r\n routesConfig.map((item: any) => (\r\n \r\n {item.type === 'group' && (\r\n \r\n )}\r\n\r\n {item.type === 'collapse' && (\r\n \r\n )}\r\n\r\n {item.type === 'item' && }\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Navigation;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n drawerContainer: {\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n maxHeight: '100vh',\r\n width: '19rem',\r\n [theme.breakpoints.up('xl')]: {\r\n width: '21.6rem',\r\n },\r\n },\r\n sidebarBg: {\r\n overflow: 'hidden',\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 32,\r\n height: 'calc(100vh - 58px) !important',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {AppState} from '../../../../redux/store';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface AppSidebarProps {\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n variant?: string;\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant = '',\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n const {themeMode} = useContext(AppContext);\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n\r\n const classes = useStyles({themeMode});\r\n return (\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(variant),\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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 AppSidebar;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport clsx from 'clsx';\r\nimport AppFooter from './AppFooter';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppSidebar from './AppSidebar';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface HorDefaultLayoutProps {\r\n props?: any;\r\n}\r\n\r\nconst HorDefault: React.FC = props => {\r\n const {footer, layoutType, footerType} = useContext(\r\n AppContext,\r\n );\r\n const classes = useStyles(props);\r\n\r\n return (\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 HorDefault;\r\n","import {fade, makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n appToolbar: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 30,\r\n paddingRight: 30,\r\n },\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n menuIcon: {\r\n width: 35,\r\n height: 35,\r\n },\r\n title: {\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n search: {\r\n position: 'relative',\r\n borderRadius: theme.overrides.MuiCard.root.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n marginRight: theme.spacing(2),\r\n marginLeft: 0,\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(3),\r\n width: 'auto',\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(7),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 7),\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n width: 200,\r\n },\r\n },\r\n sectionDesktop: {\r\n minHeight: 56,\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n appBar: {\r\n width: '100%',\r\n boxShadow: '4px 3px 4px 0px rgba(0,0,0,0.12)',\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 4rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 5rem)',\r\n },\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n logoRoot: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n height: 30,\r\n },\r\n menuIconRoot: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport SearchBar from '../../SearchBar';\r\nimport useStyles from './AppHeader.style';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\nimport clsx from 'clsx';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = useState(null);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n \r\n dispatch(toggleNavCollapsed())}>\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\n \r\n \r\n {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n miniSidebar: {\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n maxHeight: '100vh',\r\n position: 'relative',\r\n top: 0,\r\n left: 0,\r\n zIndex: 1109,\r\n width: '19rem',\r\n transition: 'all 0.5s ease',\r\n\r\n [theme.breakpoints.up('lg')]: {\r\n width: '4rem',\r\n position: 'fixed',\r\n\r\n '& .nav-item-text, & .nav-item-icon-arrow': {\r\n opecity: 0,\r\n visibility: 'hidden',\r\n },\r\n\r\n '& .nav-item-header, & .user-info, & .collapse-children': {\r\n display: 'none',\r\n },\r\n },\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n width: '5rem',\r\n },\r\n\r\n '& .cr-user-info': {\r\n paddingLeft: '10px !important',\r\n paddingRight: '10px !important',\r\n transition: 'all 0.5s ease',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n paddingLeft: '12px !important',\r\n paddingRight: '12px !important',\r\n },\r\n },\r\n\r\n '& .nav-item-icon': {\r\n transition: 'all 0.5s ease',\r\n display: 'block',\r\n\r\n [theme.breakpoints.up('lg')]: {\r\n marginRight: '5px !important',\r\n marginLeft: '5px !important',\r\n },\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n marginRight: '0 !important',\r\n marginLeft: '0 !important',\r\n },\r\n },\r\n\r\n '& .nav-item': {\r\n width: 48,\r\n paddingLeft: 11,\r\n marginLeft: 6,\r\n borderRadius: '50%',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n height: 48,\r\n paddingLeft: 13,\r\n marginLeft: 12,\r\n },\r\n },\r\n\r\n '&:hover': {\r\n [theme.breakpoints.up('lg')]: {\r\n width: '21.6rem',\r\n\r\n '& .nav-item-text, & .nav-item-icon-arrow': {\r\n opecity: 1,\r\n visibility: 'visible',\r\n },\r\n\r\n '& .nav-item-header, & .user-info, & .collapse-children': {\r\n display: 'block',\r\n },\r\n\r\n '& .nav-item-icon': {\r\n marginLeft: '0 !important',\r\n },\r\n\r\n '& .nav-item': {\r\n width: 'calc(100% - 16px)',\r\n paddingLeft: 17,\r\n marginLeft: 0,\r\n borderRadius: '0 30px 30px 0'\r\n },\r\n '& .collapse-children .nav-item': {\r\n paddingLeft: 67,\r\n },\r\n '& .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 117,\r\n },\r\n '& .collapse-children .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 167,\r\n },\r\n },\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n '& .nav-item': {\r\n paddingLeft: 24,\r\n marginLeft: 0,\r\n },\r\n '& .collapse-children .nav-item': {\r\n paddingLeft: 74,\r\n },\r\n '& .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 124,\r\n },\r\n '& .collapse-children .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 174,\r\n },\r\n },\r\n },\r\n },\r\n sidebarBg: {\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n scrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n height: 'calc(100vh - 58px) !important',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n height: 'calc(100vh - 65px) !important',\r\n },\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n height: 'calc(100vh - 58px) !important',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n height: 'calc(100vh - 65px) !important',\r\n },\r\n },\r\n sidebarStandard: {\r\n height: '100%',\r\n width: '100%',\r\n color: 'white',\r\n overflow: 'hidden',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {AppState} from '../../../../redux/store';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface AppSidebarProps {\r\n variant?: string;\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n const {themeMode} = useContext(AppContext);\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n\r\n const classes = useStyles({themeMode});\r\n let sidebarClasses = classes.sidebarStandard;\r\n\r\n return (\r\n <>\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(variant),\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppSidebar;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeStyle} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n appMain: {\r\n height: '100vh',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n paddingTop: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 70,\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .scrollAppSidebar': {\r\n height: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 260px) !important'\r\n : 'calc(100vh - 198px) !important',\r\n [theme.breakpoints.up('xl')]: {\r\n height: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 300px) !important'\r\n : 'calc(100vh - 236px) !important',\r\n },\r\n },\r\n '& $mainContainer': {\r\n paddingBottom: 1,\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n [theme.breakpoints.up('lg')]: {\r\n marginLeft: '4rem',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n marginLeft: '5rem',\r\n },\r\n },\r\n mainContainer: {\r\n width: '100%',\r\n paddingBottom: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.footer ? 0 : 10,\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 4rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 5rem)',\r\n },\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n mainContainerFull: {\r\n width: '100vw',\r\n paddingBottom: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.footer ? 0 : 10,\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n position: 'sticky',\r\n width: '100%',\r\n },\r\n '& $mainContent': {\r\n width: 'calc(100% - 19rem)',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: '100%',\r\n },\r\n '& .app-bar': {\r\n width: 'calc(100% - 4rem)',\r\n position: 'absolute',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent': {\r\n width: 'calc(100% - 21.6rem)',\r\n },\r\n '& .app-bar': {\r\n width: 'calc(100% - 5rem)',\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 'auto',\r\n bottom: 0,\r\n zIndex: 99,\r\n margin: '0',\r\n width: '100%',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 4rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 5rem)',\r\n },\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport AppSidebar from './AppSidebar';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport clsx from 'clsx';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface MiniSidebarProps {\r\n props?: any;\r\n}\r\n\r\nconst MiniSidebar: React.FC = props => {\r\n const {footer, themeStyle, layoutType, footerType} = useContext<\r\n AppContextPropsType\r\n >(AppContext);\r\n const classes = useStyles({themeStyle, footer});\r\n\r\n return (\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\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MiniSidebar;\r\n","import {fade, makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n appToolbar: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 30,\r\n paddingRight: 30,\r\n },\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n title: {\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n search: {\r\n position: 'relative',\r\n borderRadius: theme.overrides.MuiCard.root.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n marginRight: theme.spacing(2),\r\n marginLeft: 0,\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(3),\r\n width: 'auto',\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(7),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 7),\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n width: 200,\r\n },\r\n },\r\n sectionDesktop: {\r\n display: 'none',\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n logoRoot: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n height: 30,\r\n },\r\n menuIconRoot: {\r\n width: 35,\r\n height: 35,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport SearchBar from '../../SearchBar';\r\nimport useStyles from './AppHeader.style';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [mobileMoreAnchorEl, setMobileMoreAnchorEl] =\r\n useState(null);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n dispatch(toggleNavCollapsed())}>\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\n \r\n {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n drawerContainer: {\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n width: '19rem',\r\n maxHeight: '100vh',\r\n [theme.breakpoints!.up('xl')]: {\r\n width: '21.6rem',\r\n },\r\n },\r\n sidebarBg: {\r\n overflow: 'hidden',\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 32,\r\n height: 'calc(100vh - 58px) !important',\r\n\r\n [theme.breakpoints!.up('xl')]: {\r\n height: 'calc(100vh - 65px) !important',\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport clsx from 'clsx';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {AppState} from '../../../../redux/store';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface AppSidebarProps {\r\n variant?: string;\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant = '',\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {themeMode} = useContext(AppContext);\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n\r\n const classes = useStyles({themeMode});\r\n return (\r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(variant),\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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 AppSidebar;\r\n","import {makeStyles} from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles(theme => {\r\n return {\r\n appMain: {\r\n height: '100vh',\r\n display: 'flex',\r\n position: 'relative',\r\n paddingTop: 56,\r\n backgroundColor: theme.palette.background.default,\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 70,\r\n },\r\n '&.appMainFooter': {\r\n '& $mainContainerFull': {},\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& $mainContainerFull': {},\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n },\r\n mainContainerFull: {\r\n width: '100vw',\r\n paddingBottom: (props: {footer: boolean}) => (props.footer ? 0 : 10),\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n // maxWidth: 1260,\r\n maxWidth: '100vw',\r\n ///// new\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n right: 0,\r\n },\r\n\r\n // '& $mainContent': {\r\n // width: '100%',\r\n // flex: 'auto',\r\n // },\r\n '& .main-content-view': {\r\n width: '100%',\r\n maxWidth: 1680,\r\n margin: 'auto'\r\n },\r\n ////// new\r\n\r\n '& $mainContainerFull': {\r\n width: '100%',\r\n },\r\n '& .app-bar': {\r\n width: '100%',\r\n position: 'absolute',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n // maxWidth: 1680,\r\n // '& $mainContent, & .app-bar': {\r\n // width: '100%',\r\n // },\r\n maxWidth: '100vw',\r\n '& .main-content-view': {\r\n width: 1920,\r\n margin: 'auto'\r\n },\r\n '& .app-bar': {\r\n width: '100%',\r\n },\r\n ////// new\r\n '& .fixed-footer': {\r\n maxWidth: 1680,\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 0,\r\n bottom: 0,\r\n width: '100%',\r\n zIndex: 99,\r\n margin: '0',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n }));\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport AppSidebar from './AppSidebar';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport clsx from 'clsx';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface DrawerLayoutProps {\r\n props?: any;\r\n}\r\n\r\nconst DrawerLayout: React.FC = props => {\r\n const {footer, layoutType, footerType} = useContext(\r\n AppContext,\r\n );\r\n const classes = useStyles({footer});\r\n\r\n return (\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 DrawerLayout;\r\n","import {fade, makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n appToolbar: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 30,\r\n paddingRight: 30,\r\n },\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n menuIcon: {\r\n width: 35,\r\n height: 35,\r\n },\r\n title: {\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n search: {\r\n position: 'relative',\r\n borderRadius: theme.overrides.MuiCard.root.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n marginRight: theme.spacing(2),\r\n marginLeft: 0,\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(3),\r\n width: 'auto',\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(7),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 7),\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n width: 200,\r\n },\r\n },\r\n sectionDesktop: {\r\n minHeight: 58,\r\n display: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n minHeight: 65,\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n appBar: {\r\n width: '100%',\r\n boxShadow: '4px 3px 4px 0px rgba(0,0,0,0.12)',\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 19rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 21.6rem)',\r\n },\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n logoRoot: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n height: 30,\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport SearchBar from '../../SearchBar';\r\nimport useStyles from './AppHeader.style';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\nimport clsx from 'clsx';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = useState(null);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n \r\n dispatch(toggleNavCollapsed())}>\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\n \r\n {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n container: {\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n position: 'relative',\r\n top: 0,\r\n left: 0,\r\n width: '19rem',\r\n maxHeight: '100vh',\r\n [theme.breakpoints.up('lg')]: {\r\n position: 'fixed',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: '21.6rem',\r\n },\r\n },\r\n sidebarBg: {\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n scrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n height: 'calc(100vh - 58px) !important',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n height: 'calc(100vh - 65px) !important',\r\n },\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n height: 'calc(100vh - 58px) !important',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n height: 'calc(100vh - 65px) !important',\r\n },\r\n },\r\n sidebarStandard: {\r\n height: '100%',\r\n width: '100%',\r\n color: 'white',\r\n overflow: 'hidden',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {AppState} from '../../../../redux/store';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface AppSidebarProps {\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n variant?: string;\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant = '',\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n const {themeMode} = useContext(AppContext);\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n const classes = useStyles({themeMode});\r\n let sidebarClasses = classes.sidebarStandard;\r\n return (\r\n <>\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(variant),\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppSidebar;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {ThemeStyle} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n const {themeStyle, footer} = useContext(AppContext);\r\n return {\r\n appMain: {\r\n height: '100vh',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n paddingTop: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 70,\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .scrollAppSidebar': {\r\n height:\r\n themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 260px) !important'\r\n : 'calc(100vh - 198px) !important',\r\n [theme.breakpoints.up('xl')]: {\r\n height:\r\n themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 300px) !important'\r\n : 'calc(100vh - 236px) !important',\r\n },\r\n },\r\n '& $mainContainer': {\r\n paddingBottom: 1,\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n [theme.breakpoints.up('lg')]: {\r\n marginLeft: '19rem',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n marginLeft: '21.6rem',\r\n },\r\n },\r\n mainContainer: {\r\n paddingBottom: footer ? 0 : 10,\r\n width: '100%',\r\n [theme.breakpoints.up('lg')]: {\r\n width: `calc(100vw - 19rem)`,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: `calc(100vw - 21.6rem)`,\r\n },\r\n\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n mainContainerFull: {\r\n width: '100vw',\r\n paddingBottom: footer ? 0 : 10,\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n height: '100%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n position: 'sticky',\r\n width: '100%',\r\n },\r\n '& $mainContent': {\r\n width: 'calc(100% - 19rem)',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: '100%',\r\n },\r\n '& .app-bar': {\r\n width: 'calc(100% - 19rem)',\r\n position: 'absolute',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent, & .app-bar': {\r\n width: 'calc(100% - 21.6rem)',\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 'auto',\r\n bottom: 0,\r\n zIndex: 99,\r\n margin: '0',\r\n width: '100%',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 19rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 21.6rem)',\r\n },\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport AppSidebar from './AppSidebar';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport clsx from 'clsx';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface StandardLayoutProps {\r\n props?: any;\r\n}\r\n\r\nconst StandardLayout: React.FC = () => {\r\n const {footer, themeStyle, layoutType, footerType} = useContext<\r\n AppContextPropsType\r\n >(AppContext);\r\n const classes = useStyles({footer, themeStyle});\r\n\r\n return (\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\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default StandardLayout;\r\n","import React from 'react';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport SettingsIcon from '@material-ui/icons/Settings';\r\nimport SmsIcon from '@material-ui/icons/Sms';\r\nimport NotificationsActiveIcon from '@material-ui/icons/NotificationsActive';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport Box from '@material-ui/core/Box';\r\nimport {makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\nimport { useHistory } from 'react-router';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n bucketMinibar: {\r\n width: '3.3rem',\r\n backgroundColor: theme.palette.sidebar.bgColor,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n width: '4.3rem',\r\n },\r\n },\r\n bucketMiniBtn: {\r\n padding: 16,\r\n flexDirection: 'column',\r\n color: 'white',\r\n },\r\n iconBtn: {\r\n flexDirection: 'column',\r\n color: 'white',\r\n },\r\n icon: {\r\n fontSize: 20,\r\n [theme.breakpoints.up('xl')]: {\r\n fontSize: 30,\r\n },\r\n },\r\n logoRoot: {\r\n cursor: 'pointer',\r\n width: 30,\r\n marginLeft: 5,\r\n },\r\n}));\r\n\r\nexport default function PrimarySearchAppBar() {\r\n const classes = useStyles();\r\n const history = useHistory();\r\n return (\r\n \r\n \r\n history.push('/cargo/dashboard')}\r\n aria-label='show 17 new notifications'>\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\n \r\n \r\n \r\n );\r\n}\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n bitBucketSidebar: {\r\n width: '19rem',\r\n display: 'flex',\r\n position: 'relative',\r\n transition: 'all 0.5s ease',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n width: '21.6rem',\r\n },\r\n },\r\n appSidebarContainer: {\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n transition: 'all 0.5s ease',\r\n width: '15.7rem',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n width: '17.3rem',\r\n },\r\n },\r\n sidebarBg: {\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n scrollAppSidebar: {\r\n height: 'calc(100vh - 56px) !important',\r\n\r\n [theme.breakpoints.up('sm')]: {\r\n height: 'calc(100vh - 70px) !important',\r\n },\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n height: 'calc(100vh - 56px) !important',\r\n\r\n [theme.breakpoints.up('sm')]: {\r\n height: 'calc(100vh - 70px) !important',\r\n },\r\n },\r\n bitBucketBtn: {\r\n position: 'absolute',\r\n top: 20,\r\n right: '-12px',\r\n borderRadius: '50%',\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n cursor: 'pointer',\r\n zIndex: 9,\r\n display: 'none',\r\n\r\n [theme.breakpoints.up('lg')]: {\r\n display: 'block',\r\n },\r\n '& svg': {\r\n display: 'block',\r\n },\r\n },\r\n sidebarStandard: {\r\n height: '100%',\r\n width: '100%',\r\n color: 'white',\r\n overflow: 'hidden',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport Box from '@material-ui/core/Box';\r\nimport BucketMinibar from './BucketMinibar';\r\nimport NavigateBeforeIcon from '@material-ui/icons/NavigateBefore';\r\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {AppState} from '../../../../redux/store';\r\n\r\ninterface AppSidebarProps {\r\n isCollapsed: boolean;\r\n variant?: string;\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n setCollapsed: (isCollapsed: boolean) => void;\r\n}\r\n\r\nconst AppSidebar: React.FC = props => {\r\n const {isCollapsed, setCollapsed} = props;\r\n const {themeMode} = useContext(AppContext);\r\n\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n const classes = useStyles({themeMode});\r\n\r\n let sidebarClasses = classes.sidebarStandard;\r\n\r\n const sideBarComponent = () => {\r\n return (\r\n \r\n setCollapsed(!isCollapsed)}>\r\n {isCollapsed ? : }\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 return (\r\n <>\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(props.variant),\r\n paper: clsx(props.variant),\r\n }}\r\n style={{position: 'absolute'}}>\r\n {sideBarComponent()}\r\n \r\n \r\n {sideBarComponent()}\r\n \r\n );\r\n};\r\nexport default AppSidebar;\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n bitBucketResHeader: {\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n width: '100%',\r\n position: 'fixed',\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n backgroundColor: theme.palette.background.paper,\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 30,\r\n paddingRight: 30,\r\n },\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n menuIcon: {\r\n width: 35,\r\n height: 35,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n logoRoot: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n height: 30,\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport SearchBar from '../../SearchBar';\r\nimport useStyles from './AppHeader.style';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n \r\n \r\n dispatch(toggleNavCollapsed())}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n appMain: {\r\n height: '100vh',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n paddingTop: 56,\r\n\r\n [theme.breakpoints.up('lg')]: {\r\n paddingTop: 0,\r\n },\r\n '&.bitBucketCollapsed': {\r\n '& $mainContent': {\r\n position: 'relative',\r\n '& $mainContainer': {\r\n width: 'calc(100vw - 4.3rem)',\r\n },\r\n },\r\n '& .bit-bucket-sidebar': {\r\n width: '4.3rem',\r\n '& .app-sidebar-container': {\r\n width: '1rem',\r\n },\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n },\r\n mainContainer: {\r\n width: `calc(100vw - 19rem)`,\r\n paddingBottom: (props: {footer: boolean}) => (props.footer ? 0 : 10),\r\n transition: 'all 0.5s ease',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n width: `calc(100vw - 21.6rem)`,\r\n },\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n mainContainerFull: {\r\n width: '100vw',\r\n paddingBottom: 10,\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& $mainContent': {\r\n width: 'calc(100% - 19rem)',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: '100%',\r\n },\r\n '& .app-bar': {\r\n width: 'calc(100% - 19rem)',\r\n position: 'absolute',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent, & .app-bar': {\r\n width: 'calc(100% - 21.6rem)',\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {ReactNode, useContext, useState} from 'react';\r\nimport AppSidebar from './AppSidebar';\r\nimport {AppContext, ContentView, ThemeSetting} from '../../../index';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport AppHeader from './AppHeader';\r\nimport clsx from 'clsx';\r\nimport useStyles from './index.style';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\n\r\ninterface BitBucketProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst BitBucket: React.FC = props => {\r\n const [isCollapsed, setCollapsed] = useState(false);\r\n const {layoutType, footer} = useContext(AppContext);\r\n const classes = useStyles({footer});\r\n\r\n return (\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\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BitBucket;\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n headerMain: {\r\n minHeight: 56,\r\n paddingRight: 0,\r\n paddingLeft: 0,\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n '& .crAppsSearch': {\r\n backgroundColor: theme.palette.primary.contrastText,\r\n borderRadius: 4,\r\n '& .MuiOutlinedInput-notchedOutline': {\r\n borderColor: 'transparent',\r\n },\r\n },\r\n '& .crAppsSearchIcon': {\r\n color: theme.palette.primary.contrastText,\r\n },\r\n '& .langBtn': {\r\n borderLeft: '0 none',\r\n color: theme.palette.primary.contrastText,\r\n '&:hover, &:focus': {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n '& .smsIcon, & .notiIcon': {\r\n color: theme.palette.primary.contrastText,\r\n '&:hover, &:focus': {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n '& .notiBtn': {\r\n color: theme.palette.grey[800],\r\n borderLeft: '0 none',\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n backgroundColor: 'transparent',\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n color: theme.palette.primary.contrastText,\r\n '&:hover, &:focus': {\r\n color: theme.palette.secondary.main,\r\n },\r\n },\r\n },\r\n },\r\n headerMainFlex: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n headerContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n sectionDesktop: {\r\n display: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: 'auto',\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n headerNav: {\r\n backgroundColor: theme.palette.primary.contrastText,\r\n color: theme.palette.grey[800],\r\n '& .navbarNav': {\r\n display: 'flex',\r\n padding: 0,\r\n marginLeft: -16,\r\n marginRight: -16,\r\n [theme.breakpoints.up('lg')]: {\r\n marginLeft: -20,\r\n marginRight: -20,\r\n },\r\n },\r\n '& .navItem': {\r\n width: 'auto',\r\n cursor: 'pointer',\r\n [theme.breakpoints.up('lg')]: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n '&.active': {\r\n color: theme.palette.secondary.main,\r\n '& .navLinkIcon': {\r\n color: theme.palette.secondary.main,\r\n },\r\n },\r\n },\r\n '& .navLinkIcon': {\r\n marginRight: 10,\r\n color: theme.palette.grey[800],\r\n fontSize: 20,\r\n },\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n menuIconRoot: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n },\r\n logoRoot: {\r\n height: 30,\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport Box from '@material-ui/core/Box';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n headerTop: {\r\n borderBottom: 'solid 1px',\r\n borderBottomColor: 'rgba(255, 255, 255, 0.2)',\r\n padding: '2px 0',\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n },\r\n headerContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n alertStyle: {\r\n backgroundColor: 'transparent !important',\r\n color: theme.palette.primary.contrastText,\r\n padding: 0,\r\n textAlign: 'center',\r\n '& .MuiAlert-message': {\r\n flex: 1,\r\n },\r\n '& .MuiAlert-action': {\r\n marginLeft: 10,\r\n },\r\n },\r\n}));\r\n\r\ninterface NotificationBarProps {}\r\n\r\nconst NotificationBar: React.FC = () => {\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(true);\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n setOpen(false);\r\n }}>\r\n \r\n \r\n }>\r\n Get flat 60% off on your first purchase\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default NotificationBar;\r\n","import React from 'react';\r\nimport {Box} from '@material-ui/core';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport Hidden from '@material-ui/core/Hidden';\r\n\r\nconst AppLogoWhite = () => {\r\n const useStyles = makeStyles(() => ({\r\n logoRoot: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n cursor: 'pointer',\r\n alignItems: 'center',\r\n },\r\n logo: {\r\n height: 36,\r\n marginRight: 10,\r\n },\r\n }));\r\n const classes = useStyles();\r\n return (\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 AppLogoWhite;\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport clsx from 'clsx';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport HorizontalNav from '../../Navigation/HorizontalNav';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppHeader.style';\r\nimport SearchBar from '../../SearchBar';\r\nimport NotificationBar from './NotificationBar';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport HorUserInfo from '../HorUserInfo';\r\nimport AppLogoWhite from '../../../../shared/components/AppLogoWhite';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = useState(null);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n \r\n \r\n \r\n \r\n dispatch(toggleNavCollapsed())}>\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\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 {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n appMain: {\r\n minHeight: '100vh',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n '&.appMainHor': {\r\n '& .customizerOption': {\r\n position: 'fixed',\r\n top: 205,\r\n [theme.breakpoints.up('xl')]: {\r\n top: 225,\r\n },\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .footer': {\r\n borderTop: 'solid 1px',\r\n borderTopColor: theme.palette.grey[200],\r\n },\r\n },\r\n },\r\n '& .footer': {\r\n marginLeft: 0,\r\n marginRight: 0,\r\n marginTop: 0,\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: 0,\r\n marginRight: 0,\r\n },\r\n },\r\n '& .footerContainer': {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 16,\r\n paddingRight: 16,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n },\r\n mainContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n '& > .scrollbar-container': {\r\n padding: '20px',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 20px',\r\n },\r\n '& > div': {\r\n marginBottom: 0,\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n right: 0,\r\n },\r\n '& $mainContent': {\r\n width: '100%',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: '100%',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent': {\r\n width: '100%',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1680,\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n footer: {\r\n margin: 'auto -20px 0',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: '-32px',\r\n marginRight: '-32px',\r\n },\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fluid' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 0,\r\n bottom: 0,\r\n width: '100%',\r\n zIndex: 99,\r\n margin: '0',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 20px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n drawerContainer: {\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n maxHeight: '100vh',\r\n width: '19rem',\r\n [theme.breakpoints.up('xl')]: {\r\n width: '21.6rem',\r\n },\r\n },\r\n sidebarBg: {\r\n overflow: 'hidden',\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 32,\r\n height: 'calc(100vh - 58px) !important',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\nimport {AppState} from '../../../../redux/store';\r\n\r\ninterface AppSidebarProps {\r\n variant?: string;\r\n position?: 'left' | 'top' | 'right' | 'bottom';\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n const {themeMode} = useContext(AppContext);\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n\r\n const classes = useStyles({themeMode});\r\n return (\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(variant),\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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 AppSidebar;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport clsx from 'clsx';\r\nimport AppFooter from './AppFooter';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppSidebar from './AppSidebar';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface HorLightNavProps {\r\n props?: any;\r\n}\r\n\r\nconst HorLightNav: React.FC = props => {\r\n const classes = useStyles(props);\r\n const {footer, layoutType, footerType} = useContext(\r\n AppContext,\r\n );\r\n\r\n return (\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 HorLightNav;\r\n","import {makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n headerMain: {\r\n minHeight: 56,\r\n paddingRight: 0,\r\n paddingLeft: 0,\r\n borderBottom: 'solid 1px',\r\n borderBottomColor: 'rgba(255, 255, 255, 0.2)',\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n '& .crAppsSearch': {\r\n backgroundColor: theme.palette.primary.contrastText,\r\n borderRadius: 4,\r\n '& .MuiOutlinedInput-notchedOutline': {\r\n borderColor: 'transparent',\r\n },\r\n },\r\n '& .crAppsSearchIcon': {\r\n color: theme.palette.primary.contrastText,\r\n },\r\n '& .langBtn': {\r\n borderLeft: '0 none',\r\n color: theme.palette.primary.contrastText,\r\n '&:hover, &:focus': {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n '& .smsIcon, & .notiIcon': {\r\n color: theme.palette.primary.contrastText,\r\n '&:hover, &:focus': {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n '& .notiBtn': {\r\n color: theme.palette.grey[800],\r\n borderLeft: '0 none',\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n backgroundColor: 'transparent',\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n color: theme.palette.primary.contrastText,\r\n '&:hover, &:focus': {\r\n color: theme.palette.secondary.main,\r\n },\r\n },\r\n },\r\n },\r\n headerMainFlex: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n headerContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n sectionDesktop: {\r\n display: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: 'auto',\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n headerNav: {\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n '& .navbarNav': {\r\n display: 'flex',\r\n padding: 0,\r\n marginLeft: -16,\r\n marginRight: -16,\r\n [theme.breakpoints.up('lg')]: {\r\n marginLeft: -20,\r\n marginRight: -20,\r\n },\r\n },\r\n '& .navItem': {\r\n width: 'auto',\r\n cursor: 'pointer',\r\n [theme.breakpoints.up('lg')]: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n '&.active': {\r\n color: '#000',\r\n '& .navLinkIcon': {\r\n color: theme.palette.secondary.main,\r\n },\r\n },\r\n },\r\n '& .navLinkIcon': {\r\n marginRight: 10,\r\n color: theme.palette.primary.contrastText,\r\n fontSize: 20,\r\n },\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n menuIconRoot: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n },\r\n logoRoot: {\r\n height: 30,\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport Box from '@material-ui/core/Box';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n headerTop: {\r\n borderBottom: 'solid 1px',\r\n borderBottomColor: 'rgba(255, 255, 255, 0.2)',\r\n padding: '2px 0',\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n },\r\n headerContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n alertStyle: {\r\n backgroundColor: 'transparent !important',\r\n color: theme.palette.primary.contrastText,\r\n padding: 0,\r\n textAlign: 'center',\r\n '& .MuiAlert-message': {\r\n flex: 1,\r\n },\r\n '& .MuiAlert-action': {\r\n marginLeft: 10,\r\n },\r\n },\r\n}));\r\n\r\ninterface NotificationBarProps {}\r\n\r\nconst NotificationBar: React.FC = () => {\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(true);\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n setOpen(false);\r\n }}>\r\n \r\n \r\n }>\r\n Get flat 60% off on your first purchase\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default NotificationBar;\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport clsx from 'clsx';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport HorizontalNav from '../../Navigation/HorizontalNav';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppHeader.style';\r\nimport SearchBar from '../../SearchBar';\r\nimport NotificationBar from './NotificationBar';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport HorUserInfo from '../HorUserInfo';\r\nimport AppLogoWhite from '../../../../shared/components/AppLogoWhite';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = useState(null);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n \r\n \r\n \r\n \r\n dispatch(toggleNavCollapsed())}>\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\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n appMain: {\r\n minHeight: '100vh',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n '&.appMainHor': {\r\n '& .customizerOption': {\r\n position: 'fixed',\r\n top: 205,\r\n [theme.breakpoints.up('xl')]: {\r\n top: 225,\r\n },\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .footer': {\r\n borderTop: 'solid 1px',\r\n borderTopColor: theme.palette.grey[200],\r\n },\r\n },\r\n },\r\n '& .footer': {\r\n marginLeft: 0,\r\n marginRight: 0,\r\n marginTop: 0,\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: 0,\r\n marginRight: 0,\r\n },\r\n },\r\n '& .footerContainer': {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n paddingLeft: 16,\r\n paddingRight: 16,\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n },\r\n mainContainer: {\r\n width: '100%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1140,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1720,\r\n },\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 20px',\r\n },\r\n '& > div': {\r\n marginBottom: 0,\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n right: 0,\r\n },\r\n '& $mainContent': {\r\n width: '100%',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: '100%',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent': {\r\n width: '100%',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1680,\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n margin: 'auto -20px 0',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: '-32px',\r\n marginRight: '-32px',\r\n },\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fluid' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 0,\r\n bottom: 0,\r\n width: '100%',\r\n zIndex: 99,\r\n margin: '0',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 20px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n drawerContainer: {\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n maxHeight: '100vh',\r\n width: '19rem',\r\n [theme.breakpoints.up('xl')]: {\r\n width: '21.6rem',\r\n },\r\n },\r\n sidebarBg: {\r\n overflow: 'hidden',\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 32,\r\n height: 'calc(100vh - 58px) !important',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport {AppState} from '../../../../redux/store';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\nimport AppContext from '../../../utility/AppContext';\r\n\r\ninterface AppSidebarProps {\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n}\r\n\r\nconst AppSidebar: React.FC = ({position = 'left'}) => {\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n\r\n const {themeMode} = useContext(AppContext);\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n\r\n const classes = useStyles({themeMode});\r\n return (\r\n \r\n handleToggleDrawer()}\r\n style={{position: 'absolute'}}>\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 AppSidebar;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport {ContentView} from '../../../index';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport clsx from 'clsx';\r\nimport AppFooter from './AppFooter';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppSidebar from './AppSidebar';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface HorDarkLayoutProps {\r\n props?: any;\r\n}\r\n\r\nconst HorDarkLayout: React.FC = props => {\r\n const classes = useStyles(props);\r\n const {footer, layoutType, footerType} = useContext(\r\n AppContext,\r\n );\r\n\r\n return (\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 HorDarkLayout;\r\n","import {fade, makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n appToolbar: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 30,\r\n paddingRight: 30,\r\n },\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n menuIcon: {\r\n width: 40,\r\n height: 40,\r\n },\r\n title: {\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n search: {\r\n position: 'relative',\r\n borderRadius: theme.overrides.MuiCard.root.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n marginRight: theme.spacing(2),\r\n marginLeft: 0,\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(3),\r\n width: 'auto',\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(7),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 7),\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n width: 200,\r\n },\r\n },\r\n sectionDesktop: {\r\n display: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n middleRoot: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport SearchBar from '../../SearchBar';\r\nimport useStyles from './AppHeader.style';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = React.useState(null);\r\n\r\n const isMobileMenuOpen = Boolean(mobileMoreAnchorEl);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n \r\n dispatch(toggleNavCollapsed())}>\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\n \r\n \r\n {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode, ThemeStyle} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n container: {\r\n maxHeight: '100vh',\r\n paddingLeft: (props: {themeStyle: ThemeStyle; themeMode: ThemeMode}) =>\r\n props.themeStyle === ThemeStyle.MODERN ? 30 : 0,\r\n paddingTop: (props: {themeStyle: ThemeStyle; themeMode: ThemeMode}) =>\r\n props.themeStyle === ThemeStyle.MODERN ? 30 : 0,\r\n paddingBottom: (props: {themeStyle: ThemeStyle; themeMode: ThemeMode}) =>\r\n props.themeStyle === ThemeStyle.MODERN ? 30 : 0,\r\n width: (props: {themeStyle: ThemeStyle; themeMode: ThemeMode}) =>\r\n props.themeStyle === ThemeStyle.MODERN ? '19rem' : '19rem',\r\n [theme.breakpoints.up('xl')]: {\r\n width: (props: {themeStyle: ThemeStyle; themeMode: ThemeMode}) =>\r\n props.themeStyle === ThemeStyle.MODERN ? '22.8rem' : '21.6rem',\r\n },\r\n },\r\n drawerContainer: {\r\n maxHeight: '100vh',\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n width: '19rem',\r\n [theme.breakpoints.up('xl')]: {\r\n width: '21.6rem',\r\n },\r\n },\r\n sidebarBg: {\r\n overflow: 'hidden',\r\n backgroundColor: (props: {\r\n themeStyle: ThemeStyle;\r\n themeMode: ThemeMode;\r\n }) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n scrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 8,\r\n height: (props: {themeStyle: ThemeStyle; themeMode: ThemeMode}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 166px) !important'\r\n : 'calc(100vh - 116px) !important',\r\n [theme.breakpoints.up('xl')]: {\r\n height: (props: {themeStyle: ThemeStyle; themeMode: ThemeMode}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 190px) !important'\r\n : 'calc(100vh - 130px) !important',\r\n },\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n height: 'calc(100vh - 58px) !important',\r\n },\r\n\r\n sidebarModern: {\r\n height: '100%',\r\n width: '100%',\r\n color: 'white',\r\n overflow: 'hidden',\r\n borderRadius: 30,\r\n },\r\n sidebarStandard: {\r\n height: '100%',\r\n width: '100%',\r\n color: 'white',\r\n overflow: 'hidden',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport useStyles from './AppSidebar.style';\r\nimport {ThemeStyle} from '../../../../shared/constants/AppEnums';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\nimport {AppState} from '../../../../redux/store';\r\n\r\ninterface AppSidebarProps {\r\n variant?: string;\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant = '',\r\n}) => {\r\n const {themeStyle, themeMode} = useContext(AppContext);\r\n\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n\r\n const classes = useStyles({themeStyle, themeMode});\r\n let sidebarClasses = classes.sidebarModern;\r\n if (themeStyle === ThemeStyle.STANDARD) {\r\n sidebarClasses = classes.sidebarStandard;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppSidebar;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeStyle} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n appMain: {\r\n height: '100vh',\r\n display: 'flex',\r\n position: 'relative',\r\n paddingTop: 56,\r\n backgroundColor: theme.palette.background.default,\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 70,\r\n },\r\n '&.appMainFooter': {\r\n '& $mainContainer': {},\r\n '& $mainContainerFull': {},\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .scrollAppSidebar': {\r\n height: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 260px) !important'\r\n : 'calc(100vh - 198px) !important',\r\n [theme.breakpoints.up('xl')]: {\r\n height: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 300px) !important'\r\n : 'calc(100vh - 236px) !important',\r\n },\r\n },\r\n '& $mainContainer': {\r\n paddingBottom: 1,\r\n },\r\n '& $mainContainerFull': {},\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n },\r\n mainContainer: {\r\n width: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n `calc(100vw - ${\r\n props.themeStyle === ThemeStyle.MODERN ? '19rem' : '19rem'\r\n })`,\r\n paddingBottom: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.footer ? 0 : 10,\r\n [theme.breakpoints.up('xl')]: {\r\n width: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n `calc(100vw - ${\r\n props.themeStyle === ThemeStyle.MODERN ? '22.8rem' : '21.6rem'\r\n })`,\r\n },\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n mainContainerFull: {\r\n width: '100vw',\r\n paddingBottom: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.footer ? 0 : 10,\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n right: 0,\r\n },\r\n '& $mainContent': {\r\n width: '100%',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: 'calc(100% - 19rem)',\r\n },\r\n '& .app-bar': {\r\n width: '100%',\r\n position: 'absolute',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent, & .app-bar': {\r\n width: '100%',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1680,\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 0,\r\n bottom: 0,\r\n width: '100%',\r\n zIndex: 99,\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n margin: '0',\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport AppSidebar from './AppSidebar';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport clsx from 'clsx';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface DefaultLayoutProps {}\r\n\r\nconst DefaultLayout: React.FC = () => {\r\n const {themeStyle, footer, layoutType, footerType} = useContext<\r\n AppContextPropsType\r\n >(AppContext);\r\n const classes = useStyles({themeStyle, footer});\r\n\r\n return (\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\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DefaultLayout;\r\n","import {fade, makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n appToolbar: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 30,\r\n paddingRight: 30,\r\n },\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n menuIcon: {\r\n width: 35,\r\n height: 35,\r\n },\r\n title: {\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n search: {\r\n position: 'relative',\r\n borderRadius: theme.overrides.MuiCard.root.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n marginRight: theme.spacing(2),\r\n marginLeft: 0,\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(3),\r\n width: 'auto',\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(7),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 7),\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n width: 200,\r\n },\r\n },\r\n sectionDesktop: {\r\n minHeight: 58,\r\n display: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n minHeight: 65,\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n appBar: {\r\n width: '100%',\r\n boxShadow: '4px 3px 4px 0px rgba(0,0,0,0.12)',\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n logoRoot: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n height: 30,\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport {useDispatch} from 'react-redux';\r\nimport {onJWTAuthSignout} from '../../../redux/actions';\r\nimport {useAuthUser} from '../../../@crema/utility/AppHooks';\r\nimport AppContext from '../../../@crema/utility/AppContext';\r\nimport clsx from 'clsx';\r\nimport {makeStyles} from '@material-ui/core';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport Box from '@material-ui/core/Box';\r\nimport {orange} from '@material-ui/core/colors';\r\nimport {Fonts, ThemeMode} from '../../constants/AppEnums';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../types/AppContextPropsType';\r\nimport {AuthUser} from '../../../types/models/AuthUser';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n crHeaderUser: {\r\n backgroundColor: (props: {header: boolean; themeMode: ThemeMode}) =>\r\n props.header ? 'transparent' : 'rgba(0,0,0,.08)',\r\n paddingTop: 9,\r\n paddingBottom: 9,\r\n minHeight: 56,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 10,\r\n paddingBottom: 10,\r\n minHeight: 70,\r\n },\r\n },\r\n profilePic: {\r\n fontSize: 24,\r\n backgroundColor: orange[500],\r\n },\r\n userInfo: {\r\n width: (props: {header: boolean; themeMode: ThemeMode}) =>\r\n !props.header ? 'calc(100% - 75px)' : '100%',\r\n },\r\n userName: {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n cursor: 'pointer',\r\n whiteSpace: 'nowrap',\r\n fontSize: 15,\r\n fontWeight: Fonts.MEDIUM,\r\n color: (props: {header: boolean; themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.DARK || !props.header\r\n ? 'white'\r\n : '#313541',\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n };\r\n});\r\n\r\ninterface HeaderUserProps {\r\n header?: boolean;\r\n}\r\n\r\nconst HeaderUser: React.FC = ({header = true}) => {\r\n const {themeMode} = useContext(AppContext);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const dispatch = useDispatch();\r\n const user: AuthUser | null = useAuthUser();\r\n\r\n const handleClick = (event: any) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const getUserAvatar = () => {\r\n if (user && user.displayName) {\r\n return user.displayName.charAt(0).toUpperCase();\r\n }\r\n if (user && user.email) {\r\n return user.email.charAt(0).toUpperCase();\r\n }\r\n };\r\n const getUserAvatarView = () => {\r\n if (user && user.photoURL) {\r\n return ;\r\n } else {\r\n return {getUserAvatar()};\r\n }\r\n };\r\n\r\n const classes = useStyles({themeMode, header});\r\n\r\n return (\r\n \r\n \r\n {getUserAvatarView()}\r\n \r\n \r\n \r\n \r\n {user && (user.displayName || \"\")}\r\n \r\n {user && (user.email || \"\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {getUserAvatarView()}\r\n \r\n \r\n \r\n My account\r\n dispatch(onJWTAuthSignout())}>\r\n Logout\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default HeaderUser;\r\nHeaderUser.defaultProps = {\r\n header: true,\r\n};\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport SearchBar from '../../SearchBar';\r\nimport useStyles from './AppHeader.style';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\nimport HeaderUser from '../../../../shared/components/HeaderUser';\r\nimport clsx from 'clsx';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = useState(null);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n \r\n dispatch(toggleNavCollapsed())}>\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\n \r\n \r\n {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n container: {\r\n width: '19rem',\r\n maxHeight: '100vh',\r\n [theme.breakpoints.up('xl')]: {\r\n width: '21.6rem',\r\n },\r\n },\r\n sidebarBg: {\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n scrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n },\r\n sidebarStandard: {\r\n height: '100%',\r\n width: '100%',\r\n color: 'white',\r\n overflow: 'hidden',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport {AppState} from '../../../../redux/store';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\nimport AppContext from '../../../utility/AppContext';\r\n\r\ninterface AppSidebarProps {\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n variant?: string;\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant = '',\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n const {themeMode} = useContext(AppContext);\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n const classes = useStyles({themeMode});\r\n let sidebarClasses = classes.sidebarStandard;\r\n return (\r\n <>\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(variant),\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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\n \r\n \r\n );\r\n};\r\n\r\nexport default AppSidebar;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\nimport {ThemeStyle} from '../../../../shared/constants/AppEnums';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n const {themeStyle, footer} = useContext(AppContext);\r\n return {\r\n appMain: {\r\n height: '100vh',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n paddingTop: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 70,\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .scrollAppSidebar': {\r\n height:\r\n themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 260px) !important'\r\n : 'calc(100vh - 198px) !important',\r\n [theme.breakpoints.up('xl')]: {\r\n height:\r\n themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 300px) !important'\r\n : 'calc(100vh - 236px) !important',\r\n },\r\n },\r\n '& $mainContainer': {\r\n paddingBottom: 1,\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n },\r\n mainContainer: {\r\n paddingBottom: footer ? 0 : 10,\r\n width: '100%',\r\n [theme.breakpoints.up('lg')]: {\r\n width: `calc(100vw - 19rem)`,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: `calc(100vw - 21.6rem)`,\r\n },\r\n\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n mainContainerFull: {\r\n width: '100vw',\r\n paddingBottom: footer ? 0 : 10,\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n right: 0,\r\n },\r\n '& $mainContent': {\r\n width: '100%',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: 'calc(100% - 19rem)',\r\n },\r\n '& .app-bar': {\r\n width: '100%',\r\n position: 'absolute',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent, & .app-bar': {\r\n width: '100%',\r\n },\r\n '& .fixed-footer': {\r\n maxWidth: 1680,\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 0,\r\n bottom: 0,\r\n zIndex: 99,\r\n margin: 0,\r\n width: '100%',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport AppSidebar from './AppSidebar';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport clsx from 'clsx';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\ninterface HeaderUserLayoutProps {\r\n props?: any;\r\n}\r\n\r\nconst HeaderUserLayout: React.FC = props => {\r\n const {footer, themeStyle, layoutType, footerType} = useContext<\r\n AppContextPropsType\r\n >(AppContext);\r\n const classes = useStyles({footer, themeStyle});\r\n\r\n return (\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\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default HeaderUserLayout;\r\n","import {fade, makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n appToolbar: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 30,\r\n paddingRight: 30,\r\n },\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n menuIcon: {\r\n width: 35,\r\n height: 35,\r\n },\r\n title: {\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n search: {\r\n position: 'relative',\r\n borderRadius: theme.overrides.MuiCard.root.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n marginRight: theme.spacing(2),\r\n marginLeft: 0,\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(3),\r\n width: 'auto',\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(7),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 7),\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n width: 200,\r\n },\r\n },\r\n sectionDesktop: {\r\n minHeight: 56,\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n appBar: {\r\n width: '100%',\r\n boxShadow: '4px 3px 4px 0px rgba(0,0,0,0.12)',\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n logoRoot: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n height: 30,\r\n },\r\n menuIconRoot: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport SearchBar from '../../SearchBar';\r\nimport useStyles from './AppHeader.style';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\nimport HeaderUser from '../../../../shared/components/HeaderUser';\r\nimport clsx from 'clsx';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = useState(null);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n \r\n dispatch(toggleNavCollapsed())}>\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\n \r\n \r\n \r\n {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n miniSidebar: {\r\n zIndex: 1109,\r\n width: '19rem',\r\n height: `calc(100vh - 70px)`,\r\n transition: 'all 0.5s ease',\r\n\r\n [theme.breakpoints.up('lg')]: {\r\n width: '4rem',\r\n position: 'fixed',\r\n left: 0,\r\n\r\n '& .nav-item-text, & .nav-item-icon-arrow': {\r\n opecity: 0,\r\n visibility: 'hidden',\r\n },\r\n\r\n '& .nav-item-header, & .user-info, & .collapse-children': {\r\n display: 'none',\r\n },\r\n },\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n width: '5rem',\r\n },\r\n\r\n '& .cr-user-info': {\r\n paddingLeft: '10px !important',\r\n paddingRight: '10px !important',\r\n transition: 'all 0.5s ease',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n paddingLeft: '12px !important',\r\n paddingRight: '12px !important',\r\n },\r\n },\r\n\r\n '& .nav-item-icon': {\r\n transition: 'all 0.5s ease',\r\n display: 'block',\r\n\r\n [theme.breakpoints.up('lg')]: {\r\n marginRight: '5px !important',\r\n marginLeft: '5px !important',\r\n },\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n marginRight: '0 !important',\r\n marginLeft: '0 !important',\r\n },\r\n },\r\n\r\n '& .nav-item': {\r\n width: 48,\r\n paddingLeft: 11,\r\n marginLeft: 6,\r\n borderRadius: '50%',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n height: 48,\r\n paddingLeft: 13,\r\n marginLeft: 12,\r\n },\r\n },\r\n\r\n '&:hover': {\r\n [theme.breakpoints.up('lg')]: {\r\n width: '21.6rem',\r\n\r\n '& .nav-item-text, & .nav-item-icon-arrow': {\r\n opecity: 1,\r\n visibility: 'visible',\r\n },\r\n\r\n '& .nav-item-header, & .user-info, & .collapse-children': {\r\n display: 'block',\r\n },\r\n\r\n '& .nav-item-icon': {\r\n marginLeft: '0 !important',\r\n },\r\n\r\n '& .nav-item': {\r\n width: 'calc(100% - 16px)',\r\n paddingLeft: 17,\r\n marginLeft: 0,\r\n borderRadius: '0 30px 30px 0',\r\n },\r\n '& .collapse-children .nav-item': {\r\n paddingLeft: 67,\r\n },\r\n '& .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 117,\r\n },\r\n '& .collapse-children .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 167,\r\n },\r\n },\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n '& .nav-item': {\r\n paddingLeft: 24,\r\n marginLeft: 0,\r\n },\r\n '& .collapse-children .nav-item': {\r\n paddingLeft: 74,\r\n },\r\n '& .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 124,\r\n },\r\n '& .collapse-children .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 174,\r\n },\r\n },\r\n },\r\n },\r\n sidebarBg: {\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n scrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n },\r\n sidebarStandard: {\r\n height: '100%',\r\n width: '100%',\r\n color: 'white',\r\n overflow: 'hidden',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport {AppState} from '../../../../redux/store';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\nimport AppContext from '../../../utility/AppContext';\r\n\r\ninterface AppSidebarProps {\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n variant?: string;\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant = '',\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n const {themeMode} = useContext(AppContext);\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n\r\n const classes = useStyles({themeMode});\r\n let sidebarClasses = classes.sidebarStandard;\r\n\r\n return (\r\n <>\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(variant),\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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\n \r\n \r\n );\r\n};\r\n\r\nexport default AppSidebar;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeStyle} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n appMain: {\r\n height: '100vh',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n paddingTop: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 70,\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .scrollAppSidebar': {\r\n height: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 260px) !important'\r\n : 'calc(100vh - 198px) !important',\r\n [theme.breakpoints.up('xl')]: {\r\n height: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 300px) !important'\r\n : 'calc(100vh - 236px) !important',\r\n },\r\n },\r\n '& $mainContainer': {\r\n paddingBottom: 1,\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n [theme.breakpoints.up('lg')]: {\r\n marginLeft: '4rem',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n marginLeft: '5rem',\r\n },\r\n },\r\n mainContainer: {\r\n width: '100%',\r\n paddingBottom: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.footer ? 0 : 10,\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 4rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 5rem)',\r\n },\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n mainContainerFull: {\r\n width: '100vw',\r\n paddingBottom: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.footer ? 0 : 10,\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n position: 'sticky',\r\n width: '100%',\r\n },\r\n '& $mainContent': {\r\n width: 'calc(100% - 19rem)',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: '100%',\r\n },\r\n '& .app-bar': {\r\n width: '100%',\r\n position: 'absolute',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n '& .app-header-fixed': {\r\n position: 'absolute',\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent': {\r\n width: 'calc(100% - 21.6rem)',\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 'auto',\r\n bottom: 0,\r\n zIndex: 99,\r\n margin: '0',\r\n width: '100%',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 4rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 5rem)',\r\n },\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles(props);\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport AppSidebar from './AppSidebar';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport clsx from 'clsx';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface HeaderUserMiniLayoutProps {\r\n props?: any;\r\n}\r\n\r\nconst HeaderUserMiniLayout: React.FC = props => {\r\n const {footer, themeStyle, layoutType, footerType} = useContext<\r\n AppContextPropsType\r\n >(AppContext);\r\n\r\n const classes = useStyles({footer, themeStyle});\r\n return (\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\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default HeaderUserMiniLayout;\r\n","import {fade, makeStyles} from '@material-ui/core/styles';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n appToolbar: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n minHeight: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 30,\r\n paddingRight: 30,\r\n },\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n menuIcon: {\r\n width: 35,\r\n height: 35,\r\n },\r\n title: {\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n search: {\r\n position: 'relative',\r\n borderRadius: theme.overrides.MuiCard.root.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n marginRight: theme.spacing(2),\r\n marginLeft: 0,\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(3),\r\n width: 'auto',\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(7),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 7),\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n width: 200,\r\n },\r\n },\r\n sectionDesktop: {\r\n minHeight: 56,\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 70,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n appBar: {\r\n width: '100%',\r\n boxShadow: '4px 3px 4px 0px rgba(0,0,0,0.12)',\r\n transition: 'all 0.5s ease',\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 19rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 21rem)',\r\n },\r\n },\r\n menuItemRoot: {\r\n padding: 0,\r\n },\r\n pointer: {\r\n cursor: 'pointer',\r\n },\r\n logoRoot: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n height: 30,\r\n },\r\n menuIconRoot: {\r\n width: '2.5rem',\r\n height: '2.5rem',\r\n },\r\n}));\r\nexport default useStyles;\r\n","import React, {useState} from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport MoreIcon from '@material-ui/icons/MoreVert';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport LanguageSwitcher from '../../LanguageSwitcher';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport SearchBar from '../../SearchBar';\r\nimport useStyles from './AppHeader.style';\r\nimport HeaderMessages from '../../HeaderMessages';\r\nimport Notifications from '../../Notifications';\r\nimport AppLogo from '../../../../shared/components/AppLogo';\r\nimport clsx from 'clsx';\r\n\r\ninterface AppHeaderProps {}\r\n\r\nconst AppHeader: React.FC = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [\r\n mobileMoreAnchorEl,\r\n setMobileMoreAnchorEl,\r\n ] = useState(null);\r\n const isMobileMenuOpen = Boolean(mobileMoreAnchorEl);\r\n\r\n function handleMobileMenuClose() {\r\n setMobileMoreAnchorEl(null);\r\n }\r\n\r\n function handleMobileMenuOpen(event: React.MouseEvent) {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n }\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n \r\n \r\n \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 \r\n dispatch(toggleNavCollapsed())}>\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\n \r\n {renderMobileMenu}\r\n \r\n );\r\n};\r\nexport default AppHeader;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeMode} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n container: {\r\n paddingLeft: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n maxHeight: '100vh',\r\n position: 'relative',\r\n top: 0,\r\n left: 0,\r\n zIndex: 1109,\r\n width: '19rem',\r\n transition: 'all 0.5s ease',\r\n\r\n [theme.breakpoints.up('lg')]: {\r\n position: 'fixed',\r\n '&.mini-sidebar-collapsed': {\r\n width: '4rem',\r\n\r\n '& + .main-content': {\r\n marginLeft: '4rem',\r\n width: 'calc(100vw - 4rem)',\r\n flex: 'auto',\r\n\r\n '& .app-bar': {\r\n width: 'calc(100vw - 4rem)',\r\n },\r\n },\r\n\r\n '& .cr-user-info': {\r\n paddingLeft: '12px !important',\r\n paddingRight: '12px !important',\r\n },\r\n\r\n '& .nav-item-icon': {\r\n display: 'block',\r\n },\r\n\r\n '& .nav-item-text, & .nav-item-icon-arrow': {\r\n opecity: 0,\r\n visibility: 'hidden',\r\n },\r\n\r\n '& .nav-item-header, & .user-info, & .collapse-children': {\r\n display: 'none',\r\n },\r\n\r\n '& .nav-item': {\r\n width: 48,\r\n paddingLeft: 14,\r\n marginLeft: 8,\r\n borderRadius: '50%',\r\n },\r\n },\r\n },\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n width: '21rem',\r\n '&.mini-sidebar-collapsed': {\r\n width: '5rem',\r\n\r\n '& + .main-content': {\r\n marginLeft: '5rem',\r\n width: 'calc(100vw - 5rem)',\r\n\r\n '& .app-bar': {\r\n width: 'calc(100vw - 5rem)',\r\n },\r\n },\r\n\r\n '& .cr-user-info': {\r\n paddingLeft: '16px !important',\r\n paddingRight: '16px !important',\r\n },\r\n\r\n '& .nav-item': {\r\n height: 48,\r\n paddingLeft: 13,\r\n marginLeft: 12,\r\n },\r\n },\r\n },\r\n\r\n '&:hover': {\r\n [theme.breakpoints.up('lg')]: {\r\n '&.mini-sidebar-collapsed': {\r\n width: '21.6rem',\r\n\r\n '& .nav-item-text, & .nav-item-icon-arrow': {\r\n opecity: 1,\r\n visibility: 'visible',\r\n },\r\n\r\n '& .nav-item-header, & .user-info, & .collapse-children': {\r\n display: 'block',\r\n },\r\n\r\n '& .nav-item': {\r\n width: 'calc(100% - 16px)',\r\n paddingLeft: 17,\r\n marginLeft: 0,\r\n borderRadius: '0 30px 30px 0',\r\n },\r\n '& .collapse-children .nav-item': {\r\n paddingLeft: 67,\r\n },\r\n '& .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 117,\r\n },\r\n '& .collapse-children .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 167,\r\n },\r\n },\r\n },\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n '&.mini-sidebar-collapsed': {\r\n '& .nav-item': {\r\n paddingLeft: 24,\r\n marginLeft: 0,\r\n },\r\n '& .collapse-children .nav-item': {\r\n paddingLeft: 74,\r\n },\r\n '& .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 124,\r\n },\r\n '& .collapse-children .collapse-children .collapse-children .nav-item': {\r\n paddingLeft: 174,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n sidebarBg: {\r\n backgroundColor: (props: {themeMode: ThemeMode}) =>\r\n props.themeMode === ThemeMode.SEMI_DARK\r\n ? theme.palette.sidebar.bgColor\r\n : props.themeMode === ThemeMode.LIGHT\r\n ? 'white'\r\n : '#313541',\r\n },\r\n scrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n height: 'calc(100vh - 58px) !important',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n height: 'calc(100vh - 65px) !important',\r\n },\r\n },\r\n drawerScrollAppSidebar: {\r\n paddingTop: 8,\r\n paddingBottom: 20,\r\n height: 'calc(100vh - 58px) !important',\r\n\r\n [theme.breakpoints.up('xl')]: {\r\n height: 'calc(100vh - 65px) !important',\r\n },\r\n },\r\n sidebarStandard: {\r\n height: '100%',\r\n width: '100%',\r\n color: 'white',\r\n overflow: 'hidden',\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport clsx from 'clsx';\r\nimport UserInfo from '../../../../shared/components/UserInfo';\r\nimport Navigation from '../../Navigation/VerticleNav';\r\nimport {toggleNavCollapsed} from '../../../../redux/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './AppSidebar.style';\r\nimport Scrollbar from '../../Scrollbar';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\nimport {AppState} from '../../../../redux/store';\r\n\r\ninterface AppSidebarProps {\r\n variant?: string;\r\n position?: 'left' | 'bottom' | 'right' | 'top';\r\n}\r\n\r\nconst AppSidebar: React.FC = ({\r\n position = 'left',\r\n variant,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {themeMode} = useContext(AppContext);\r\n const {navCollapsed} = useSelector(\r\n ({settings}) => settings,\r\n );\r\n\r\n const handleToggleDrawer = () => {\r\n dispatch(toggleNavCollapsed());\r\n };\r\n\r\n const classes = useStyles({themeMode});\r\n let sidebarClasses = classes.sidebarStandard;\r\n\r\n return (\r\n <>\r\n \r\n handleToggleDrawer()}\r\n classes={{\r\n root: clsx(variant),\r\n paper: clsx(variant),\r\n }}\r\n style={{position: 'absolute'}}>\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\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppSidebar;\r\n","import {makeStyles} from '@material-ui/core';\r\nimport {ThemeStyle} from '../../../../shared/constants/AppEnums';\r\nimport {CremaTheme} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => {\r\n return {\r\n appMain: {\r\n height: '100vh',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.default,\r\n paddingTop: 56,\r\n [theme.breakpoints.up('sm')]: {\r\n paddingTop: 70,\r\n },\r\n '&.appMainFixedFooter': {\r\n paddingBottom: 48,\r\n [theme.breakpoints.up('xl')]: {\r\n paddingBottom: 58,\r\n },\r\n '& .scrollAppSidebar': {\r\n height: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 260px) !important'\r\n : 'calc(100vh - 198px) !important',\r\n [theme.breakpoints.up('xl')]: {\r\n height: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.themeStyle === ThemeStyle.MODERN\r\n ? 'calc(100vh - 300px) !important'\r\n : 'calc(100vh - 236px) !important',\r\n },\r\n },\r\n '& $mainContainer': {\r\n paddingBottom: 1,\r\n },\r\n },\r\n },\r\n mainContent: {\r\n flex: 1,\r\n display: 'flex',\r\n transition: 'all 0.5s ease',\r\n [theme.breakpoints.up('lg')]: {\r\n marginLeft: '19rem',\r\n width: 'calc(100vw - 19rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n marginLeft: '21rem',\r\n width: 'calc(100vw - 21rem)',\r\n },\r\n },\r\n mainContainer: {\r\n width: '100%',\r\n paddingBottom: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.footer ? 0 : 10,\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n mainContainerFull: {\r\n width: '100vw',\r\n paddingBottom: (props: {themeStyle: ThemeStyle; footer: boolean}) =>\r\n props.footer ? 0 : 10,\r\n '& > .scrollbar-container': {\r\n padding: '20px 20px 0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.up('md')]: {\r\n padding: '30px 32px 0',\r\n },\r\n },\r\n },\r\n boxedLayout: {\r\n [theme.breakpoints.up('lg')]: {\r\n maxWidth: 1260,\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n '& .app-sidebar': {\r\n position: 'absolute',\r\n },\r\n '& .fixed-footer': {\r\n position: 'sticky',\r\n width: '100%',\r\n },\r\n '& $mainContent': {\r\n width: 'calc(100% - 19rem)',\r\n flex: 'auto',\r\n },\r\n '& $mainContainer': {\r\n width: '100%',\r\n },\r\n '& .app-bar': {\r\n position: 'absolute',\r\n boxShadow: '0px 0px 4px 2px rgba(0,0,0,0.12)',\r\n width: 'calc(100% - 19rem)',\r\n },\r\n '& .mini-sidebar-collapsed': {\r\n '& + .main-content .app-bar': {\r\n width: 'calc(100% - 4rem)',\r\n },\r\n },\r\n '& .grid-btn': {\r\n fontSize: 11,\r\n },\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n maxWidth: 1680,\r\n '& $mainContent': {\r\n width: 'calc(100% - 21.6rem)',\r\n },\r\n '& .app-bar': {\r\n width: 'calc(100% - 21rem)',\r\n },\r\n '& .mini-sidebar-collapsed': {\r\n '& + .main-content .app-bar': {\r\n width: 'calc(100% - 5rem)',\r\n },\r\n },\r\n },\r\n },\r\n };\r\n});\r\nexport default useStyles;\r\n","import React, {useContext} from 'react';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport Box from '@material-ui/core/Box';\r\nimport {Button, makeStyles} from '@material-ui/core';\r\nimport clsx from 'clsx';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n footer: {\r\n position: 'fixed',\r\n left: 'auto',\r\n bottom: 0,\r\n zIndex: 99,\r\n margin: '0',\r\n width: '100%',\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n [theme.breakpoints.up('lg')]: {\r\n width: 'calc(100vw - 4rem)',\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n width: 'calc(100vw - 5rem)',\r\n },\r\n '& .footerContainer': {\r\n padding: '5px 20px',\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 32,\r\n paddingRight: 32,\r\n },\r\n [theme.breakpoints.up('xl')]: {\r\n padding: '10px 32px',\r\n },\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n },\r\n}));\r\n\r\ninterface AppFixedFooterProps {\r\n props?: any;\r\n}\r\n\r\nconst AppFixedFooter: React.FC = props => {\r\n const {footer, footerType} = useContext(AppContext);\r\n\r\n const classes = useStyles({props});\r\n\r\n return (\r\n <>\r\n {footer && footerType === 'fixed' ? (\r\n \r\n \r\n Copy right @crema 2020\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default AppFixedFooter;\r\n","import React, {useContext} from 'react';\r\nimport AppHeader from './AppHeader';\r\nimport AppSidebar from './AppSidebar';\r\nimport {ContentView, ThemeSetting} from '../../../index';\r\nimport Hidden from '@material-ui/core/Hidden';\r\nimport Box from '@material-ui/core/Box';\r\nimport useStyles from './index.style';\r\nimport AppFixedFooter from './AppFixedFooter';\r\nimport AppContext from '../../../utility/AppContext';\r\nimport clsx from 'clsx';\r\nimport {LayoutType} from '../../../../shared/constants/AppEnums';\r\nimport AppContextPropsType from '../../../../types/AppContextPropsType';\r\n\r\ninterface MiniSidebarToggleProps {\r\n props?: any;\r\n}\r\n\r\nconst MiniSidebarToggle: React.FC = props => {\r\n const {footer, themeStyle, layoutType, footerType} = useContext<\r\n AppContextPropsType\r\n >(AppContext);\r\n const classes = useStyles({footer, themeStyle});\r\n\r\n return (\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\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MiniSidebarToggle;\r\n","import HorDefault from './HorDefault';\r\nimport MiniSidebar from './MiniSidebar';\r\nimport DrawerLayout from './DrawerLayout';\r\nimport Standard from './Standard';\r\nimport BitBucket from './BitBucket';\r\nimport HorLightNav from './HorLightNav';\r\nimport HorDarkLayout from './HorDarkLayout';\r\nimport {NavStyle} from '../../../shared/constants/AppEnums';\r\nimport DefaultLayout from './DefaultLayout';\r\nimport HeaderUserLayout from './UserHeader';\r\nimport HeaderUserMiniLayout from './UserHeaderMini';\r\nimport MiniSidebarToggle from './MiniSidebarToggle';\r\n\r\ninterface LayoutsProps {\r\n [x: string]: any;\r\n}\r\n\r\nconst Layouts: LayoutsProps = {\r\n [NavStyle.STANDARD]: Standard,\r\n [NavStyle.DEFAULT]: DefaultLayout,\r\n [NavStyle.HEADER_USER]: HeaderUserLayout,\r\n [NavStyle.HEADER_USER_MINI]: HeaderUserMiniLayout,\r\n [NavStyle.MINI_SIDEBAR_TOGGLE]: MiniSidebarToggle,\r\n [NavStyle.MINI]: MiniSidebar,\r\n [NavStyle.DRAWER]: DrawerLayout,\r\n [NavStyle.BIT_BUCKET]: BitBucket,\r\n [NavStyle.H_DEFAULT]: HorDefault,\r\n [NavStyle.HOR_LIGHT_NAV]: HorLightNav,\r\n [NavStyle.HOR_DARK_LAYOUT]: HorDarkLayout,\r\n};\r\nexport default Layouts;\r\n","import makeStyles from '@material-ui/core/styles/makeStyles';\r\nimport {Fonts} from '../../constants/AppEnums';\r\nimport {fade} from '@material-ui/core';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n '@global': {\r\n // for global styles\r\n '.MuiLink-root': {\r\n fontWeight: Fonts.REGULAR,\r\n },\r\n '.pointer': {\r\n cursor: 'pointer',\r\n },\r\n '.MuiTableCell-stickyHeader': {\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n '.item-hover': {\r\n transition: 'all .2s ease',\r\n transform: 'scale(1)',\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.primary.main, 0.1),\r\n transform: 'translateY(-2px)',\r\n boxShadow: `0 3px 10px 0 ${fade(theme.palette.common.black, 0.2)}`,\r\n },\r\n },\r\n '.card-hover': {\r\n transition: 'all 0.3s ease',\r\n transform: 'scale(1)',\r\n '&:hover': {\r\n boxShadow: '0 4px 8px rgba(0,0,0,.45)',\r\n transform: 'scale(1.05)',\r\n },\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport {MessageView} from '../../../@crema';\r\nimport {useSelector} from 'react-redux';\r\nimport {v4 as uuid} from 'uuid';\r\n\r\ninterface InfoViewProps {}\r\n\r\nconst InfoView: React.FC = () => {\r\n const common = useSelector((store: any) => store.common);\r\n const {message, error} = common;\r\n\r\n const showMessage = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const showError = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {message && showMessage()}\r\n {error && showError()}\r\n \r\n );\r\n};\r\n\r\nexport default InfoView;\r\n","import React, {useContext} from 'react';\r\nimport {useSelector} from 'react-redux';\r\nimport Box from '@material-ui/core/Box';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\n\r\nimport AppContext from '../../utility/AppContext';\r\nimport Layouts from './Layouts';\r\nimport {ContentView} from '../../index';\r\nimport useStyles from '../../../shared/jss/common/common.style';\r\nimport {AppState} from '../../../redux/store';\r\nimport AppContextPropsType from '../../../types/AppContextPropsType';\r\n// import {ChangeLanguage} from '../../../context/languageContext';\r\nimport InfoViewShow from '../../../shared/components/InfoViewShow';\r\n\r\nconst useStyle = makeStyles(() => ({\r\n appAuth: {\r\n flex: 1,\r\n display: 'flex',\r\n position: 'relative',\r\n height: '100vh',\r\n\r\n '& .scrollbar-container': {\r\n flex: 1,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n '& .main-content-view': {},\r\n '& .footer': {\r\n marginRight: 0,\r\n marginLeft: 0,\r\n },\r\n },\r\n}));\r\n\r\ninterface CremaLayoutProps {}\r\n\r\nconst CremaLayout: React.FC = () => {\r\n useStyles();\r\n const {navStyle} = useContext(AppContext);\r\n const {user} = useSelector(({auth}) => auth);\r\n const AppLayout = Layouts[navStyle];\r\n\r\n // const context=useContext(AppContext);\r\n\r\n const classes = useStyle();\r\n // ChangeLanguage((isRTL)?'FA':'EN');\r\n\r\n return (\r\n <>\r\n \r\n {user ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(CremaLayout);\r\n","import {\r\n ThemeMode,\r\n ThemeStyle,\r\n ThemeStyleRadius,\r\n} from '../../../shared/constants/AppEnums';\r\nimport {isBreakPointDown} from '../Utils';\r\n\r\nexport const ThemeSetting = {\r\n UPDATE_THEME: 'UPDATE_THEME',\r\n SET_FOOTER: 'SET_FOOTER',\r\n SET_FOOTER_TYPE: 'SET_FOOTER_TYPE',\r\n UPDATE_THEME_MODE: 'UPDATE_THEME_MODE',\r\n UPDATE_HEADER_MODE: 'UPDATE_HEADER_MODE',\r\n UPDATE_THEME_STYLE: 'UPDATE_THEME_STYLE',\r\n UPDATE_LAYOUT_STYLE: 'UPDATE_LAYOUT_STYLE',\r\n SET_RTL: 'SET_RTL',\r\n CHANGE_LOCALE: 'CHANGE_LOCALE',\r\n CHANGE_NAV_STYLE: 'CHANGE_NAV_STYLE',\r\n CHANGE_RT_ANIM: 'CHANGE_RT_ANIM',\r\n UPDATE_PRIMARY_COLOR: 'UPDATE_PRIMARY_COLOR',\r\n UPDATE_SIDEBAR_COLOR: 'UPDATE_SIDEBAR_COLOR',\r\n UPDATE_SECONDARY_COLOR: 'UPDATE_SECONDARY_COLOR',\r\n};\r\n\r\nexport function contextReducer(state: any, action: any) {\r\n switch (action.type) {\r\n case ThemeSetting.UPDATE_THEME: {\r\n return {\r\n ...state,\r\n theme: action.payload,\r\n primary: action.payload.palette.primary.main,\r\n secondary: action.payload.palette.secondary.main,\r\n };\r\n }\r\n case ThemeSetting.SET_FOOTER: {\r\n return {\r\n ...state,\r\n footer: action.payload,\r\n };\r\n }\r\n case ThemeSetting.SET_FOOTER_TYPE: {\r\n return {\r\n ...state,\r\n footerType: action.payload,\r\n };\r\n }\r\n case ThemeSetting.UPDATE_THEME_MODE: {\r\n let theme = state.theme;\r\n if (action.payload === ThemeMode.DARK) {\r\n theme.palette.type = ThemeMode.DARK;\r\n theme.palette.background = {\r\n paper: '#313541',\r\n default: '#393D4B',\r\n };\r\n theme.palette.text = {\r\n primary: 'rgba(255, 255, 255, 0.87)',\r\n secondary: 'rgba(255, 255, 255, 0.67)',\r\n disabled: 'rgba(255, 255, 255, 0.38)',\r\n hint: 'rgba(255, 255, 255, 0.38)',\r\n };\r\n } else {\r\n theme.palette.type = ThemeMode.LIGHT;\r\n theme.palette.background = {\r\n paper: '#FFFFFF',\r\n default: '#f3f4f6',\r\n };\r\n theme.palette.text = {\r\n primary: 'rgba(0, 0, 0, 0.87)',\r\n secondary: 'rgba(0, 0, 0, 0.67)',\r\n disabled: 'rgba(0, 0, 0, 0.38)',\r\n hint: 'rgba(0, 0, 0, 0.38)',\r\n };\r\n }\r\n return {\r\n ...state,\r\n theme,\r\n themeMode: action.payload,\r\n };\r\n }\r\n case ThemeSetting.UPDATE_HEADER_MODE: {\r\n return {\r\n ...state,\r\n headerMode: action.payload,\r\n };\r\n }\r\n case ThemeSetting.UPDATE_THEME_STYLE: {\r\n const theme = state.theme;\r\n\r\n if (action.payload === ThemeStyle.MODERN) {\r\n if (isBreakPointDown('sm')) {\r\n theme.overrides.MuiCard.root.borderRadius = 20;\r\n theme.overrides.MuiToggleButton.root.borderRadius = 20;\r\n } else {\r\n theme.overrides.MuiCard.root.borderRadius = ThemeStyleRadius.MODERN;\r\n theme.overrides.MuiToggleButton.root.borderRadius =\r\n ThemeStyleRadius.MODERN;\r\n }\r\n theme.overrides.MuiButton.root.borderRadius = ThemeStyleRadius.MODERN;\r\n theme.overrides.MuiCardLg.root.borderRadius =\r\n ThemeStyleRadius.MODERN + 20;\r\n } else {\r\n theme.overrides.MuiCard.root.borderRadius = ThemeStyleRadius.STANDARD;\r\n theme.overrides.MuiToggleButton.root.borderRadius =\r\n ThemeStyleRadius.STANDARD;\r\n theme.overrides.MuiButton.root.borderRadius = ThemeStyleRadius.STANDARD;\r\n theme.overrides.MuiCardLg.root.borderRadius = ThemeStyleRadius.STANDARD;\r\n }\r\n\r\n return {\r\n ...state,\r\n theme,\r\n themeStyle: action.payload,\r\n };\r\n }\r\n case ThemeSetting.UPDATE_LAYOUT_STYLE: {\r\n return {\r\n ...state,\r\n layoutType: action.payload,\r\n };\r\n }\r\n case ThemeSetting.SET_RTL: {\r\n const theme = state.theme;\r\n if (action.payload) {\r\n theme.direction = 'rtl';\r\n } else {\r\n theme.direction = 'ltr';\r\n }\r\n return {\r\n ...state,\r\n theme,\r\n isRTL: action.payload,\r\n };\r\n }\r\n case ThemeSetting.CHANGE_LOCALE: {\r\n return {\r\n ...state,\r\n locale: action.payload,\r\n };\r\n }\r\n case ThemeSetting.CHANGE_NAV_STYLE: {\r\n return {\r\n ...state,\r\n navStyle: action.payload,\r\n };\r\n }\r\n case ThemeSetting.CHANGE_RT_ANIM: {\r\n return {\r\n ...state,\r\n rtAnim: action.payload,\r\n };\r\n }\r\n case ThemeSetting.UPDATE_PRIMARY_COLOR: {\r\n return {\r\n ...state,\r\n primary: action.payload,\r\n };\r\n }\r\n case ThemeSetting.UPDATE_SIDEBAR_COLOR: {\r\n return {\r\n ...state,\r\n sidebarColor: action.payload,\r\n };\r\n }\r\n case ThemeSetting.UPDATE_SECONDARY_COLOR: {\r\n return {\r\n ...state,\r\n secondary: action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import React, {useCallback, useReducer} from 'react';\r\nimport defaultConfig from './defaultConfig';\r\nimport AppContext from '../AppContext';\r\nimport routes from '../../../containers/layouts';\r\nimport {contextReducer, ThemeSetting} from './ContextReducer';\r\nimport {CremaTheme} from '../../../types/AppContextPropsType';\r\nimport {\r\n FooterType,\r\n HeaderType,\r\n LayoutType,\r\n RouteTransition,\r\n ThemeMode,\r\n ThemeStyle,\r\n} from '../../../shared/constants/AppEnums';\r\n\r\nexport const ContextState = {\r\n theme: defaultConfig.theme,\r\n footer: defaultConfig.footer,\r\n footerType: defaultConfig.footerType,\r\n themeMode: defaultConfig.themeMode,\r\n headerMode: defaultConfig.headerMode,\r\n themeStyle: defaultConfig.themeStyle,\r\n layoutType: defaultConfig.layoutType,\r\n isRTL: defaultConfig.theme.direction === 'rtl',\r\n locale: defaultConfig.locale,\r\n navStyle: defaultConfig.navStyle,\r\n rtAnim: defaultConfig.rtAnim,\r\n primary: defaultConfig.theme.palette.primary.main,\r\n sidebarColor: defaultConfig.theme.palette.sidebar.bgColor,\r\n secondary: defaultConfig.theme.palette.secondary.main,\r\n};\r\nconst ContextProvider: React.FC = ({children}) => {\r\n const [state, dispatch] = useReducer(\r\n contextReducer,\r\n ContextState,\r\n () => ContextState,\r\n );\r\n\r\n const setFooter = (footer: boolean) => {\r\n dispatch({type: ThemeSetting.SET_FOOTER, payload: footer});\r\n };\r\n\r\n const setFooterType = (footerType: FooterType) => {\r\n dispatch({type: ThemeSetting.SET_FOOTER_TYPE, payload: footerType});\r\n };\r\n\r\n const updateHeaderMode = (headerMode: HeaderType) => {\r\n dispatch({type: ThemeSetting.UPDATE_HEADER_MODE, payload: headerMode});\r\n };\r\n\r\n const updateThemeStyle = useCallback((themeStyle: ThemeStyle) => {\r\n dispatch({type: ThemeSetting.UPDATE_THEME_STYLE, payload: themeStyle});\r\n }, []);\r\n\r\n const updateLayoutStyle = (layoutType: LayoutType) => {\r\n dispatch({type: ThemeSetting.UPDATE_LAYOUT_STYLE, payload: layoutType});\r\n };\r\n\r\n const changeLocale = (locale: any) => {\r\n dispatch({type: ThemeSetting.CHANGE_LOCALE, payload: locale});\r\n };\r\n\r\n const changeNavStyle = useCallback(navStyle => {\r\n dispatch({type: ThemeSetting.CHANGE_NAV_STYLE, payload: navStyle});\r\n }, []);\r\n\r\n const changeRTAnim = (rtAnim: RouteTransition) => {\r\n dispatch({type: ThemeSetting.CHANGE_RT_ANIM, payload: rtAnim});\r\n };\r\n const updatePrimaryColor = (primary: string) => {\r\n dispatch({type: ThemeSetting.UPDATE_PRIMARY_COLOR, payload: primary});\r\n };\r\n\r\n const updateSidebarColor = (sidebarColor: string) => {\r\n dispatch({type: ThemeSetting.UPDATE_SIDEBAR_COLOR, payload: sidebarColor});\r\n };\r\n\r\n const updateSecondaryColor = (secondary: string) => {\r\n dispatch({type: ThemeSetting.UPDATE_SECONDARY_COLOR, payload: secondary});\r\n };\r\n\r\n const updateThemeMode = useCallback((themeMode: ThemeMode) => {\r\n dispatch({type: ThemeSetting.UPDATE_THEME_MODE, payload: themeMode});\r\n }, []);\r\n const updateTheme = (theme: CremaTheme) => {\r\n dispatch({type: ThemeSetting.UPDATE_THEME, payload: theme});\r\n };\r\n\r\n const setRTL = useCallback(rtl => {\r\n dispatch({type: ThemeSetting.SET_RTL, payload: rtl});\r\n }, []);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ContextProvider;\r\n","export const pageRoutes = {\r\n // ERORR PAGES\r\n ERROR_404: '/error/404',\r\n ERROR_403: '/error/403',\r\n ERROR_500: '/error/500',\r\n ERROR_COMING_SOON: '/error/coming-soon',\r\n ERROR_MAINTENANCE: '/error/maintenance',\r\n // CARGO ROUTES\r\n SUBMIT_RECEIPT: '/cargo/submitReceiptList',\r\n CHECK_RECEIPT: '/cargo/checkReceiptList',\r\n REFUND_OR_VIOD: '/cargo/refundOrVoidList',\r\n CONFIRM_REFUND_OR_VIOD: '/cargo/ConfirmrefundOrVoidList',\r\n ISSUED_AWB_LIST: '/cargo/IssuedList',\r\n DRAFT_AWB_LIST: '/cargo/draftList',\r\n RESERVED_AWB_LIST: '/cargo/ReservedList',\r\n TEMPORARY_AWB_LIST: '/cargo/temporaryList',\r\n CCA_AWB_LIST: '/cargo/ccaList',\r\n RETURN_MONEY_LIST: '/cargo/returnMoneyList',\r\n TRANSACTIONS_LIST: '/cargo/transactionList',\r\n CREATE_AWB: '/cargo/createAwb',\r\n ISSUED_AWB: '/cargo/IssuedList',\r\n RESERVED_AWB: '/cargo/ReserveAWB',\r\n CHARGE_USER: '/cargo/Charge',\r\n CHARGE_DETAIL: '/cargo/ChargeUserDetail',\r\n COMMISION: '/cargo/Commission',\r\n REPORTS: '/cargo/report',\r\n C_R_C: '/cargo/customize-rate-class',\r\n MANIFEST: '/cargo/manifest',\r\n RATE_CLASS: '/cargo/rate-class',\r\n PRICING: '/cargo/pricing',\r\n PAYMENT_REDIRECT: '/cargo/paymentDetail',\r\n ONLINE_CHARGE_DETAIL: '/cargo/onlineChargeDetail',\r\n PAYMENT_REPORT: '/cargo/PaymentReport',\r\n USER_SETTINGS: '/cargo/userSettings',\r\n USER_CHARGE_DETAIL: '/cargo/UserChargeDetail',\r\n};\r\n","import enMessages from '../locales/en_US.json';\r\nimport {enUS} from '@material-ui/core/locale';\r\n\r\nconst EnLang = {\r\n messages: {\r\n ...enMessages,\r\n },\r\n muiLocale: enUS,\r\n locale: 'en-US',\r\n};\r\nexport default EnLang;\r\n","import zhMessages from '../locales/zh-Hans.json';\r\nimport {zhCN} from '@material-ui/core/locale';\r\n\r\nconst ZhLan = {\r\n messages: {\r\n ...zhMessages,\r\n },\r\n muiLocale: zhCN,\r\n locale: 'zh-Hans-CN',\r\n};\r\nexport default ZhLan;\r\n","import saMessages from '../locales/ar_SA.json';\r\n\r\nconst saLang = {\r\n messages: {\r\n ...saMessages,\r\n },\r\n locale: 'ar-SA',\r\n};\r\nexport default saLang;\r\n","import saMessages from '../locales/it_IT.json';\r\nimport {itIT} from '@material-ui/core/locale';\r\n\r\nconst saLang = {\r\n messages: {\r\n ...saMessages,\r\n },\r\n muiLocale: itIT,\r\n locale: 'it-IT',\r\n};\r\nexport default saLang;\r\n","import saMessages from '../locales/es_ES.json';\r\nimport {esES} from '@material-ui/core/locale';\r\n\r\nconst saLang = {\r\n messages: {\r\n ...saMessages,\r\n },\r\n muiLocale: esES,\r\n locale: 'es',\r\n};\r\nexport default saLang;\r\n","import enLang from './entries/en-US';\r\nimport zhLang from './entries/zh-Hans-CN';\r\nimport arLang from './entries/ar_SA';\r\nimport itLang from './entries/it_IT';\r\nimport esLang from './entries/es_ES';\r\nimport frLang from './entries/fr_FR';\r\n\r\nconst AppLocale: any = {\r\n en: enLang,\r\n zh: zhLang,\r\n ar: arLang,\r\n it: itLang,\r\n es: esLang,\r\n fr: frLang,\r\n};\r\n\r\nexport default AppLocale;\r\n","import saMessages from '../locales/fr_FR.json';\r\nimport {frFR} from '@material-ui/core/locale';\r\n\r\nconst saLang = {\r\n messages: {\r\n ...saMessages,\r\n },\r\n muiLocale: frFR,\r\n locale: 'fr-FR',\r\n};\r\nexport default saLang;\r\n","import React from 'react';\r\nimport Routes from '../../../shared/constants/CargoRoutes';\r\nimport {pageRoutes} from 'containers';\r\n\r\nexport const cargoPagesConfig = [\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/rate-class-old/:formid',\r\n component: React.lazy(() => import('./RateClass')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/rate-class-new/:formid',\r\n component: React.lazy(() => import('./RateClass2')),\r\n },\r\n ],\r\n },\r\n\r\n // {\r\n // auth: ['user'],\r\n // exact: true,\r\n // routes: [\r\n // {\r\n // path: '/cargo/pricing/:formid',\r\n // component: React.lazy(() => import('./Pricing')),\r\n // },\r\n // ],\r\n // },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/CreateAWB',\r\n component: React.lazy(() => import('./AWBWizard')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/EditAWB',\r\n component: React.lazy(() => import('./AWBWizard')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/EditDraftAWB',\r\n component: React.lazy(() => import('./AWBWizard')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/EditTemporaryAWB',\r\n component: React.lazy(() => import('./AWBWizard')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/FilesEditAWB',\r\n component: React.lazy(() => import('./AWBWizard')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/CCAAWB',\r\n component: React.lazy(() => import('./AWBWizard')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/awbCalc',\r\n component: React.lazy(() => import('./AWBWizard')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/test/',\r\n component: React.lazy(() => import('./Test')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.AIR_PORT,\r\n component: React.lazy(() => import('./Airport')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.ROUTE,\r\n component: React.lazy(() => import('./Route')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.ORIGIN_DESTINATION,\r\n component: React.lazy(() => import('./OriginDestination')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.AJANS, //issuer awb\r\n component: React.lazy(() => import('./Ajans')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.USERS, //issuer awb\r\n component: React.lazy(() => import('./Users')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.ROLES, //issuer awb\r\n component: React.lazy(() => import('./Roles')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.LEVELS, //issuer awb\r\n component: React.lazy(() => import('./Levels')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.HANDLING_SERVICES_COST,\r\n component: React.lazy(() => import('./HandlingServiceCost')),\r\n\r\n // path: Routes.CARGO_COST,\r\n // component: React.lazy(() => import('./CargoCost')),\r\n },\r\n ],\r\n },\r\n\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/AWB_old',\r\n component: React.lazy(() => import('./AWB_old')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: '/cargo/CCA',\r\n component: React.lazy(() => import('./CCA')),\r\n },\r\n ],\r\n },\r\n // {\r\n // auth: ['user'],\r\n // exact: true,\r\n // routes: [\r\n // {\r\n // path: Routes.ISSUED_AWB,\r\n // component: React.lazy(() => import('./AWB')),\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // auth: ['user'],\r\n // exact: true,\r\n // routes: [\r\n // {\r\n // path: Routes.RESERVED_AWB,\r\n // component: React.lazy(() => import('./AWB')),\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // auth: ['user'],\r\n // exact: true,\r\n // routes: [\r\n // {\r\n // path: Routes.DRAFT_AWB_LIST,\r\n // component: React.lazy(() => import('./AWB')),\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // auth: ['user'],\r\n // exact: true,\r\n // routes: [\r\n // {\r\n // path: Routes.TEMPORARY_AWB_LIST,\r\n // component: React.lazy(() => import('./AWB')),\r\n // },\r\n // ],\r\n // },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.RECEIPT_HISTORY,\r\n component: React.lazy(() => import('./ReceiptHistory')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.SUBMIT_RECEIPT,\r\n component: React.lazy(() => import('./AWB')),\r\n },\r\n ],\r\n },\r\n\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.AWB_LIST,\r\n component: React.lazy(() => import('./AWB/AWB_List')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.AWB_ISSUER,\r\n component: React.lazy(() => import('./AWB')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.CARGO_COST,\r\n component: React.lazy(() => import('./CargoCostNew')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.SUBMIT_RECIEPT,\r\n component: React.lazy(() => import('./SubmitReciept')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.DASHBOARD,\r\n component: React.lazy(() => import('./Dashboards')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.APPROVED_RECIEPT,\r\n component: React.lazy(() => import('./ApprovedReciept')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.REFUND,\r\n component: React.lazy(() => import('./Refund')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.TRANSACTIONS,\r\n component: React.lazy(() => import('./Transactions')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: Routes.RETURN_MONEY,\r\n component: React.lazy(() => import('./ReturnMoney')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.REPORTS,\r\n component: React.lazy(() => import('./Report')),\r\n },\r\n ],\r\n },\r\n\r\n // {\r\n // auth: ['user'],\r\n // exact: true,\r\n // routes: [\r\n // {\r\n // path: Routes.RESERVED_AWB,\r\n // component: React.lazy(() => import('./AwbList')),\r\n // },\r\n // ],\r\n // },\r\n\r\n // {\r\n // auth: ['user'],\r\n // exact: true,\r\n // routes: [\r\n // {\r\n // path: Routes.AWB_LISTS,\r\n // component: React.lazy(() => import('./AwbList')),\r\n // },\r\n // ],\r\n // },\r\n];\r\n","import React from 'react';\r\nimport {pageRoutes} from '../..';\r\n\r\nexport const cargoRouteConfig = [\r\n {\r\n routes: [\r\n {\r\n auth: ['user'],\r\n path: pageRoutes.SUBMIT_RECEIPT,\r\n component: React.lazy(() => import('./submitReceipt')),\r\n },\r\n ],\r\n },\r\n {\r\n routes: [\r\n {\r\n auth: ['user'],\r\n path: pageRoutes.CHECK_RECEIPT,\r\n component: React.lazy(() => import('./checkReceipt')),\r\n },\r\n ],\r\n },\r\n {\r\n routes: [\r\n {\r\n auth: ['user'],\r\n path: pageRoutes.REFUND_OR_VIOD,\r\n component: React.lazy(() => import('./refundOrVoid')),\r\n },\r\n ],\r\n },\r\n {\r\n routes: [\r\n {\r\n auth: ['user'],\r\n path: pageRoutes.CONFIRM_REFUND_OR_VIOD,\r\n component: React.lazy(() => import('./confirmRefundOrVoid')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.TEMPORARY_AWB_LIST,\r\n component: React.lazy(() => import('./awbList')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.ISSUED_AWB_LIST,\r\n component: React.lazy(() => import('./awbList')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.DRAFT_AWB_LIST,\r\n component: React.lazy(() => import('./awbList')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.RESERVED_AWB_LIST,\r\n component: React.lazy(() => import('./awbList')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.CCA_AWB_LIST,\r\n component: React.lazy(() => import('./ccaList')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.RETURN_MONEY_LIST,\r\n component: React.lazy(() => import('./returnMoney')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.TRANSACTIONS_LIST,\r\n component: React.lazy(() => import('./transaction')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.CHARGE_USER,\r\n component: React.lazy(() => import('./charge')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.USER_SETTINGS,\r\n component: React.lazy(() => import('./userSettings')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.USER_CHARGE_DETAIL,\r\n component: React.lazy(() => import('./userChargeDetail')),\r\n },\r\n ],\r\n },\r\n\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.CHARGE_DETAIL,\r\n component: React.lazy(() => import('./chargeDetail')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.COMMISION,\r\n component: React.lazy(() => import('./commissionList')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.RATE_CLASS,\r\n component: React.lazy(() => import('./rateClass')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.C_R_C,\r\n component: React.lazy(() => import('./customizeRateClass')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.MANIFEST,\r\n component: React.lazy(() => import('./manifest')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.PRICING,\r\n component: React.lazy(() => import('./pricing')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.ONLINE_CHARGE_DETAIL,\r\n component: React.lazy(() => import('./onlineChargeDetail')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.PAYMENT_REDIRECT,\r\n component: React.lazy(() => import('./paymentRedirect')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n exact: true,\r\n routes: [\r\n {\r\n path: pageRoutes.PAYMENT_REPORT,\r\n component: React.lazy(() => import('./paymentReport')),\r\n },\r\n ],\r\n },\r\n];\r\n","import {pageRoutes} from 'containers';\r\nimport React from 'react';\r\n\r\nexport const errorPagesConfigs = [\r\n {\r\n auth: ['user'],\r\n routes: [\r\n {\r\n path: pageRoutes.ERROR_404,\r\n component: React.lazy(() => import('./Error404')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n routes: [\r\n {\r\n path: pageRoutes.ERROR_500,\r\n component: React.lazy(() => import('./Error500')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n routes: [\r\n {\r\n path: pageRoutes.ERROR_403,\r\n component: React.lazy(() => import('./Error403')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n routes: [\r\n {\r\n path: pageRoutes.ERROR_COMING_SOON,\r\n component: React.lazy(() => import('./ComingSoon')),\r\n },\r\n ],\r\n },\r\n {\r\n auth: ['user'],\r\n routes: [\r\n {\r\n path: pageRoutes.ERROR_MAINTENANCE,\r\n component: React.lazy(() => import('./Maintenance')),\r\n },\r\n ],\r\n },\r\n];\r\n","import React from 'react';\r\n\r\nexport const authRouteConfig = [\r\n {\r\n routes: [\r\n {\r\n path: '/signin',\r\n component: React.lazy(() => import('./Signin')),\r\n },\r\n ],\r\n },\r\n {\r\n routes: [\r\n {\r\n path: '/forget-password',\r\n component: React.lazy(() => import('./ForgetPassword')),\r\n },\r\n ],\r\n },\r\n];\r\n","import React from 'react';\r\nimport {Redirect} from 'react-router-dom';\r\n\r\nimport {createRoutes} from '../../@crema/utility/Utils';\r\nimport {cargoPagesConfig} from '../cargo/pages';\r\nimport {cargoRouteConfig} from './panel';\r\nimport {errorPagesConfigs} from './errorPages';\r\nimport {authRouteConfig} from './auth';\r\nimport {initialUrl} from '../../shared/constants/AppConst';\r\n\r\nconst routeConfigs = [\r\n ...cargoRouteConfig,\r\n ...cargoPagesConfig,\r\n ...errorPagesConfigs,\r\n ...authRouteConfig,\r\n];\r\n\r\nconst routes = [\r\n ...createRoutes(routeConfigs),\r\n {\r\n path: '/',\r\n exact: true,\r\n component: () => ,\r\n },\r\n];\r\n\r\nexport default routes;\r\n","import React, {ReactNode, useEffect, useRef} from 'react';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport {RouteComponentProps, useLocation, withRouter} from 'react-router-dom';\r\n\r\ninterface ScrollbarProps extends RouteComponentProps {\r\n children: ReactNode;\r\n className: string;\r\n location: any;\r\n scrollToTop: boolean;\r\n staticContext: any;\r\n\r\n [x: string]: any;\r\n}\r\n\r\nconst Scrollbar: React.FC = React.forwardRef((props, ref) => {\r\n const {\r\n children,\r\n scrollToTop,\r\n staticContext,\r\n className = '',\r\n ...others\r\n } = props;\r\n let _scrollBarRef = useRef(null);\r\n const {pathname} = useLocation();\r\n\r\n useEffect(() => {\r\n if (_scrollBarRef) {\r\n // @ts-ignore\r\n _scrollBarRef._container.scrollTop = 0;\r\n }\r\n }, [_scrollBarRef, pathname]);\r\n\r\n return (\r\n {\r\n // @ts-ignore\r\n _scrollBarRef = ref;\r\n }}\r\n {...others}\r\n className={className}>\r\n {children}\r\n \r\n );\r\n});\r\n\r\nexport default withRouter(Scrollbar);\r\n","export interface LanguageProps {\r\n languageId: string;\r\n locale: string;\r\n name: string;\r\n icon: string;\r\n}\r\n\r\nconst languageData: LanguageProps[] = [\r\n {\r\n languageId: 'english',\r\n locale: 'en',\r\n name: 'English',\r\n icon: 'us',\r\n },\r\n {\r\n languageId: 'Persian',\r\n locale: 'ar',\r\n name: 'Persian',\r\n icon: 'ir',\r\n },\r\n \r\n // {\r\n // languageId: 'chinese',\r\n // locale: 'zh',\r\n // name: 'Chinese',\r\n // icon: 'cn',\r\n // },\r\n // {\r\n // languageId: 'spanish',\r\n // locale: 'es',\r\n // name: 'Spanish',\r\n // icon: 'es',\r\n // },\r\n // {\r\n // languageId: 'french',\r\n // locale: 'fr',\r\n // name: 'French',\r\n // icon: 'fr',\r\n // },\r\n // {\r\n // languageId: 'italian',\r\n // locale: 'it',\r\n // name: 'Italian',\r\n // icon: 'it',\r\n // },\r\n // {\r\n // languageId: 'saudi-arabia',\r\n // locale: 'ar',\r\n // name: 'Arabic',\r\n // icon: 'sa',\r\n // },\r\n];\r\nexport default languageData;\r\n","import React, {useContext} from 'react';\r\nimport languageData, {LanguageProps} from './data';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport AppContext from '../../utility/AppContext';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport clsx from 'clsx';\r\nimport Box from '@material-ui/core/Box';\r\nimport {makeStyles} from '@material-ui/core';\r\nimport {Fonts} from '../../../shared/constants/AppEnums';\r\nimport AppContextPropsType, {\r\n CremaTheme,\r\n} from '../../../types/AppContextPropsType';\r\nimport {Write, Language as LanguageKey} from 'utils/localstorage';\r\n\r\nconst useStyles = makeStyles((theme: CremaTheme) => ({\r\n langBtn: {\r\n display: 'flex',\r\n flex: '0 0 40px',\r\n justifyContent: 'flex-start',\r\n width: '100%',\r\n // height: 56,\r\n fontSize: 16,\r\n borderRadius: 0,\r\n // paddingLeft: '0.45rem',\r\n // paddingRight: '1rem',\r\n // paddingTop: '0.25rem',\r\n // paddingBottom: '0.25rem',\r\n padding: theme.spacing(2),\r\n marginTop: '-10px',\r\n color: theme.palette.text.primary,\r\n '&:hover, &:focus': {\r\n color: theme.palette.text.primary,\r\n },\r\n '&.langIconOnly': {\r\n padding: theme.spacing(2),\r\n borderLeft: '0 none',\r\n borderRadius: '50%',\r\n },\r\n },\r\n overflowHidden: {\r\n overflow: 'hidden',\r\n },\r\n alignMiddle: {\r\n verticalAlign: 'middle',\r\n display: 'inline-block',\r\n },\r\n textUppercase: {\r\n textTransform: 'uppercase',\r\n },\r\n}));\r\n\r\ninterface LanguageSwitcherProps {\r\n iconOnly?: boolean;\r\n}\r\n\r\nconst LanguageSwitcher: React.FC = ({\r\n iconOnly = false,\r\n}) => {\r\n const {\r\n // changeLocale,\r\n rtlLocale,\r\n locale,\r\n setRTL,\r\n } = useContext(AppContext);\r\n const [\r\n anchorElLng,\r\n setAnchorElLng,\r\n ] = React.useState(null);\r\n\r\n const onClickMenu = (event: React.MouseEvent) => {\r\n setAnchorElLng(event.currentTarget);\r\n };\r\n const changeLanguage = (language: LanguageProps) => {\r\n if (rtlLocale.indexOf(language.locale) !== -1) {\r\n setRTL!(true);\r\n } else {\r\n setRTL!(false);\r\n }\r\n // changeLocale!(language);\r\n // setAnchorElLng(null);\r\n Write(LanguageKey, language);\r\n ////////\r\n window.location.reload();\r\n };\r\n\r\n const classes = useStyles();\r\n\r\n return (\r\n <>\r\n \r\n {!iconOnly ? (\r\n <>\r\n {/* */}\r\n \r\n {/* \r\n \r\n {locale.name}\r\n */}\r\n \r\n ) : (\r\n \r\n // \r\n // \r\n // \r\n )}\r\n \r\n setAnchorElLng(null)}>\r\n {languageData.map((language: LanguageProps, index) => (\r\n changeLanguage(language)}>\r\n \r\n \r\n \r\n {language.name}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default LanguageSwitcher;\r\n","// import axios from 'axios';\r\nimport instanceAxios, {\r\n jwtAxiosFormData as instanceAxiosFormData,\r\n} from '../@crema/services/auth/jwt-auth/jwt-api';\r\n\r\nexport const ROUTES = {\r\n //---------------------rate class\r\n RATE_CLASS_BY_ID: '/rateclass/getbyid',\r\n RATE_CLASS_LIST: '/rateclass/list',\r\n RATE_CLASS: '/rateclass',\r\n RATE_CLASS_CUSTOMIZE: '/rateclasscustomize',\r\n RATE_CLASS_CUSTOMIZE_LIST: '/rateclasscustomize/list',\r\n //---------------------pricing\r\n PRICING: '/pricing',\r\n PRICING_PER_UNIT: '/pricing/perunit',\r\n PRICING_RATE_CLASS: '/pricing/rateclass',\r\n //---------------------AWB\r\n AWB_CALCULATE: '/awb/calculate', //?????\r\n AWB: '/awb',\r\n INSERT_AWB: '/awb',\r\n UPDATE_AWB: '/awb/update',\r\n AWB_LIST: '/awb/list',\r\n AWB_RECIEPT_BY_ID: '/awb/select-reciept',\r\n AWB_POST_CHECK: '/awb/check-reciept',\r\n PRINT_DATA_CCA: '/awbcca/print',\r\n PAYMENT_METHODS: '/EnumPaymentMethod',\r\n PAYMENT_METHODSTYPES: '/enumPaymentMethod',\r\n ACCOUNT_TYPES: '/BankAccount',\r\n ACCOUNTING_RECEIPT: '/AccountingReceipt',\r\n ACCOUNTING_RESUBMIT: '/AccountingReceipt/resubmit',\r\n MEDIA: '/media/save-file',\r\n MEDIA_ACCESS: '/MediaAccess/AccessOrder',\r\n MEDIA_ACCESS_SHOW: '/MediaAccess/ShowFile', // get access and show in new tab\r\n MEDIA_SHOW: '/media/show-file',\r\n AWB_SELECT_BY_ID: '/awb/getbyid',\r\n PRINT_DATA: '/awb/print',\r\n AWB_PREVIEW: '/awb/preview',\r\n CCA_AWB: '/awbcca/insert',\r\n ISSUED_DRAFT_TEMP_LIST: '/awb/select-issued-temp-draft',\r\n //--------------------- pc pos\r\n PCPOS_TERMINAL_LIST: '/pcpos/list-of-terminals',\r\n PCPOS_INQUERY_PAYMENT: '/pcpos/inquery-payment', //?paymentid={id}\r\n PCPOS_INSERT_OR_UPDATE: '/awb',\r\n PCPOS_INSERT_OR_UPDATE_CCA: '/awbcca/insert',\r\n //---------------------cargoCost\r\n CURRENCY: '/pricing/perunit',\r\n CURRENCY_WITH_REQUIRED: '/currency',\r\n COST: '/enumairlinecost',\r\n CARGO_COST: '/airlinecost',\r\n\r\n //---------------------handling service cost\r\n HANDLING_CARGO_COST: '/handlingservicecost',\r\n HANDLING_CARGO_COST_LIST: '/handlingservicecost/list',\r\n HANDLING_CARGO_COST_BY_ID: '/handlingservicecost/getbyid',\r\n HANDLING_LIST: '/owner/3',\r\n //---------------------issuer awb\r\n ISSUER_AWB: '/issuerawb',\r\n //---------------------airport\r\n AIRPORT_SELECT: '/airport',\r\n AIRPORT_SELECT_BY_ID: '/airport/getbyid',\r\n AIRPORT_SAVE_CHANGE: '/airport',\r\n //---------------------routes\r\n ORIGIN_DESTINATION: '/OriginDestination',\r\n //---------------------routes\r\n ROUTE: '/route',\r\n //---------------------dashboard\r\n AWB_RATE_CLASS_STATISTICS: '/AwbRateClass',\r\n AWB_USER: '/AwbUser',\r\n AWB_REFUND_LIST: '/Awb/get-refund',\r\n AWB_REFUND: '/Awb/insert-refund',\r\n AWB_SALES_STATISTICS: '/AwbSalesStatistics',\r\n AWB_CARGO_TYPE: '/chart/cargo-type',\r\n DATE_MONTH: '/chart/date-month',\r\n DATE_YEAR: '/chart/date-year',\r\n //---------------------user\r\n USER_LIST: '/user/list',\r\n ROLE_LIST: '/role/list',\r\n OWNER_LIST: '/owner',\r\n USER_TYPE_LIST: '/enumusertype',\r\n USER_ADD_UPDATE: '/user/insert-or-update',\r\n USER_DELETE: '/user',\r\n USER_SELECT: '/user/getbyid',\r\n USER_CREDIT: '/user/credit',\r\n USER_USER_ACCESS: '/UserAccessToOtherAWBID/list',\r\n //---------------------role\r\n ROLE_ADD_UPDATE: '/role/insert-or-update',\r\n ROLE_SELECT: '/role/getbyid',\r\n ROLE_DELETE: '/Role/delete',\r\n //---------------------level\r\n LEVEL_LIST: '/level/list',\r\n LEVEL_ADD_UPDATE: '/level/insert-or-update',\r\n LEVEL_SELECT: '/level/getbyid',\r\n LEVEL_DELETE: '/Level/delete',\r\n FORM_LIST: '/form/list',\r\n //---------------------others\r\n ENUM_SERVICES: '/enumservice',\r\n LANGUAGE: '/language',\r\n CITY: '/city',\r\n WORLD: '/world',\r\n COUNTRY: '/country',\r\n SPECIAL_CARGO_TYPE: '/specialcargocode',\r\n GOOD_TYPE: '/goodtype',\r\n AIRPORT: '/airport',\r\n AUTH: '/authentication',\r\n //---------------------history\r\n RECEIPT_HISTORY_LIST: '/awb/select-reciept-history',\r\n RECEIPT_HISTORY_SELECT: '/awb/select-reciept',\r\n RECEIPT_DELETE: '/AccountingReceipt',\r\n AWB_HISTORY_LIST: '/awb/select-history',\r\n //---------------------transactions\r\n TRANSACTIONS_LIST: '/transaction/list',\r\n //---------------------return money\r\n RETURN_MONEY_LIST: '/RefundOrVoid/return-money-list',\r\n RETURN_MONEY_BY_ID: '/RefundOrVoid/return-money-get-by-id',\r\n POST_RETURN_MONEY: '/RefundOrVoid/return-money-paid',\r\n //-------------------- forget pass\r\n CHECK_USER: '/forgetpassword/check-user',\r\n SEND_SMS: '/forgetpassword/send-sms',\r\n CHECK_FORGETPASSWORD_CODE: '/forgetpassword/check-forgetpassword-code',\r\n UPDATE_PASSWORD: '/forgetpassword/update-password',\r\n //-------------------- report\r\n PAYMENT_STATUS: '/enumPaymentStatus',\r\n GET_REPORT_LIST: '/Report/general',\r\n GET_TRANSACTION_TYPE: '/EnumTransactionType/list',\r\n GET_AWB_STATUS_TYPE: '/EnumAWBStatus/list',\r\n GET_RETURN_MONEY_TYPE: '/EnumRequestType/list',\r\n //-------------------- Void\r\n VOID_OR_REFUND_FOR_CONFIRMATION: '/awb/select-to-confirm-void',\r\n VOID_OR_REFUND_CONFIRMATION_OR_REJECT:\r\n '/RefundOrVoid/request-confirm-or-reject',\r\n};\r\n\r\nconst _get = (path: string, cb: (err: string | null, data: any) => void) => {\r\n instanceAxios\r\n .get(path)\r\n .then((res) => {\r\n const data = res.data;\r\n cb(null, data);\r\n })\r\n .catch((err) => {\r\n cb(err.message, err?.response?.data);\r\n });\r\n};\r\n\r\nconst _getWithParams = (\r\n path: string,\r\n params: any,\r\n cb: (err: string | null, data: any) => void,\r\n) => {\r\n instanceAxios\r\n .get(path, {params})\r\n .then((res) => {\r\n const data = res.data;\r\n cb(null, data);\r\n })\r\n .catch((err) => {\r\n cb(err.message, null);\r\n });\r\n};\r\n\r\nconst _post = (\r\n path: string,\r\n param: any,\r\n cb: (err: string | null, data: any) => void,\r\n) => {\r\n instanceAxios\r\n .post(path, param)\r\n .then((res) => {\r\n const data = res.data;\r\n cb(null, data);\r\n })\r\n .catch((err) => {\r\n cb(err.message, err?.response?.data);\r\n });\r\n};\r\n\r\nconst _put = (\r\n path: string,\r\n param: any,\r\n cb: (err: string | null, data: any) => void,\r\n) => {\r\n instanceAxios\r\n .put(path, param)\r\n .then((res) => {\r\n const data = res.data;\r\n cb(null, data);\r\n })\r\n .catch((err) => {\r\n cb(err, err?.response?.data);\r\n });\r\n};\r\n\r\nconst _patch = (\r\n path: string,\r\n param: any,\r\n cb: (err: string | null, data: any) => void,\r\n) => {\r\n instanceAxios\r\n .patch(path, param)\r\n .then((res) => {\r\n const data = res.data;\r\n cb(null, data);\r\n })\r\n .catch((err) => {\r\n cb(err, err?.response?.data);\r\n });\r\n};\r\n\r\nconst _delete = (\r\n path: string,\r\n param: any,\r\n cb: (err: string | null, data: any) => void,\r\n) => {\r\n instanceAxios\r\n .delete(path, {data: param})\r\n .then((res) => {\r\n const data = res.data;\r\n cb(null, data);\r\n })\r\n .catch((err) => {\r\n cb(err, err?.response?.data);\r\n });\r\n};\r\n\r\nconst _upload = (\r\n path: string,\r\n param: any,\r\n cb: (err: string | null, data: any) => void,\r\n) => {\r\n instanceAxiosFormData\r\n .post(path, param)\r\n .then((res: any) => {\r\n const data = res.data;\r\n if (cb) cb(null, data);\r\n })\r\n .catch((err: any) => {\r\n if (cb) cb(err, err?.response?.data);\r\n });\r\n};\r\n\r\nconst api = {\r\n get: _get,\r\n getWithParams: _getWithParams,\r\n post: _post,\r\n put: _put,\r\n patch: _patch,\r\n delete: _delete,\r\n upload: _upload,\r\n};\r\n\r\nexport default api;\r\n","import api, {ROUTES} from '../../index';\r\nimport IapiAuthDetails from '../../../shared/Interfaces/apiAuthDetails';\r\nimport {genRoute} from '../../../utils/apiRouteGenerator';\r\n\r\nexport const getCityList = (\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(`${genRoute(ROUTES.CITY, auth)}&provinceID=null`, cb);\r\n};\r\n\r\nexport const getUserList = (\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(genRoute(ROUTES.USER_LIST, auth), cb);\r\n};\r\n\r\nexport const getRoleList = (\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(genRoute(ROUTES.ROLE_LIST, auth), cb);\r\n};\r\n\r\nexport const getLevelList = (\r\n roleID: any,\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(`${genRoute(ROUTES.LEVEL_LIST, auth)}&roleID=${roleID}`, cb);\r\n};\r\n\r\nexport const getOwnerList = (\r\n userTypeID: any,\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(`${genRoute(ROUTES.OWNER_LIST, auth)}&userTypeID=${userTypeID}`, cb);\r\n};\r\n\r\nexport const getUserTypeList = (\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(genRoute(ROUTES.USER_TYPE_LIST, auth), cb);\r\n};\r\n\r\nexport const getUserAccessToOtherAWBIDList = (\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(genRoute(ROUTES.USER_USER_ACCESS, auth), cb);\r\n};\r\n\r\nexport const userAddUpdate = (\r\n params: any,\r\n cb: (err: any, data: any) => void,\r\n) => {\r\n api.post(ROUTES.USER_ADD_UPDATE, params, (err, data) => {\r\n cb(err, data);\r\n });\r\n};\r\n\r\nexport const userDelete = (\r\n userID: any,\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.delete(`${genRoute(ROUTES.USER_DELETE, auth)}&id=${userID}`, {}, cb);\r\n};\r\n\r\nexport const getUserSelect = (\r\n userID: any,\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(`${genRoute(ROUTES.USER_SELECT, auth)}&id=${userID}`, cb);\r\n};\r\n\r\nexport const getUserCreditAmount = (\r\n auth: IapiAuthDetails,\r\n cb: (err: any, data: any[]) => void,\r\n) => {\r\n api.get(genRoute(ROUTES.USER_CREDIT, auth), cb);\r\n};\r\n","import React from 'react';\r\nimport {\r\n Loader,\r\n // MessageView\r\n} from '../../../@crema';\r\nimport {useSelector} from 'react-redux';\r\nimport {AppState} from '../../../redux/store';\r\n// import GifLoading from '@shared/gifLoading';\r\n\r\ninterface InfoViewProps {}\r\n\r\nconst InfoView: React.FC = () => {\r\n const common = useSelector(\r\n ({common}) => common,\r\n );\r\n const {\r\n // error,\r\n loading,\r\n // message\r\n } = common;\r\n\r\n // const showMessage = () => {\r\n // return ;\r\n // };\r\n\r\n // const showError = () => {\r\n // return ;\r\n // };\r\n\r\n return (\r\n <>\r\n {loading && }\r\n {/* {message && showMessage()}\r\n {error && showError()} */}\r\n \r\n );\r\n};\r\n\r\nexport default InfoView;\r\n","export const routes = {\r\n AIR_PORT: '/cargo/airport/',\r\n HANDLING_SERVICES_COST: '/cargo/handling-service-cost',\r\n ORIGIN_DESTINATION: '/cargo/OriginDestination',\r\n AWB_ISSUER_HISTORY: '/cargo/IssuedAWB/history',\r\n AJANS: '/cargo/IssuerAWB',\r\n ROUTE: '/cargo/route',\r\n CARGO_COST: '/cargo/cargocost/',\r\n AWB_NEW: '/cargo/awb_n/',\r\n AWB: '/cargo/awb',\r\n ISSUED_AWB: '/cargo/IssuedList',\r\n CCA_AWB_LIST: '/cargo/ccaList',\r\n DRAFT_AWB_LIST: '/cargo/draftList',\r\n TEMPORARY_AWB_LIST: '/cargo/temporaryList',\r\n RESERVED_AWB: '/cargo/ReserveAWB',\r\n AWB_LIST: '/cargo/awb_list',\r\n AWB_ISSUER: '/cargo/awb',\r\n SUBMIT_RECIEPT: '/cargo/awb?StatusID=4',\r\n DASHBOARD: '/cargo/dashboard',\r\n APPROVED_RECIEPT: '/cargo/ApprovedReceipt',\r\n USERS: '/cargo/users',\r\n ROLES: '/cargo/role',\r\n LEVELS: '/cargo/levels',\r\n REFUND: '/cargo/Refund',\r\n RECEIPT_HISTORY: '/cargo/SubmitReceipt/history',\r\n FORBIDDEN: '/cargo/Forbidden',\r\n CREATE_AWB: '/cargo/createAwb',\r\n EDIT_AWB: '/cargo/editAwb',\r\n EDIT_FILES_AWB: '/cargo/editFilesAwb',\r\n CCA_AWB: '/cargo/CcaAwb',\r\n EDIT_DRAFT_AWB: '/cargo/EditDraftAWB',\r\n EDIT_TEMPORARY_AWB: '/cargo/EditTemporaryAWB',\r\n TRANSACTIONS: '/cargo/Transaction',\r\n RETURN_MONEY: '/cargo/ReturnMoney',\r\n SIGN_IN: '/signin',\r\n FORGET_PASSWORD: '/forget-password',\r\n REPORTS: '/cargo/report',\r\n VOID_CONFIRMATION: '/cargo/VoidConfirmation',\r\n AWB_LISTS: '/cargo/AwbList/:formType?',\r\n};\r\n\r\nexport default routes;\r\n","import {createMuiTheme, useTheme} from '@material-ui/core/styles';\r\nimport {useMediaQuery} from '@material-ui/core';\r\nimport {CremaTheme} from '../../types/AppContextPropsType';\r\nimport {Breakpoint} from '@material-ui/core/styles/createBreakpoints';\r\nimport moment from 'moment';\r\nimport {useIntl} from 'react-intl';\r\n\r\ntype BreakpointOrNull = Breakpoint | null;\r\n\r\nexport const isBreakPointDown = (key: 'xs' | 'sm' | 'md' | 'lg' | 'xl') => {\r\n const defaultTheme = createMuiTheme();\r\n return defaultTheme.breakpoints.width(key) > window.innerWidth;\r\n};\r\n\r\nexport const useDownBreakPointChecker = (\r\n key: 'xs' | 'sm' | 'md' | 'lg' | 'xl',\r\n) => {\r\n return useMediaQuery((theme: CremaTheme) => theme.breakpoints.down(key));\r\n};\r\n\r\nexport const useBreakPointDown = (key: 'xs' | 'sm' | 'md' | 'lg' | 'xl') => {\r\n const theme = useTheme();\r\n return useMediaQuery(theme.breakpoints.down(key));\r\n};\r\n\r\nexport const useWidth = () => {\r\n const theme: CremaTheme = useTheme();\r\n const keys: Breakpoint[] = [...theme.breakpoints.keys].reverse();\r\n return (\r\n keys.reduce((output: BreakpointOrNull, key: Breakpoint) => {\r\n // eslint-disable-next-line react-hooks/rules-of-hooks\r\n const matches = useMediaQuery(theme.breakpoints.up(key));\r\n return !output && matches ? key : output;\r\n }, null) || 'xs'\r\n );\r\n};\r\n\r\nexport const createRoutes = (routeConfigs: any[]) => {\r\n let allRoutes: any[] = [];\r\n routeConfigs.forEach(config => {\r\n allRoutes = [...allRoutes, ...setRoutes(config)];\r\n });\r\n return allRoutes;\r\n};\r\n\r\nexport const setRoutes = (config: any) => {\r\n let routes = [...config.routes];\r\n if (config.auth) {\r\n routes = routes.map(route => {\r\n let auth = route.auth\r\n ? [...config.auth, ...route.auth]\r\n : [...config.auth];\r\n return {...route, auth};\r\n });\r\n }\r\n\r\n return [...routes];\r\n};\r\nexport const getBreakPointsValue = (valueSet: any, breakpoint: string) => {\r\n if (typeof valueSet === 'number') return valueSet;\r\n switch (breakpoint) {\r\n case 'xs':\r\n return valueSet.xs;\r\n case 'sm':\r\n return valueSet.sm || valueSet.xs;\r\n case 'md':\r\n return valueSet.md || valueSet.sm || valueSet.xs;\r\n case 'lg':\r\n return valueSet.lg || valueSet.md || valueSet.sm || valueSet.xs;\r\n default:\r\n return (\r\n valueSet.xl || valueSet.lg || valueSet.md || valueSet.sm || valueSet.xs\r\n );\r\n }\r\n};\r\nexport const getFileSize = (bytes: number) => {\r\n if (bytes === 0) return '0 Bytes';\r\n let k = 1024,\r\n dm = 2,\r\n sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\r\n i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n};\r\n\r\nexport const getCustomDateTime = (\r\n value = 0,\r\n unit = 'days',\r\n format = 'YYYY-MM-DD',\r\n): string => {\r\n if (value === 0) {\r\n return moment().format(format) as string;\r\n } else {\r\n // @ts-ignore\r\n return moment()\r\n .add(value, unit)\r\n .format(format) as string;\r\n }\r\n};\r\n\r\nexport const timeFromNow = (date: string) => {\r\n const timestamp = +moment(date).format('X');\r\n const newDate = moment.unix(timestamp);\r\n return moment(newDate).fromNow();\r\n};\r\n\r\n// 'intl' service singleton reference\r\nlet intl: any;\r\n\r\nexport function IntlGlobalProvider({children}: any) {\r\n intl = useIntl();\r\n // Keep the 'intl' service reference\r\n return children;\r\n}\r\n\r\nexport const appIntl = () => {\r\n return intl;\r\n};\r\nexport const checkPermission = (\r\n routeAuth: any | null | undefined,\r\n userRole: any | null | undefined,\r\n) => {\r\n if (routeAuth === null || routeAuth === undefined) {\r\n return true;\r\n }\r\n\r\n if (userRole && Array.isArray(userRole)) {\r\n return routeAuth.some((r: any) => userRole.indexOf(r) >= 0);\r\n }\r\n\r\n if (routeAuth.length === 0) {\r\n return !userRole || userRole.length === 0;\r\n }\r\n if (userRole && Array.isArray(userRole) && Array.isArray(routeAuth)) {\r\n return routeAuth.some(r => userRole.indexOf(r) >= 0);\r\n }\r\n return routeAuth.indexOf(userRole) >= 0;\r\n};\r\n","import createBreakpoints from '@material-ui/core/styles/createBreakpoints';\r\n// import { green } from \"@material-ui/core/colors\";\r\nimport {\r\n FooterType,\r\n HeaderType,\r\n LayoutType,\r\n NavStyle,\r\n RouteTransition,\r\n ThemeMode,\r\n ThemeStyle,\r\n ThemeStyleRadius,\r\n} from '../../../shared/constants/AppEnums';\r\nimport {\r\n orange as orangePalette,\r\n red as redPalette,\r\n yellow as yellowPalette,\r\n} from '@material-ui/core/colors';\r\n\r\nconst breakpoints = createBreakpoints({});\r\nconst cardRadius = ThemeStyleRadius.STANDARD;\r\nconst defaultConfig: any = {\r\n theme: {\r\n spacing: 4,\r\n direction: 'ltr', //ltr, rtl\r\n palette: {\r\n type: ThemeMode.LIGHT,\r\n background: {\r\n paper: '#FFFFFF',\r\n default: '#F4F7FE',\r\n },\r\n primary: {\r\n main: '#252159',\r\n contrastText: '#fff',\r\n },\r\n secondary: {\r\n main: '#de1367',\r\n },\r\n sidebar: {\r\n bgColor: '#ECEBF8',\r\n textColor: '#252159',\r\n },\r\n gray: {\r\n 50: '#fafafa',\r\n 100: '#f7fafc',\r\n 200: '#edf2f7',\r\n 300: '#E0E0E0',\r\n 400: '#c5c6cb',\r\n 500: '#A8A8A8',\r\n 600: '#666666',\r\n 700: '#4a5568',\r\n 800: '#201e21',\r\n 900: '#1a202c',\r\n A100: '#d5d5d5',\r\n A200: '#aaaaaa',\r\n A400: '#303030',\r\n A700: '#616161',\r\n },\r\n green: {\r\n main: '#388e3c',\r\n 50: '#e8f5e9',\r\n 100: '#c8e6c9',\r\n 200: '#a5d6a7',\r\n 300: '#81c784',\r\n 400: '#66bb6a',\r\n 500: '#4caf50',\r\n 600: '#43a047',\r\n 700: '#388e3c',\r\n 800: '#2e7d32',\r\n 900: '#1b5e20',\r\n A100: '#b9f6ca',\r\n A200: '#69f0ae',\r\n A400: '#00e676',\r\n A700: '#00c853',\r\n },\r\n red: redPalette,\r\n orange: orangePalette,\r\n yellow: yellowPalette,\r\n text: {\r\n primary: '#495057',\r\n secondary: '#74788d',\r\n disabled: '#909098',\r\n hint: '#aeafb8',\r\n white: '#fff',\r\n },\r\n },\r\n status: {\r\n danger: 'orange',\r\n },\r\n divider: 'rgba(0, 0, 0, 0.12)',\r\n typography: {\r\n // fontFamily: ['tahoma','Poppins', 'sans-serif'].join(','),\r\n fontFamily: 'Samim',\r\n },\r\n overrides: {\r\n MuiTypography: {\r\n h1: {\r\n fontSize: 22,\r\n },\r\n h2: {\r\n fontSize: 20,\r\n },\r\n h3: {\r\n fontSize: 18,\r\n },\r\n h4: {\r\n fontSize: 16,\r\n },\r\n h5: {\r\n fontSize: 14,\r\n },\r\n h6: {\r\n fontSize: 14,\r\n },\r\n subtitle1: {\r\n fontSize: 14,\r\n },\r\n subtitle2: {\r\n fontSize: 16,\r\n },\r\n body1: {\r\n fontSize: 14,\r\n },\r\n body2: {\r\n fontSize: 12,\r\n },\r\n },\r\n MuiToggleButton: {\r\n root: {\r\n borderRadius: cardRadius,\r\n },\r\n },\r\n MuiCardLg: {\r\n root: {\r\n borderRadius:\r\n cardRadius === ThemeStyleRadius.STANDARD\r\n ? ThemeStyleRadius.STANDARD\r\n : ThemeStyleRadius.MODERN + 20,\r\n },\r\n },\r\n MuiCard: {\r\n root: {\r\n borderRadius: cardRadius,\r\n boxShadow: '0px 5px 6px rgba(0, 0, 0, 0.04)',\r\n '& .MuiCardContent-root:last-child': {\r\n paddingBottom: 16,\r\n },\r\n },\r\n },\r\n MuiButton: {\r\n root: {\r\n borderRadius: cardRadius,\r\n boxShadow: '0px 5px 6px rgba(0, 0, 0, 0.04)',\r\n [breakpoints.down('sm')]: {\r\n paddingTop: '8px !important',\r\n paddingBottom: '8px !important',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n themeStyle: ThemeStyle.STANDARD,\r\n themeMode: ThemeMode.SEMI_DARK,\r\n navStyle: NavStyle.DRAWER,\r\n layoutType: LayoutType.BOXED,\r\n footerType: FooterType.FLUID,\r\n headerType: HeaderType.DARK,\r\n rtAnim: RouteTransition.NONE,\r\n footer: false,\r\n locale: {\r\n languageId: 'english',\r\n locale: 'en',\r\n name: 'English',\r\n icon: 'us',\r\n },\r\n rtlLocale: ['ar'],\r\n};\r\nexport default defaultConfig;\r\n","export default __webpack_public_path__ + \"static/media/loading.5670cac6.gif\";","export enum ThemeStyle {\r\n MODERN = 'modern',\r\n STANDARD = 'standard',\r\n}\r\n\r\nexport enum ThemeStyleRadius {\r\n MODERN = 30,\r\n STANDARD = 4,\r\n}\r\n\r\nexport enum ThemeMode {\r\n LIGHT = 'light',\r\n SEMI_DARK = 'semi-dark',\r\n DARK = 'dark',\r\n}\r\n\r\nexport enum LayoutType {\r\n FULL_WIDTH = 'full-width',\r\n BOXED = 'boxed',\r\n}\r\n\r\nexport enum NavStyle {\r\n DEFAULT = 'default',\r\n MINI = 'mini',\r\n MINI_SIDEBAR_TOGGLE = 'mini-sidebar-toggle',\r\n STANDARD = 'standard',\r\n HEADER_USER = 'user-header',\r\n HEADER_USER_MINI = 'user-mini-header',\r\n DRAWER = 'drawer',\r\n BIT_BUCKET = 'bit-bucket',\r\n H_DEFAULT = 'h-default',\r\n HOR_LIGHT_NAV = 'hor-light-nav',\r\n HOR_DARK_LAYOUT = 'hor-dark-layout',\r\n}\r\n\r\nexport enum FooterType {\r\n FIXED = 'fixed',\r\n FLUID = 'fluid',\r\n}\r\n\r\nexport enum HeaderType {\r\n DARK = 'dark',\r\n LIGHT = 'light',\r\n}\r\n\r\nexport enum RouteTransition {\r\n NONE = 'none',\r\n FADE = 'fade',\r\n SLIDE_LEFT = 'slideLeft',\r\n SLIDE_RIGHT = 'slideRight',\r\n SLIDE_UP = 'slideUp',\r\n SLIDE_DOWN = 'slideDown',\r\n}\r\n\r\nexport enum Fonts {\r\n LIGHT = 300,\r\n REGULAR = 400,\r\n MEDIUM = 500,\r\n BOLD = 600,\r\n EXTRA_BOLD = 700,\r\n}\r\n\r\nexport enum AuthType {\r\n FIREBASE = 'firebase',\r\n AWS_COGNITO = 'aws_cognito',\r\n AUTH0 = 'auth0',\r\n JWT_AUTH = 'jwt_auth',\r\n}\r\n","import {AuthUser} from '../models/AuthUser';\r\n\r\nexport const UPDATE_AUTH_USER = 'UPDATE_AUTH_USER';\r\nexport const SET_AUTH_TOKEN = 'SET_AUTH_TOKEN';\r\nexport const SIGNOUT_AUTH_SUCCESS = 'SIGNOUT_AUTH_SUCCESS';\r\nexport const UPDATE_USER_CREDIT = 'GET_USER_CREDIT';\r\n\r\nexport interface SetAuthTokenActions {\r\n type: typeof SET_AUTH_TOKEN;\r\n payload: string | null;\r\n}\r\n\r\nexport interface UpdateAuthUserActions {\r\n type: typeof UPDATE_AUTH_USER;\r\n payload: AuthUser | null;\r\n}\r\n\r\nexport interface SignoutAuthUserActions {\r\n type: typeof SIGNOUT_AUTH_SUCCESS;\r\n}\r\n\r\nexport type AuthActions =\r\n | UpdateAuthUserActions\r\n | SetAuthTokenActions\r\n | SignoutAuthUserActions;\r\n","export const ApiResultStatus = {\r\n SUCCESS: {\r\n CODE: 200,\r\n MESSAGE: '',\r\n },\r\n FAILED: {\r\n CODE: 400,\r\n MESSAGE: '',\r\n },\r\n NOT_FOUND: {\r\n CODE: 404,\r\n MESSAGE: '',\r\n },\r\n UNAUTHORIZED: {\r\n CODE: 401,\r\n MESSAGE: '',\r\n },\r\n FORBIDDEN: {\r\n CODE: 403,\r\n MESSAGE: '',\r\n },\r\n CONFLICT: {\r\n CODE: 409,\r\n MESSAGE: '',\r\n },\r\n INTERNAL_SERVER: {\r\n CODE: 500,\r\n MESSAGE: '',\r\n },\r\n};\r\n\r\nexport default ApiResultStatus;\r\n","import axios from 'axios';\r\nimport {Write, Remove, Token as TokenKey} from '../../../../utils/localstorage';\r\nimport {ApiResultStatus} from './apiStatus';\r\nimport {store as Store} from '../../../../App';\r\nimport {SIGNOUT_AUTH_SUCCESS} from 'types/actions/Auth.actions';\r\nimport {fetchError, showMessage} from 'redux/actions';\r\nimport {BaseUrl} from 'shared/constants/AppConst';\r\nimport {pageRoutes} from 'containers';\r\n// import { fetchError } from 'redux/actions';\r\n\r\n// @ts-ignore\r\nconst jwtAxios = axios.create({\r\n baseURL: BaseUrl,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n});\r\n\r\nconst jwtAxiosFormData = axios.create({\r\n baseURL: BaseUrl,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n },\r\n});\r\n\r\njwtAxios.interceptors.response.use(\r\n (res) => {\r\n let message = res?.data?.Message?.toString()?.replace(/\\$/g, '');\r\n if (res?.data?.Message) {\r\n Store.dispatch(showMessage(message));\r\n }\r\n return res;\r\n },\r\n (err) => {\r\n let message = err?.response?.data?.Message?.toString()?.replace(/\\$/g, ' ');\r\n if (\r\n err.response &&\r\n err.response.status === ApiResultStatus.UNAUTHORIZED.CODE\r\n ) {\r\n Store.dispatch({type: SIGNOUT_AUTH_SUCCESS});\r\n } // TOKEN EXPIRED\r\n else if (\r\n err.response &&\r\n err.response.status === ApiResultStatus.FAILED.CODE\r\n ) {\r\n Store.dispatch(fetchError(message));\r\n } // FAILED\r\n else if (\r\n err.response &&\r\n err.response.status === ApiResultStatus.CONFLICT.CODE\r\n ) {\r\n Store.dispatch(fetchError(message));\r\n } // CONFLICT IN DATA\r\n else if (\r\n err.response &&\r\n err.response.status === ApiResultStatus.FORBIDDEN.CODE\r\n ) {\r\n window.location.href = pageRoutes.ERROR_403;\r\n } // FORBIDDEN\r\n else if (\r\n err.response &&\r\n err.response.status > ApiResultStatus.INTERNAL_SERVER.CODE\r\n ) {\r\n Store.dispatch(fetchError(message));\r\n } // INTERNAL SERVER ERROR\r\n return Promise.reject(err);\r\n },\r\n);\r\n\r\nexport const setAuthToken = (token: string | null) => {\r\n if (token) {\r\n jwtAxios.defaults.headers.common['Authorization'] = `Bearer ${token}`;\r\n jwtAxiosFormData.defaults.headers.common[\r\n 'Authorization'\r\n ] = `Bearer ${token}`;\r\n Write(TokenKey, token);\r\n } else {\r\n delete jwtAxios.defaults.headers.common['Authorization'];\r\n delete jwtAxiosFormData.defaults.headers.common['Authorization'];\r\n Remove(TokenKey);\r\n }\r\n};\r\n\r\nexport {jwtAxiosFormData};\r\nexport default jwtAxios;\r\n","// action strings\r\nexport const FETCH_START = 'FETCH_START';\r\nexport const FETCH_SUCCESS = 'FETCH_SUCCESS';\r\nexport const FETCH_ERROR = 'FETCH_ERROR';\r\nexport const SHOW_MESSAGE = 'SHOW_MESSAGE';\r\nexport const TOGGLE_APP_DRAWER = 'TOGGLE_APP_DRAWER';\r\nexport const HIDE_MESSAGE = 'HIDE_MESSAGE';\r\n\r\nexport interface FetchStartAction {\r\n type: typeof FETCH_START;\r\n}\r\n\r\nexport interface FetchSuccessAction {\r\n type: typeof FETCH_SUCCESS;\r\n message?: string;\r\n}\r\n\r\nexport interface FetchErrorAction {\r\n type: typeof FETCH_ERROR;\r\n error: string;\r\n}\r\n\r\nexport interface ShowMessageAction {\r\n type: typeof SHOW_MESSAGE;\r\n message: string;\r\n}\r\n\r\nexport interface ToggleDrawerAction {\r\n type: typeof TOGGLE_APP_DRAWER;\r\n}\r\n\r\nexport interface HideMessageAction {\r\n type: typeof HIDE_MESSAGE;\r\n}\r\n\r\nexport type CommonActionTypes =\r\n | FetchStartAction\r\n | FetchSuccessAction\r\n | FetchErrorAction\r\n | ShowMessageAction\r\n | ToggleDrawerAction\r\n | HideMessageAction;\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 'react-app-polyfill/ie11';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport 'react-perfect-scrollbar/dist/css/styles.css';\r\nimport 'slick-carousel/slick/slick.css';\r\nimport 'slick-carousel/slick/slick-theme.css';\r\n\r\nimport '@progress/kendo-theme-material/dist/all.css';\r\n// import \"@progress/kendo-theme-bootstrap/dist/all.scss\";\r\n\r\nimport './shared/styles/index.css';\r\nimport './assets/fonts/font.scss';\r\nimport './assets/styles/cargo/indexPage/style.scss';\r\nimport App from './App';\r\nimport '@crema/services';\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}