{"version":3,"sources":["components/shared-components/Loading/index.js","components/shared-components/Flex/index.js","components/shared-components/ColorPicker/index.js","constants/ThemeConstant.js","redux/constants/Auth.js","redux/reducers/Auth.js","redux/constants/Theme.js","redux/reducers/Theme.js","redux/reducers/index.js","configs/FirebaseConfig.js","auth/FirebaseAuth.js","services/FirebaseService.js","redux/sagas/Auth.js","redux/sagas/index.js","redux/store/index.js","components/util-components/IntlMessage/index.js","configs/NavigationConfig.js","redux/actions/Theme.js","components/layout-components/MenuContent.js","components/layout-components/SideNav.js","components/layout-components/TopNav.js","components/layout-components/Logo.js","components/layout-components/MobileNav.js","components/layout-components/NavNotification.js","components/layout-components/NavProfile.js","components/layout-components/NavLanguage.js","components/layout-components/ThemeConfigurator.js","components/layout-components/NavPanel.js","components/layout-components/NavSearch/SearchInput.js","components/layout-components/NavSearch/index.js","components/layout-components/HeaderNav.js","components/layout-components/AppBreadcrumb.js","components/layout-components/PageHeader.js","components/layout-components/Footer.js","views/app-views/index.js","layouts/app-layout/index.js","views/auth-views/index.js","layouts/auth-layout/index.js","lang/entries/en_US.js","lang/entries/zh_CN.js","lang/entries/fr_FR.js","lang/index.js","lang/entries/ja_JP.js","hooks/useBodyClass.js","views/index.js","App.js","serviceWorker.js","index.js","redux/actions/Auth.js","utils/index.js","configs/AppConfig.js","configs/EnvironmentConfig.js","components/util-components/Icon/index.js"],"names":["Icon","style","fontSize","spin","Loading","props","align","cover","className","indicator","defaultProps","Flex","children","alignItems","justifyContent","mobileFlex","flexDirection","ColorPicker","colorChange","color","useState","visible","setVisible","pickerColor","setPickerColor","boxColor","setBoxColor","useEffect","onPickerDropdown","backgroundColor","onClick","onChange","value","rgb","rgba","r","g","b","a","ROW_GUTTER","SIDE_NAV_WIDTH","SIDE_NAV_COLLAPSED_WIDTH","SIDE_NAV_LIGHT","SIDE_NAV_DARK","NAV_TYPE_SIDE","NAV_TYPE_TOP","DIR_LTR","DIR_RTL","SIGNIN","AUTHENTICATED","SIGNOUT","SIGNOUT_SUCCESS","SIGNUP","SIGNUP_SUCCESS","SHOW_AUTH_MESSAGE","HIDE_AUTH_MESSAGE","SHOW_LOADING","AUTH_TOKEN","SIGNIN_WITH_GOOGLE","SIGNIN_WITH_GOOGLE_AUTHENTICATED","SIGNIN_WITH_FACEBOOK","SIGNIN_WITH_FACEBOOK_AUTHENTICATED","initState","loading","message","showMessage","redirect","token","localStorage","getItem","auth","state","action","type","TOGGLE_COLLAPSED_NAV","CHANGE_LOCALE","SIDE_NAV_STYLE_CHANGE","NAV_TYPE_CHANGE","TOP_NAV_COLOR_CHANGE","HEADER_NAV_COLOR_CHANGE","TOGGLE_MOBILE_NAV","SWITCH_THEME","DIRECTION_CHANGE","initTheme","THEME_CONFIG","theme","navCollapsed","sideNavTheme","locale","navType","topNavColor","headerNavColor","mobileNav","currentTheme","direction","reducers","combineReducers","Theme","Auth","FirebaseConfig","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","firebase","initializeApp","firebaseConfig","firestore","googleAuthProvider","currentUser","GoogleAuthProvider","facebookAuthProvider","FacebookAuthProvider","FirebaseService","TwitterAuthProvider","GithubAuthProvider","signInEmailRequest","email","password","signInWithEmailAndPassword","then","user","catch","err","signOutRequest","signOut","signInGoogleRequest","signInWithPopup","signInFacebookRequest","signUpEmailRequest","createUserWithEmailAndPassword","signInWithFBEmail","signUpWithFBEmail","signInWithFBGoogle","signInWithFacebook","rootSaga","takeEvery","payload","call","put","showAuthMessage","setItem","uid","authenticated","undefined","signOutUser","removeItem","signOutSuccess","signUpSuccess","signInWithGoogleAuthenticated","signInWithFacebookAuthenticated","all","fork","getState","sagaMiddleware","createSagaMiddleware","middlewares","store","preloadedState","composeEnhancers","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","run","configureStore","injectIntl","withRef","extraNavTree","key","path","APP_PREFIX_PATH","title","icon","PlusCircleOutlined","breadcrumb","submenu","FileTextOutlined","AUTH_PREFIX_PATH","SafetyOutlined","StopOutlined","dashBoardNavTree","DashboardOutlined","DotChartOutlined","FundOutlined","appsNavTree","AppstoreOutlined","MailOutlined","MessageOutlined","CalendarOutlined","BulbOutlined","ShoppingCartOutlined","componentsNavTree","AntDesignOutlined","InfoCircleOutlined","LayoutOutlined","CompassOutlined","FileDoneOutlined","DesktopOutlined","CommentOutlined","RobotOutlined","PieChartOutlined","EnvironmentOutlined","docsNavTree","BookOutlined","FileUnknownOutlined","ProfileOutlined","navigationConfig","toggleCollapsedNav","onMobileNavToggle","SubMenu","Menu","useBreakpoint","Grid","setLocale","isLocaleOn","localeKey","id","toString","setDefaultOpen","keyList","keyString","arr","split","index","length","elm","push","SideNavContent","routeInfo","hideGroupTitle","localization","isMobile","utils","getBreakPoint","includes","closeMobileNav","mode","height","borderRight","defaultSelectedKeys","defaultOpenKeys","map","menu","ItemGroup","subMenuFirst","subMenuSecond","Item","to","TopNavContent","popupClassName","connect","Sider","Layout","width","collapsed","autoHide","getColorContrast","getLogoWidthGutter","isNavTop","mobileLogo","getLogo","logoType","getLogoDisplay","src","alt","APP_NAME","onClose","placement","closable","bodyStyle","padding","ArrowLeftOutlined","getIcon","WarningOutlined","CheckCircleOutlined","NavNotification","list","notificationData","data","setData","notificationList","size","itemLayout","dataSource","renderItem","item","img","name","desc","time","href","overlay","onVisibleChange","flag","trigger","count","BellOutlined","menuItem","EditOutlined","SettingOutlined","ShopOutlined","QuestionCircleOutlined","profileImg","profileMenu","el","i","e","LogoutOutlined","legth","SelectedLanguage","language","lang","filter","langId","getLanguageDetail","langName","maxWidth","DownOutlined","onLocaleChange","configDisplay","languageOption","CheckOutlined","preventDefault","GlobalOutlined","colorOptions","ListOption","selector","disabled","vertical","mapDispatchToProps","onNavTypeChange","onNavStyleChange","onTopNavColorChange","onHeaderNavColorChange","onSwitchTheme","onDirectionChange","configState","isCollapse","useThemeSwitcher","switcher","themes","hex","rgbaToHex","Group","target","Button","checked","isChecked","changedTheme","text","JSON","stringify","onCopy","success","CopyOutlined","block","NavPanel","showDrawer","setState","this","Component","optionList","getOptionList","navigationTree","optionTree","navItem","getCategoryIcon","category","SearchInput","active","close","setValue","options","setOptions","inputRef","useRef","current","focus","ref","dropdownClassName","onSelect","onSearch","searchText","label","filterOption","inputValue","option","toUpperCase","indexOf","placeholder","prefix","SearchOutlined","CloseOutlined","Header","searchActive","setSearchActive","onSearchClose","navMode","MenuUnfoldOutlined","MenuFoldOutlined","cursor","breadcrumbData","forEach","assignBreadcrumb","obj","BreadcrumbRoute","withRouter","pathSnippets","location","pathname","buildBreadcrumb","_","url","slice","join","AppBreadcrumb","PageHeader","display","Footer","Date","getFullYear","AppViews","fallback","component","lazy","from","React","memo","Content","AppLayout","currentRouteInfo","getRouteInfo","isNavSide","getLayoutGutter","status","paddingLeft","paddingRight","AuthLayout","AuthViews","EnLang","antd","antdEnUS","messages","enMsg","ZhLang","antdZhCn","zhMsg","FrLang","antdFrFR","frMsg","AppLocale","en","enLang","zh","zhLang","fr","frLang","ja","antdJaJP","jaMsg","addBodyClass","document","body","classList","add","removeBodyClass","remove","RouteInterceptor","isAuthenticated","rest","render","currentAppLocale","Array","exact","dark","process","light","App","themeMap","defaultTheme","insertionPoint","Views","Boolean","hostname","match","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister","signIn","signUp","signInWithGoogle","hideAuthMessage","showLoading","Utils","initials","shift","pop","navTree","route","p","hasOwnProperty","cutHex","h","charAt","substring","parseInt","hexToG","hexToB","percent","R","G","B","RR","GG","BB","trim","str","replace","inParts","parseFloat","toFixed","outParts","Math","round","part","number","positive","negative","toLowerCase","input","screens","breakpoints","API_BASE_URL","API_ENDPOINT_URL","createElement"],"mappings":"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","file":"static/js/main.d6d51b33.chunk.js","sourcesContent":["import React from 'react';\r\nimport { Spin } from 'antd';\r\nimport PropTypes from 'prop-types'\r\nimport { LoadingOutlined } from '@ant-design/icons';\r\n\r\nconst Icon = \r\n\r\nconst Loading = (props) => {\r\n\tconst { align, cover } = props\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nLoading.propTypes = {\r\n\tsize: PropTypes.string,\r\n\tcover: PropTypes.string\r\n}\r\n\r\nLoading.defaultProps = {\r\n\talign: 'center',\r\n\tcover: 'inline'\r\n};\r\n\r\nexport default Loading","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Flex = props => {\r\n\tconst { children, className, alignItems, justifyContent, mobileFlex, flexDirection } = props\r\n\tconst getFlexResponsive = () => mobileFlex ? 'd-flex' : 'd-md-flex'\r\n\treturn (\r\n\t\t
\r\n\t\t\t{children}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nFlex.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\talignItems: PropTypes.string,\r\n\tflexDirection: PropTypes.string,\r\n\tjustifyContent: PropTypes.string,\r\n\tmobileFlex: PropTypes.bool\r\n}\r\n\r\nFlex.defaultProps = {\r\n\tmobileFlex: true,\r\n\tflexDirection: 'row',\r\n\tclassName: ''\r\n};\r\n\r\n\r\nexport default Flex\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { SketchPicker } from 'react-color';\r\n\r\nconst ColorPicker = props => {\r\n\r\n\tconst { colorChange, color='' } = props\r\n\r\n\tconst [visible, setVisible] = useState(false);\r\n\tconst [pickerColor, setPickerColor] = useState(color)\r\n\tconst [boxColor, setBoxColor] = useState(color)\r\n\r\n\tuseEffect(() => {\r\n\t\tsetBoxColor(color);\r\n\t\tsetPickerColor(color)\r\n\t}, [color]);\r\n\r\n\tconst onPickerDropdown = () => {\r\n\t\tsetVisible(!visible)\r\n\t}\r\n\r\n\tconst onColorChange = (value) => {\r\n\t\tconst {rgb} = value\r\n\t\tconst rgba = `rgb(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`\r\n\t\tsetBoxColor(rgba)\r\n\t\tsetPickerColor(rgb)\r\n\t\tcolorChange(value)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{\r\n\t\t\t\tvisible && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nColorPicker.propTypes = {\r\n\tcolor: PropTypes.string,\r\n\tcolorChange: PropTypes.func\r\n}\r\n\r\n\r\nexport default ColorPicker;\r\n","export const ROW_GUTTER = 16;\r\nexport const SIDE_NAV_WIDTH = 250;\r\nexport const SIDE_NAV_COLLAPSED_WIDTH = 80;\r\nexport const SIDE_NAV_LIGHT = 'SIDE_NAV_LIGHT';\r\nexport const SIDE_NAV_DARK = 'SIDE_NAV_DARK';\r\nexport const NAV_TYPE_SIDE = 'SIDE'\r\nexport const NAV_TYPE_TOP = 'TOP'\r\nexport const DIR_LTR = 'ltr'\r\nexport const DIR_RTL = 'rtl'\r\n","export const SIGNIN = 'SIGNIN'; \r\nexport const AUTHENTICATED = 'AUTHENTICATED';\r\nexport const SIGNOUT = 'SIGNOUT';\r\nexport const SIGNOUT_SUCCESS = 'SIGNOUT_SUCCESS'\r\nexport const SIGNUP = 'SIGNUP';\r\nexport const SIGNUP_SUCCESS = 'SIGNUP_SUCCESS'\r\nexport const SHOW_AUTH_MESSAGE = 'SHOW_AUTH_MESSAGE'\r\nexport const HIDE_AUTH_MESSAGE = 'HIDE_AUTH_MESSAGE'\r\nexport const SHOW_LOADING = 'SHOW_LOADING'\r\nexport const AUTH_TOKEN = 'auth_token'\r\nexport const SIGNIN_WITH_GOOGLE = 'SIGNIN_WITH_GOOGLE'\r\nexport const SIGNIN_WITH_GOOGLE_AUTHENTICATED = 'SIGNIN_WITH_GOOGLE_AUTHENTICATED'\r\nexport const SIGNIN_WITH_FACEBOOK = 'SIGNIN_WITH_FACEBOOK'\r\nexport const SIGNIN_WITH_FACEBOOK_AUTHENTICATED = 'SIGNIN_WITH_FACEBOOK_AUTHENTICATED'","import {\r\n\tAUTH_TOKEN,\r\n\tAUTHENTICATED,\r\n\tSHOW_AUTH_MESSAGE,\r\n\tHIDE_AUTH_MESSAGE,\r\n\tSIGNOUT_SUCCESS,\r\n\tSIGNUP_SUCCESS,\r\n\tSHOW_LOADING,\r\n\tSIGNIN_WITH_GOOGLE_AUTHENTICATED,\r\n SIGNIN_WITH_FACEBOOK_AUTHENTICATED\r\n} from '../constants/Auth';\r\n\r\nconst initState = {\r\n loading: false,\r\n message: '',\r\n showMessage: false,\r\n redirect: '',\r\n token: localStorage.getItem(AUTH_TOKEN),\r\n}\r\n\r\nconst auth = (state = initState, action) => {\r\n\tswitch (action.type) {\r\n\t\tcase AUTHENTICATED:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t\tredirect: '/',\r\n\t\t\t\ttoken: action.token\r\n\t\t\t}\r\n\t\tcase SHOW_AUTH_MESSAGE: \r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmessage: action.message,\r\n\t\t\t\tshowMessage: true,\r\n\t\t\t\tloading: false\r\n\t\t\t}\r\n\t\tcase HIDE_AUTH_MESSAGE: \r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmessage: '',\r\n\t\t\t\tshowMessage: false,\r\n\t\t\t}\r\n\t\tcase SIGNOUT_SUCCESS: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoken: null,\r\n\t\t\t\tredirect: '/',\r\n\t\t\t\tloading: false\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase SIGNUP_SUCCESS: {\r\n\t\t\treturn {\r\n\t\t\t ...state,\r\n\t\t\t loading: false,\r\n\t\t\t token: action.token\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase SHOW_LOADING: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase SIGNIN_WITH_GOOGLE_AUTHENTICATED: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t\ttoken: action.token\r\n\t\t\t}\r\n\t\t}\r\n\t\tcase SIGNIN_WITH_FACEBOOK_AUTHENTICATED: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: false,\r\n\t\t\t\ttoken: action.token\r\n\t\t\t}\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport default auth","export const TOGGLE_COLLAPSED_NAV = 'TOGGLE_COLLAPSED_NAV';\r\nexport const CHANGE_LOCALE = 'CHANGE_LOCALE';\r\nexport const SIDE_NAV_STYLE_CHANGE = 'SIDE_NAV_STYLE_CHANGE';\r\nexport const NAV_TYPE_CHANGE = 'NAV_TYPE_CHANGE';\r\nexport const TOP_NAV_COLOR_CHANGE = 'TOP_NAV_COLOR_CHANGE';\r\nexport const HEADER_NAV_COLOR_CHANGE = 'HEADER_NAV_COLOR_CHANGE';\r\nexport const TOGGLE_MOBILE_NAV = 'TOGGLE_MOBILE_NAV';\r\nexport const SWITCH_THEME = 'SWITCH_THEME';\r\nexport const DIRECTION_CHANGE = 'DIRECTION_CHANGE';","import {\r\n TOGGLE_COLLAPSED_NAV,\r\n CHANGE_LOCALE,\r\n SIDE_NAV_STYLE_CHANGE,\r\n NAV_TYPE_CHANGE,\r\n TOP_NAV_COLOR_CHANGE,\r\n HEADER_NAV_COLOR_CHANGE,\r\n TOGGLE_MOBILE_NAV,\r\n SWITCH_THEME,\r\n DIRECTION_CHANGE\r\n} from '../constants/Theme';\r\nimport { THEME_CONFIG } from 'configs/AppConfig'\r\n\r\nconst initTheme = {\r\n ...THEME_CONFIG\r\n};\r\n\r\nconst theme = (state = initTheme, action) => {\r\n switch (action.type) {\r\n case TOGGLE_COLLAPSED_NAV:\r\n return {\r\n ...state,\r\n navCollapsed: action.navCollapsed\r\n };\r\n case SIDE_NAV_STYLE_CHANGE:\r\n return {\r\n ...state,\r\n sideNavTheme: action.sideNavTheme\r\n };\r\n case CHANGE_LOCALE:\r\n return {\r\n ...state,\r\n locale: action.locale\r\n };\r\n case NAV_TYPE_CHANGE:\r\n return {\r\n ...state,\r\n navType: action.navType\r\n };\r\n case TOP_NAV_COLOR_CHANGE:\r\n return {\r\n ...state,\r\n topNavColor: action.topNavColor\r\n };\r\n case HEADER_NAV_COLOR_CHANGE:\r\n return {\r\n ...state,\r\n headerNavColor: action.headerNavColor\r\n };\r\n case TOGGLE_MOBILE_NAV:\r\n return {\r\n ...state,\r\n mobileNav: action.mobileNav\r\n };\r\n case SWITCH_THEME:\r\n return {\r\n ...state,\r\n currentTheme: action.currentTheme\r\n }\r\n case DIRECTION_CHANGE:\r\n return {\r\n ...state,\r\n direction: action.direction\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default theme","import { combineReducers } from 'redux';\r\nimport Auth from './Auth';\r\nimport Theme from './Theme';\r\n\r\nconst reducers = combineReducers({\r\n theme: Theme,\r\n auth: Auth\r\n});\r\n\r\nexport default reducers;","const FirebaseConfig = {\r\n apiKey: 'AIzaSyAOWoRQGoegkmwnCca7B2GG5GUG_ZP1lcM',\r\n authDomain: 'emilus.firebaseapp.com',\r\n databaseURL: 'https://emilus.firebaseio.com',\r\n projectId: 'emilus',\r\n storageBucket: 'emilus.appspot.com',\r\n messagingSenderId: '807555350717',\r\n appId: '1:807555350717:web:145ba7c21af47203a2f7d4',\r\n measurementId: 'G-8KE7HJB252'\r\n};\r\n\r\nexport default FirebaseConfig\r\n\r\n","import firebase from 'firebase/app';\r\nimport 'firebase/auth';\r\nimport 'firebase/firestore';\r\nimport firebaseConfig from 'configs/FirebaseConfig';\r\n\r\nfirebase.initializeApp(firebaseConfig);\r\n\r\n// firebase utils\r\nconst db = firebase.firestore()\r\nconst auth = firebase.auth();\r\nconst currentUser = auth.currentUser\r\nconst googleAuthProvider = new firebase.auth.GoogleAuthProvider();\r\nconst facebookAuthProvider = new firebase.auth.FacebookAuthProvider();\r\nconst twitterAuthProvider = new firebase.auth.TwitterAuthProvider();\r\nconst githubAuthProvider = new firebase.auth.GithubAuthProvider();\r\n\r\nexport {\r\n\tdb,\r\n\tauth,\r\n\tcurrentUser,\r\n\tgoogleAuthProvider,\r\n\tfacebookAuthProvider,\r\n\ttwitterAuthProvider,\r\n\tgithubAuthProvider\r\n};","import { auth, googleAuthProvider, facebookAuthProvider } from 'auth/FirebaseAuth';\r\n\r\nconst FirebaseService = {}\r\n\r\nFirebaseService.signInEmailRequest = async (email, password) =>\r\n\tawait auth.signInWithEmailAndPassword(email, password).then(user => user).catch(err => err);\r\n\r\nFirebaseService.signInEmailRequest = async (email, password) =>\r\n await auth.signInWithEmailAndPassword(email, password).then(user => user).catch(err => err);\r\n\t\t\r\nFirebaseService.signOutRequest = async () =>\r\n\tawait auth.signOut().then(user => user).catch(err => err);\r\n\r\nFirebaseService.signInGoogleRequest = async () =>\r\n await auth.signInWithPopup(googleAuthProvider).then(user => user).catch(err => err);\r\n\r\nFirebaseService.signInFacebookRequest = async () =>\r\n await auth.signInWithPopup(facebookAuthProvider).then(user => user).catch(err => err);\r\n\r\nFirebaseService.signUpEmailRequest = async (email, password) =>\r\n\tawait auth.createUserWithEmailAndPassword(email, password).then(user => user).catch(err => err);\t\r\n\t\r\nexport default FirebaseService","import { all, takeEvery, put, fork, call } from 'redux-saga/effects';\r\nimport {\r\n\tAUTH_TOKEN,\r\n\tSIGNIN,\r\n\tSIGNOUT,\r\n\tSIGNUP,\r\n\tSIGNIN_WITH_GOOGLE,\r\n\tSIGNIN_WITH_FACEBOOK\r\n} from '../constants/Auth';\r\nimport {\r\n\tshowAuthMessage,\r\n\tauthenticated,\r\n\tsignOutSuccess,\r\n\tsignUpSuccess,\r\n\tsignInWithGoogleAuthenticated,\r\n\tsignInWithFacebookAuthenticated\r\n} from \"../actions/Auth\";\r\n\r\nimport FirebaseService from 'services/FirebaseService'\r\n\r\nexport function* signInWithFBEmail() {\r\n yield takeEvery(SIGNIN, function* ({payload}) {\r\n\t\tconst {email, password} = payload;\r\n\t\ttry {\r\n\t\t\tconst user = yield call(FirebaseService.signInEmailRequest, email, password);\r\n\t\t\tif (user.message) {\r\n\t\t\t\tyield put(showAuthMessage(user.message));\r\n\t\t\t} else {\r\n\t\t\t\tlocalStorage.setItem(AUTH_TOKEN, user.user.uid);\r\n\t\t\t\tyield put(authenticated(user.user.uid));\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tyield put(showAuthMessage(err));\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport function* signOut() {\r\n yield takeEvery(SIGNOUT, function* () {\r\n\t\ttry {\r\n\t\t\tconst signOutUser = yield call(FirebaseService.signOutRequest);\r\n\t\t\tif (signOutUser === undefined) {\r\n\t\t\t\tlocalStorage.removeItem(AUTH_TOKEN);\r\n\t\t\t\tyield put(signOutSuccess(signOutUser));\r\n\t\t\t} else {\r\n\t\t\t\tyield put(showAuthMessage(signOutUser.message));\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tyield put(showAuthMessage(err));\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport function* signUpWithFBEmail() {\r\n yield takeEvery(SIGNUP, function* ({payload}) {\r\n\t\tconst {email, password} = payload;\r\n\t\ttry {\r\n\t\t\tconst user = yield call(FirebaseService.signUpEmailRequest, email, password);\r\n\t\t\tif (user.message) {\r\n\t\t\t\tyield put(showAuthMessage(user.message));\r\n\t\t\t} else {\r\n\t\t\t\tlocalStorage.setItem(AUTH_TOKEN, user.user.uid);\r\n\t\t\t\tyield put(signUpSuccess(user.user.uid));\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tyield put(showAuthMessage(error));\r\n\t\t}\r\n\t}\r\n\t);\r\n}\r\n\r\nexport function* signInWithFBGoogle() {\r\n yield takeEvery(SIGNIN_WITH_GOOGLE, function* () {\r\n\t\ttry {\r\n\t\t\tconst user = yield call(FirebaseService.signInGoogleRequest);\r\n\t\t\tif (user.message) {\r\n\t\t\t\tyield put(showAuthMessage(user.message));\r\n\t\t\t} else {\r\n\t\t\t\tlocalStorage.setItem(AUTH_TOKEN, user.user.uid);\r\n\t\t\t\tyield put(signInWithGoogleAuthenticated(user.user.uid));\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tyield put(showAuthMessage(error));\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport function* signInWithFacebook() {\r\n yield takeEvery(SIGNIN_WITH_FACEBOOK, function* () {\r\n\t\ttry {\r\n\t\t\tconst user = yield call(FirebaseService.signInFacebookRequest);\r\n\t\t\tif (user.message) {\r\n\t\t\t\tyield put(showAuthMessage(user.message));\r\n\t\t\t} else {\r\n\t\t\t\tlocalStorage.setItem(AUTH_TOKEN, user.user.uid);\r\n\t\t\t\tyield put(signInWithFacebookAuthenticated(user.user.uid));\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tyield put(showAuthMessage(error));\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n\t\tfork(signInWithFBEmail),\r\n\t\tfork(signOut),\r\n\t\tfork(signUpWithFBEmail),\r\n\t\tfork(signInWithFBGoogle),\r\n\t\tfork(signInWithFacebook)\r\n ]);\r\n}\r\n","import { all } from 'redux-saga/effects';\r\nimport Auth from './Auth';\r\n\r\nexport default function* rootSaga(getState) {\r\n yield all([\r\n Auth(),\r\n ]);\r\n}\r\n","import { createStore, applyMiddleware, compose } from \"redux\";\r\nimport reducers from \"../reducers\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\nimport rootSaga from \"../sagas/index\";\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\n\r\nconst middlewares = [sagaMiddleware];\r\n\r\nfunction configureStore(preloadedState) {\r\n \r\n const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n const store = createStore(reducers, preloadedState, composeEnhancers(\r\n applyMiddleware(...middlewares)\r\n ));\r\n\r\n sagaMiddleware.run(rootSaga);\r\n\r\n if (module.hot) {\r\n module.hot.accept(\"../reducers/index\", () => {\r\n const nextRootReducer = require(\"../reducers/index\");\r\n store.replaceReducer(nextRootReducer);\r\n });\r\n }\r\n\r\n return store;\r\n}\r\n\r\nconst store = configureStore();\r\n\r\nexport default store;\r\n\r\n","import React from \"react\";\r\nimport {FormattedMessage, injectIntl} from \"react-intl\";\r\n\r\nconst IntlMessage = props => ;\r\nexport default injectIntl(IntlMessage, {\r\n withRef: false\r\n});\r\n","import { \r\n DashboardOutlined, \r\n AppstoreOutlined,\r\n FileTextOutlined,\r\n PieChartOutlined,\r\n EnvironmentOutlined,\r\n AntDesignOutlined,\r\n SafetyOutlined,\r\n StopOutlined,\r\n DotChartOutlined,\r\n MailOutlined,\r\n MessageOutlined,\r\n CalendarOutlined,\r\n BulbOutlined,\r\n InfoCircleOutlined,\r\n CompassOutlined,\r\n LayoutOutlined,\r\n DesktopOutlined,\r\n FileDoneOutlined,\r\n CommentOutlined,\r\n RobotOutlined,\r\n PlusCircleOutlined,\r\n FundOutlined,\r\n ShoppingCartOutlined,\r\n BookOutlined,\r\n FileUnknownOutlined,\r\n ProfileOutlined\r\n} from '@ant-design/icons';\r\nimport { APP_PREFIX_PATH, AUTH_PREFIX_PATH } from 'configs/AppConfig'\r\n\r\nconst extraNavTree = [\r\n {\r\n key: 'extra',\r\n path: `${APP_PREFIX_PATH}/pages`,\r\n title: 'sidenav.pages',\r\n icon: PlusCircleOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'extra-pages',\r\n path: `${APP_PREFIX_PATH}/pages`,\r\n title: 'sidenav.pages',\r\n icon: FileTextOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'extra-pages-profile',\r\n path: `${APP_PREFIX_PATH}/pages/profile`,\r\n title: 'sidenav.pages.profile',\r\n icon: '',\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-pages-list',\r\n path: `${APP_PREFIX_PATH}/pages/user-list`,\r\n title: 'sidenav.pages.userlist',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-pages-invoice',\r\n path: `${APP_PREFIX_PATH}/pages/invoice`,\r\n title: 'sidenav.pages.invoice',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-pages-pricing',\r\n path: `${APP_PREFIX_PATH}/pages/pricing`,\r\n title: 'sidenav.pages.pricing',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-pages-faq',\r\n path: `${APP_PREFIX_PATH}/pages/faq`,\r\n title: 'sidenav.pages.faq',\r\n icon: '',\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-pages-setting',\r\n path: `${APP_PREFIX_PATH}/pages/setting`,\r\n title: 'sidenav.pages.setting',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'extra-auth',\r\n path: `${AUTH_PREFIX_PATH}`,\r\n title: 'sidenav.authentication',\r\n icon: SafetyOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'extra-auth-login-1',\r\n path: `${AUTH_PREFIX_PATH}/login-1`,\r\n title: 'sidenav.authentication.login.1',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-auth-login-2',\r\n path: `${AUTH_PREFIX_PATH}/login-2`,\r\n title: 'sidenav.authentication.login.2',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-auth-register-1',\r\n path: `${AUTH_PREFIX_PATH}/register-1`,\r\n title: 'sidenav.authentication.register.1',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-auth-register-2',\r\n path: `${AUTH_PREFIX_PATH}/register-2`,\r\n title: 'sidenav.authentication.register.2',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-auth-forgot-password',\r\n path: `${AUTH_PREFIX_PATH}/forgot-password`,\r\n title: 'sidenav.authentication.forgetPassword',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'extra-errors',\r\n path: `${AUTH_PREFIX_PATH}/error-1`,\r\n title: 'sidenav.errors',\r\n icon: StopOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'extra-errors-error-1',\r\n path: `${AUTH_PREFIX_PATH}/error-1`,\r\n title: 'sidenav.errors.error.1',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'extra-errors-error-2',\r\n path: `${AUTH_PREFIX_PATH}/error-2`,\r\n title: 'sidenav.errors.error.2',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n]\r\n\r\nconst dashBoardNavTree = [{\r\n key: 'dashboards',\r\n path: `${APP_PREFIX_PATH}/dashboards`,\r\n title: 'sidenav.dashboard',\r\n icon: DashboardOutlined,\r\n breadcrumb: false,\r\n submenu: [\r\n {\r\n key: 'dashboards-default',\r\n path: `${APP_PREFIX_PATH}/dashboards/default`,\r\n title: 'sidenav.dashboard.default',\r\n icon: DashboardOutlined,\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'dashboards-analytic',\r\n path: `${APP_PREFIX_PATH}/dashboards/analytic`,\r\n title: 'sidenav.dashboard.analytic',\r\n icon: DotChartOutlined,\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'dashboards-sales',\r\n path: `${APP_PREFIX_PATH}/dashboards/sales`,\r\n title: 'sidenav.dashboard.sales',\r\n icon: FundOutlined,\r\n breadcrumb: false,\r\n submenu: []\r\n }\r\n ]\r\n}]\r\n\r\nconst appsNavTree = [{\r\n key: 'apps',\r\n path: `${APP_PREFIX_PATH}/apps`,\r\n title: 'sidenav.apps',\r\n icon: AppstoreOutlined,\r\n breadcrumb: false,\r\n submenu: [\r\n {\r\n key: 'apps-mail',\r\n path: `${APP_PREFIX_PATH}/apps/mail/inbox`,\r\n title: 'sidenav.apps.mail',\r\n icon: MailOutlined,\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'apps-chat',\r\n path: `${APP_PREFIX_PATH}/apps/chat`,\r\n title: 'sidenav.apps.chat',\r\n icon: MessageOutlined,\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'apps-calendar',\r\n path: `${APP_PREFIX_PATH}/apps/calendar`,\r\n title: 'sidenav.apps.calendar',\r\n icon: CalendarOutlined,\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'apps-project',\r\n path: `${APP_PREFIX_PATH}/apps/project`,\r\n title: 'sidenav.apps.project',\r\n icon: BulbOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'apps-project-list',\r\n path: `${APP_PREFIX_PATH}/apps/project/list`,\r\n title: 'sidenav.apps.project.list',\r\n icon: '',\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'apps-project-scrumboard',\r\n path: `${APP_PREFIX_PATH}/apps/project/scrumboard`,\r\n title: 'sidenav.apps.project.scrumboard',\r\n icon: '',\r\n breadcrumb: false,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'apps-ecommerce',\r\n path: `${APP_PREFIX_PATH}/apps/ecommerce`,\r\n title: 'sidenav.apps.ecommerce',\r\n icon: ShoppingCartOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'apps-ecommerce-productList',\r\n path: `${APP_PREFIX_PATH}/apps/ecommerce/product-list`,\r\n title: 'sidenav.apps.ecommerce.productList',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'apps-ecommerce-addProduct',\r\n path: `${APP_PREFIX_PATH}/apps/ecommerce/add-product`,\r\n title: 'sidenav.apps.ecommerce.addProduct',\r\n icon: '',\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'apps-ecommerce-editProduct',\r\n path: `${APP_PREFIX_PATH}/apps/ecommerce/edit-product/12`,\r\n title: 'sidenav.apps.ecommerce.editProduct',\r\n icon: '',\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'apps-ecommerce-orders',\r\n path: `${APP_PREFIX_PATH}/apps/ecommerce/orders`,\r\n title: 'sidenav.apps.ecommerce.orders',\r\n icon: '',\r\n breadcrumb: false,\r\n submenu: []\r\n }\r\n ]\r\n }\r\n ]\r\n}]\r\n\r\nconst componentsNavTree = [\r\n {\r\n key: 'components',\r\n path: `${APP_PREFIX_PATH}/components`,\r\n title: 'sidenav.components',\r\n icon: AntDesignOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-general',\r\n path: `${APP_PREFIX_PATH}/components/general`,\r\n title: 'sidenav.components.general',\r\n icon: InfoCircleOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-general-button',\r\n path: `${APP_PREFIX_PATH}/components/general/button`,\r\n title: 'sidenav.components.general.button',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-general-icon',\r\n path: `${APP_PREFIX_PATH}/components/general/icon`,\r\n title: 'sidenav.components.general.icon',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-general-typography',\r\n path: `${APP_PREFIX_PATH}/components/general/typography`,\r\n title: 'sidenav.components.general.typography',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'components-layout',\r\n path: `${APP_PREFIX_PATH}/components/layout`,\r\n title: 'sidenav.components.layout',\r\n icon: LayoutOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-layout-grid',\r\n path: `${APP_PREFIX_PATH}/components/layout/grid`,\r\n title: 'sidenav.components.layout.grid',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-layout-layout',\r\n path: `${APP_PREFIX_PATH}/components/layout/layout`,\r\n title: 'sidenav.components.layout.layout',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'components-navigation',\r\n path: `${APP_PREFIX_PATH}/components/navigation`,\r\n title: 'sidenav.components.navigation',\r\n icon: CompassOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-navigation-affix',\r\n path: `${APP_PREFIX_PATH}/components/navigation/affix`,\r\n title: 'sidenav.components.navigation.affix',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-navigation-breadcrumb',\r\n path: `${APP_PREFIX_PATH}/components/navigation/breadcrumb`,\r\n title: 'sidenav.components.navigation.breadcrumb',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-navigation-dropdown',\r\n path: `${APP_PREFIX_PATH}/components/navigation/dropdown`,\r\n title: 'sidenav.components.navigation.dropdown',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-navigation-menu',\r\n path: `${APP_PREFIX_PATH}/components/navigation/menu`,\r\n title: 'sidenav.components.navigation.menu',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-navigation-pagination',\r\n path: `${APP_PREFIX_PATH}/components/navigation/pagination`,\r\n title: 'sidenav.components.navigation.pagination',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-navigation-page-header',\r\n path: `${APP_PREFIX_PATH}/components/navigation/page-header`,\r\n title: 'sidenav.components.navigation.pageHeader',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-navigation-steps',\r\n path: `${APP_PREFIX_PATH}/components/navigation/steps`,\r\n title: 'sidenav.components.navigation.steps',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'components-data-entry',\r\n path: `${APP_PREFIX_PATH}/components/data-entry`,\r\n title: 'sidenav.components.dataEntry',\r\n icon: FileDoneOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-data-entry-auto-complete',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/auto-complete`,\r\n title: 'sidenav.components.dataEntry.autoComplete',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-checkbox',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/checkbox`,\r\n title: 'sidenav.components.dataEntry.checkbox',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-cascader',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/cascader`,\r\n title: 'sidenav.components.dataEntry.cascader',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-date-picker',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/date-picker`,\r\n title: 'sidenav.components.dataEntry.datePicker',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-form',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/form`,\r\n title: 'sidenav.components.dataEntry.form',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-input-number',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/input-number`,\r\n title: 'sidenav.components.dataEntry.inputNumber',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-input',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/input`,\r\n title: 'sidenav.components.dataEntry.input',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-mentions',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/mentions`,\r\n title: 'sidenav.components.dataEntry.mentions',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-rate',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/rate`,\r\n title: 'sidenav.components.dataEntry.rate',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-radio',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/radio`,\r\n title: 'sidenav.components.dataEntry.radio',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-switch',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/switch`,\r\n title: 'sidenav.components.dataEntry.switch',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-slider',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/slider`,\r\n title: 'sidenav.components.dataEntry.slider',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-select',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/select`,\r\n title: 'sidenav.components.dataEntry.select',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-tree-select',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/tree-select`,\r\n title: 'sidenav.components.dataEntry.treeSelect',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-transfer',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/transfer`,\r\n title: 'sidenav.components.dataEntry.transfer',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-time-picker',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/time-picker`,\r\n title: 'sidenav.components.dataEntry.timePicker',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-entry-upload',\r\n path: `${APP_PREFIX_PATH}/components/data-entry/upload`,\r\n title: 'sidenav.components.dataEntry.upload',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n ]\r\n },\r\n {\r\n key: 'components-data-display',\r\n path: `${APP_PREFIX_PATH}/components/data-display`,\r\n title: 'sidenav.components.dataDisplay',\r\n icon: DesktopOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-data-display-avatar',\r\n path: `${APP_PREFIX_PATH}/components/data-display/avatar`,\r\n title: 'sidenav.components.dataDisplay.avatar',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-badge',\r\n path: `${APP_PREFIX_PATH}/components/data-display/badge`,\r\n title: 'sidenav.components.dataDisplay.badge',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-comment',\r\n path: `${APP_PREFIX_PATH}/components/data-display/comment`,\r\n title: 'sidenav.components.dataDisplay.comment',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-collapse',\r\n path: `${APP_PREFIX_PATH}/components/data-display/collapse`,\r\n title: 'sidenav.components.dataDisplay.collapse',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-carousel',\r\n path: `${APP_PREFIX_PATH}/components/data-display/carousel`,\r\n title: 'sidenav.components.dataDisplay.carousel',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-card',\r\n path: `${APP_PREFIX_PATH}/components/data-display/card`,\r\n title: 'sidenav.components.dataDisplay.card',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-calendar',\r\n path: `${APP_PREFIX_PATH}/components/data-display/calendar`,\r\n title: 'sidenav.components.dataDisplay.calendar',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-descriptions',\r\n path: `${APP_PREFIX_PATH}/components/data-display/descriptions`,\r\n title: 'sidenav.components.dataDisplay.descriptions',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-empty',\r\n path: `${APP_PREFIX_PATH}/components/data-display/empty`,\r\n title: 'sidenav.components.dataDisplay.empty',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-list',\r\n path: `${APP_PREFIX_PATH}/components/data-display/list`,\r\n title: 'sidenav.components.dataDisplay.list',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-popover',\r\n path: `${APP_PREFIX_PATH}/components/data-display/popover`,\r\n title: 'sidenav.components.dataDisplay.popover',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-statistic',\r\n path: `${APP_PREFIX_PATH}/components/data-display/statistic`,\r\n title: 'sidenav.components.dataDisplay.statistic',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-tree',\r\n path: `${APP_PREFIX_PATH}/components/data-display/tree`,\r\n title: 'sidenav.components.dataDisplay.tree',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-tooltip',\r\n path: `${APP_PREFIX_PATH}/components/data-display/tooltip`,\r\n title: 'sidenav.components.dataDisplay.tooltip',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-timeline',\r\n path: `${APP_PREFIX_PATH}/components/data-display/timeline`,\r\n title: 'sidenav.components.dataDisplay.timeline',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-tag',\r\n path: `${APP_PREFIX_PATH}/components/data-display/tag`,\r\n title: 'sidenav.components.dataDisplay.tag',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-tabs',\r\n path: `${APP_PREFIX_PATH}/components/data-display/tabs`,\r\n title: 'sidenav.components.dataDisplay.tabs',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-data-display-table',\r\n path: `${APP_PREFIX_PATH}/components/data-display/table`,\r\n title: 'sidenav.components.dataDisplay.table',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n ]\r\n },\r\n {\r\n key: 'components-feedback',\r\n path: `${APP_PREFIX_PATH}/components/feedback`,\r\n title: 'sidenav.components.feedback',\r\n icon: CommentOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-feedback-alert',\r\n path: `${APP_PREFIX_PATH}/components/feedback/alert`,\r\n title: 'sidenav.components.feedback.alert',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-drawer',\r\n path: `${APP_PREFIX_PATH}/components/feedback/drawer`,\r\n title: 'sidenav.components.feedback.drawer',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-modal',\r\n path: `${APP_PREFIX_PATH}/components/feedback/modal`,\r\n title: 'sidenav.components.feedback.modal',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-message',\r\n path: `${APP_PREFIX_PATH}/components/feedback/message`,\r\n title: 'sidenav.components.feedback.message',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-notification',\r\n path: `${APP_PREFIX_PATH}/components/feedback/notification`,\r\n title: 'sidenav.components.feedback.notification',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-progress',\r\n path: `${APP_PREFIX_PATH}/components/feedback/progress`,\r\n title: 'sidenav.components.feedback.progress',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-popconfirm',\r\n path: `${APP_PREFIX_PATH}/components/feedback/popconfirm`,\r\n title: 'sidenav.components.feedback.popconfirm',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-result',\r\n path: `${APP_PREFIX_PATH}/components/feedback/result`,\r\n title: 'sidenav.components.feedback.result',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-spin',\r\n path: `${APP_PREFIX_PATH}/components/feedback/spin`,\r\n title: 'sidenav.components.feedback.spin',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-feedback-skeleton',\r\n path: `${APP_PREFIX_PATH}/components/feedback/skeleton`,\r\n title: 'sidenav.components.feedback.skeleton',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'components-other',\r\n path: `${APP_PREFIX_PATH}/components/other`,\r\n title: 'sidenav.components.other',\r\n icon: RobotOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-other-anchor',\r\n path: `${APP_PREFIX_PATH}/components/other/anchor`,\r\n title: 'sidenav.components.other.anchor',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-other-backtop',\r\n path: `${APP_PREFIX_PATH}/components/other/backtop`,\r\n title: 'sidenav.components.other.backtop',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-other-config-provider',\r\n path: `${APP_PREFIX_PATH}/components/other/config-provider`,\r\n title: 'sidenav.components.other.configProvider',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-other-divider',\r\n path: `${APP_PREFIX_PATH}/components/other/divider`,\r\n title: 'sidenav.components.other.divider',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'components-charts',\r\n path: `${APP_PREFIX_PATH}/components/charts`,\r\n title: 'sidenav.charts',\r\n icon: PieChartOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-charts-apex',\r\n path: `${APP_PREFIX_PATH}/components/charts/apex-charts`,\r\n title: 'sidenav.charts.apex',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-charts-chartjs',\r\n path: `${APP_PREFIX_PATH}/components/charts/chartjs`,\r\n title: 'sidenav.charts.chartjs',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n },\r\n {\r\n key: 'components-maps',\r\n path: `${APP_PREFIX_PATH}/components/maps`,\r\n title: 'sidenav.maps',\r\n icon: EnvironmentOutlined,\r\n breadcrumb: true,\r\n submenu: [\r\n {\r\n key: 'components-maps-google',\r\n path: `${APP_PREFIX_PATH}/components/maps/google-map`,\r\n title: 'sidenav.maps.google',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n },\r\n {\r\n key: 'components-maps-simple',\r\n path: `${APP_PREFIX_PATH}/components/maps/simple-map`,\r\n title: 'sidenav.maps.simple',\r\n icon: '',\r\n breadcrumb: true,\r\n submenu: []\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n]\r\n\r\nconst docsNavTree = [{\r\n key: 'docs',\r\n path: `${APP_PREFIX_PATH}/docs`,\r\n title: 'sidenav.docs',\r\n icon: BookOutlined,\r\n breadcrumb: false,\r\n submenu: [\r\n {\r\n key: 'docs-documentation',\r\n path: `${APP_PREFIX_PATH}/docs/documentation`,\r\n title: 'sidenav.docs.documentation',\r\n icon: FileUnknownOutlined,\r\n breadcrumb: false,\r\n submenu: []\r\n },\r\n {\r\n key: 'docs-changelog',\r\n path: `${APP_PREFIX_PATH}/docs/documentation/changelog`,\r\n title: 'sidenav.docs.changelog',\r\n icon: ProfileOutlined,\r\n breadcrumb: false,\r\n submenu: []\r\n }\r\n ]\r\n}]\r\n\r\nconst navigationConfig = [\r\n ...dashBoardNavTree,\r\n ...appsNavTree,\r\n ...componentsNavTree,\r\n ...extraNavTree,\r\n ...docsNavTree\r\n]\r\n\r\nexport default navigationConfig;\r\n","import {\r\n TOGGLE_COLLAPSED_NAV,\r\n SIDE_NAV_STYLE_CHANGE,\r\n CHANGE_LOCALE,\r\n NAV_TYPE_CHANGE,\r\n TOP_NAV_COLOR_CHANGE,\r\n HEADER_NAV_COLOR_CHANGE,\r\n TOGGLE_MOBILE_NAV,\r\n SWITCH_THEME,\r\n DIRECTION_CHANGE\r\n} from '../constants/Theme';\r\n\r\nexport function toggleCollapsedNav(navCollapsed) {\r\n return {\r\n type: TOGGLE_COLLAPSED_NAV,\r\n navCollapsed\r\n };\r\n}\r\n\r\nexport function onNavStyleChange(sideNavTheme) {\r\n return {\r\n type: SIDE_NAV_STYLE_CHANGE,\r\n sideNavTheme\r\n };\r\n}\r\n\r\nexport function onLocaleChange(locale) {\r\n return {\r\n type: CHANGE_LOCALE,\r\n locale\r\n };\r\n}\r\n\r\nexport function onNavTypeChange(navType) {\r\n return {\r\n type: NAV_TYPE_CHANGE,\r\n navType\r\n };\r\n}\r\n\r\nexport function onTopNavColorChange(topNavColor) {\r\n return {\r\n type: TOP_NAV_COLOR_CHANGE,\r\n topNavColor\r\n };\r\n}\r\n\r\nexport function onHeaderNavColorChange(headerNavColor) {\r\n return {\r\n type: HEADER_NAV_COLOR_CHANGE,\r\n headerNavColor\r\n };\r\n}\r\n\r\nexport function onMobileNavToggle(mobileNav) {\r\n return {\r\n type: TOGGLE_MOBILE_NAV,\r\n mobileNav\r\n };\r\n}\r\n\r\nexport function onSwitchTheme(currentTheme) {\r\n return {\r\n type: SWITCH_THEME,\r\n currentTheme\r\n };\r\n}\r\n\r\nexport function onDirectionChange(direction) {\r\n return {\r\n type: DIRECTION_CHANGE,\r\n direction\r\n };\r\n}","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Menu, Grid } from \"antd\";\r\nimport IntlMessage from \"../util-components/IntlMessage\";\r\nimport Icon from \"../util-components/Icon\";\r\nimport navigationConfig from \"configs/NavigationConfig\";\r\nimport { connect } from \"react-redux\";\r\nimport { SIDE_NAV_LIGHT, NAV_TYPE_SIDE } from \"constants/ThemeConstant\";\r\nimport utils from 'utils'\r\nimport { onMobileNavToggle } from \"redux/actions/Theme\";\r\n\r\nconst { SubMenu } = Menu;\r\nconst { useBreakpoint } = Grid;\r\n\r\nconst setLocale = (isLocaleOn, localeKey) =>\r\n isLocaleOn ? : localeKey.toString();\r\n\r\nconst setDefaultOpen = (key) => {\r\n let keyList = [];\r\n let keyString = \"\";\r\n if (key) {\r\n const arr = key.split(\"-\");\r\n for (let index = 0; index < arr.length; index++) {\r\n const elm = arr[index];\r\n index === 0 ? (keyString = elm) : (keyString = `${keyString}-${elm}`);\r\n keyList.push(keyString);\r\n }\r\n }\r\n return keyList;\r\n};\r\n\r\nconst SideNavContent = (props) => {\r\n\tconst { sideNavTheme, routeInfo, hideGroupTitle, localization, onMobileNavToggle } = props;\r\n\tconst isMobile = !utils.getBreakPoint(useBreakpoint()).includes('lg')\r\n\tconst closeMobileNav = () => {\r\n\t\tif (isMobile) {\r\n\t\t\tonMobileNavToggle(false)\r\n\t\t}\r\n\t}\r\n return (\r\n \r\n {navigationConfig.map((menu) =>\r\n menu.submenu.length > 0 ? (\r\n \r\n {menu.submenu.map((subMenuFirst) =>\r\n subMenuFirst.submenu.length > 0 ? (\r\n \r\n ) : null\r\n }\r\n key={subMenuFirst.key}\r\n title={setLocale(localization, subMenuFirst.title)}\r\n >\r\n {subMenuFirst.submenu.map((subMenuSecond) => (\r\n \r\n {subMenuSecond.icon ? (\r\n \r\n ) : null}\r\n \r\n {setLocale(localization, subMenuSecond.title)}\r\n \r\n closeMobileNav()} to={subMenuSecond.path} />\r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n {subMenuFirst.icon ? : null}\r\n {setLocale(localization, subMenuFirst.title)}\r\n closeMobileNav()} to={subMenuFirst.path} />\r\n \r\n )\r\n )}\r\n \r\n ) : (\r\n \r\n {menu.icon ? : null}\r\n {setLocale(localization, menu?.title)}\r\n {menu.path ? closeMobileNav()} to={menu.path} /> : null}\r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TopNavContent = (props) => {\r\n const { topNavColor, localization } = props;\r\n return (\r\n \r\n {navigationConfig.map((menu) =>\r\n menu.submenu.length > 0 ? (\r\n \r\n {menu.icon ? : null}\r\n {setLocale(localization, menu.title)}\r\n \r\n }\r\n >\r\n {menu.submenu.map((subMenuFirst) =>\r\n subMenuFirst.submenu.length > 0 ? (\r\n \r\n ) : null\r\n }\r\n title={setLocale(localization, subMenuFirst.title)}\r\n >\r\n {subMenuFirst.submenu.map((subMenuSecond) => (\r\n \r\n \r\n {setLocale(localization, subMenuSecond.title)}\r\n \r\n \r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n {subMenuFirst.icon ? (\r\n \r\n ) : null}\r\n {setLocale(localization, subMenuFirst.title)}\r\n \r\n \r\n )\r\n )}\r\n \r\n ) : (\r\n \r\n {menu.icon ? : null}\r\n {setLocale(localization, menu?.title)}\r\n {menu.path ? : null}\r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst MenuContent = (props) => {\r\n return props.type === NAV_TYPE_SIDE ? (\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { sideNavTheme, topNavColor } = theme;\r\n return { sideNavTheme, topNavColor };\r\n};\r\n\r\nexport default connect(mapStateToProps, { onMobileNavToggle })(MenuContent);\r\n","import React from \"react\";\r\nimport { Layout } from 'antd';\r\nimport { connect } from 'react-redux';\r\nimport { SIDE_NAV_WIDTH, SIDE_NAV_DARK, NAV_TYPE_SIDE } from 'constants/ThemeConstant';\r\nimport { Scrollbars } from 'react-custom-scrollbars';\r\nimport MenuContent from './MenuContent'\r\n\r\nconst { Sider } = Layout;\r\n\r\nexport const SideNav = ({navCollapsed, sideNavTheme, routeInfo, hideGroupTitle, localization = true }) => {\r\n const props = { sideNavTheme, routeInfo , hideGroupTitle, localization}\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { navCollapsed, sideNavTheme } = theme;\r\n return { navCollapsed, sideNavTheme }\r\n};\r\n\r\nexport default connect(mapStateToProps)(SideNav);\r\n","import React from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { NAV_TYPE_TOP } from 'constants/ThemeConstant';\r\nimport utils from 'utils'\r\nimport MenuContent from './MenuContent'\r\n\r\nexport const TopNav = ({topNavColor, localization = true}) => {\r\n\tconst props = { topNavColor, localization }\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { topNavColor } = theme;\r\n return { topNavColor }\r\n};\r\n\r\nexport default connect(mapStateToProps)(TopNav);\r\n","import React from 'react'\r\nimport { SIDE_NAV_WIDTH, SIDE_NAV_COLLAPSED_WIDTH, NAV_TYPE_TOP } from 'constants/ThemeConstant';\r\nimport { APP_NAME } from 'configs/AppConfig';\r\nimport { connect } from \"react-redux\";\r\nimport utils from 'utils';\r\nimport { Grid } from 'antd';\r\n\r\nconst { useBreakpoint } = Grid;\r\n\r\nconst getLogoWidthGutter = (props, isMobile) => {\r\n const { navCollapsed, navType } = props;\r\n const isNavTop = navType === NAV_TYPE_TOP ? true : false\r\n if(isMobile && !props.mobileLogo) {\r\n return 0\r\n }\r\n if(isNavTop) {\r\n return 'auto'\r\n }\r\n if(navCollapsed) {\r\n return `${SIDE_NAV_COLLAPSED_WIDTH}px`\r\n } else {\r\n return `${SIDE_NAV_WIDTH}px`\r\n }\r\n}\r\n\r\nconst getLogo = (props) => {\r\n const { navCollapsed, logoType } = props;\r\n if(logoType === 'light') {\r\n if(navCollapsed) {\r\n return '/img/logo-sm-white.png'\r\n }\r\n return '/img/logo-white.png'\r\n }\r\n\r\n if (navCollapsed) {\r\n return '/img/logo-sm.png'\r\n }\r\n return '/img/logo.png'\r\n}\r\n\r\nconst getLogoDisplay = (isMobile, mobileLogo) => {\r\n if(isMobile && !mobileLogo) {\r\n return 'd-none'\r\n } else {\r\n return 'logo'\r\n }\r\n}\r\n\r\nexport const Logo = (props) => {\r\n const isMobile = !utils.getBreakPoint(useBreakpoint()).includes('lg')\r\n return (\r\n \r\n {`${APP_NAME}\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { navCollapsed, navType } = theme;\r\n return { navCollapsed, navType }\r\n};\r\n\r\nexport default connect(mapStateToProps)(Logo);\r\n","import React from \"react\";\r\nimport { Drawer } from \"antd\";\r\nimport { connect } from \"react-redux\";\r\nimport { NAV_TYPE_SIDE } from \"constants/ThemeConstant\";\r\nimport { Scrollbars } from \"react-custom-scrollbars\";\r\nimport MenuContent from \"./MenuContent\";\r\nimport { onMobileNavToggle } from \"redux/actions/Theme\";\r\nimport Logo from \"./Logo\";\r\nimport Flex from \"components/shared-components/Flex\";\r\nimport { ArrowLeftOutlined } from \"@ant-design/icons\";\r\n\r\nexport const MobileNav = ({\r\n sideNavTheme,\r\n mobileNav,\r\n onMobileNavToggle,\r\n routeInfo,\r\n hideGroupTitle,\r\n localization = true,\r\n}) => {\r\n const props = { sideNavTheme, routeInfo, hideGroupTitle, localization };\r\n\r\n const onClose = () => {\r\n onMobileNavToggle(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
onClose()}>\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { navCollapsed, sideNavTheme, mobileNav } = theme;\r\n return { navCollapsed, sideNavTheme, mobileNav };\r\n};\r\n\r\nexport default connect(mapStateToProps, { onMobileNavToggle })(MobileNav);\r\n","import React, { useState } from 'react';\r\nimport { Menu, Dropdown, Badge, Avatar, List, Button } from 'antd';\r\nimport { \r\n MailOutlined, \r\n BellOutlined, \r\n WarningOutlined,\r\n CheckCircleOutlined\r\n} from '@ant-design/icons';\r\nimport notificationData from \"assets/data/notification.data.json\";\r\nimport Flex from 'components/shared-components/Flex'\r\n\r\nconst getIcon = icon => {\r\n switch (icon) {\r\n case 'mail':\r\n return ;\r\n case 'alert':\r\n return ;\r\n case 'check':\r\n return \r\n default:\r\n return ;\r\n }\r\n}\r\n\r\nconst getNotificationBody = list => {\r\n return list.length > 0 ?\r\n (\r\n \r\n \r\n
\r\n {item.img? : }\r\n
\r\n
\r\n {item.name} \r\n {item.desc}\r\n
\r\n {item.time}\r\n
\r\n
\r\n )}\r\n />\r\n :\r\n
\r\n \"empty\"\r\n

You have viewed all notifications

\r\n
;\r\n}\r\n\r\nexport const NavNotification = () => {\r\n\r\n const [visible, setVisible] = useState(false);\r\n const [data, setData] = useState(notificationData)\r\n\r\n const handleVisibleChange = (flag) => {\r\n setVisible(flag);\r\n }\r\n\r\n const notificationList = (\r\n
\r\n
\r\n

Notification

\r\n \r\n
\r\n
\r\n {getNotificationBody(data)}\r\n
\r\n {\r\n data.length > 0 ? \r\n
\r\n View all\r\n
\r\n :\r\n null\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 \r\n \r\n )\r\n}\r\n\r\n\r\nexport default NavNotification;\r\n","import React from \"react\";\r\nimport { Menu, Dropdown, Avatar } from \"antd\";\r\nimport { connect } from 'react-redux'\r\nimport { \r\n EditOutlined, \r\n SettingOutlined, \r\n ShopOutlined, \r\n QuestionCircleOutlined, \r\n LogoutOutlined \r\n} from '@ant-design/icons';\r\nimport Icon from 'components/util-components/Icon';\r\nimport { signOut } from 'redux/actions/Auth';\r\n\r\nconst menuItem = [\r\n\t{\r\n\t\ttitle: \"Edit Profile\",\r\n\t\ticon: EditOutlined ,\r\n\t\tpath: \"/\"\r\n },\r\n \r\n {\r\n\t\ttitle: \"Account Setting\",\r\n\t\ticon: SettingOutlined,\r\n\t\tpath: \"/\"\r\n },\r\n {\r\n\t\ttitle: \"Billing\",\r\n\t\ticon: ShopOutlined ,\r\n\t\tpath: \"/\"\r\n\t},\r\n {\r\n\t\ttitle: \"Help Center\",\r\n\t\ticon: QuestionCircleOutlined,\r\n\t\tpath: \"/\"\r\n\t}\r\n]\r\n\r\nexport const NavProfile = ({signOut}) => {\r\n const profileImg = \"/img/avatars/thumb-1.jpg\";\r\n const profileMenu = (\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Charlie Howard

\r\n Frontend Developer\r\n
\r\n
\r\n
\r\n
\r\n \r\n {menuItem.map((el, i) => {\r\n return (\r\n \r\n \r\n \r\n {el.title}\r\n \r\n \r\n );\r\n })}\r\n signOut()}>\r\n \r\n \r\n Sign Out\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 );\r\n}\r\n\r\nexport default connect(null, {signOut})(NavProfile)\r\n","import React from \"react\";\r\nimport { CheckOutlined, GlobalOutlined, DownOutlined } from '@ant-design/icons';\r\nimport { Menu, Dropdown } from \"antd\";\r\nimport lang from \"assets/data/language.data.json\";\r\nimport { connect } from \"react-redux\";\r\nimport { onLocaleChange } from 'redux/actions/Theme'\r\n\r\nfunction getLanguageDetail (locale) {\r\n\tconst data = lang.filter(elm => (elm.langId === locale))\r\n\treturn data[0]\r\n}\r\n\r\nconst SelectedLanguage = ({ locale }) => {\r\n\tconst language = getLanguageDetail(locale)\r\n\tconst {langName, icon} = language\r\n\treturn (\r\n\t\t
\r\n\t\t\t{langName}/\r\n\t\t\t{langName} \r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport const NavLanguage = ({ locale, configDisplay, onLocaleChange }) => {\r\n\tconst languageOption = (\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\tlang.map((elm, i) => {return (\r\n\t\t\t\t\t onLocaleChange(elm.langId)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{elm.langName}/\r\n\t\t\t\t\t\t\t\t{elm.langName}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{locale === elm.langId? : null}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)})\r\n\t\t\t}\r\n\t\t
\r\n\t)\r\n\treturn (\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\tconfigDisplay ?\r\n\t\t\t\t(\r\n\t\t\t\t\t e.preventDefault()}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t\t:\r\n\t\t\t\t(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t e.preventDefault()}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { locale } = theme;\r\n return { locale }\r\n};\r\n\r\nexport default connect(mapStateToProps, {onLocaleChange})(NavLanguage);\r\n","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Radio, Switch, Button, message } from 'antd';\r\nimport { \r\n\ttoggleCollapsedNav, \r\n\tonNavTypeChange,\r\n\tonNavStyleChange,\r\n\tonTopNavColorChange,\r\n\tonHeaderNavColorChange,\r\n\tonSwitchTheme,\r\n\tonDirectionChange\r\n} from 'redux/actions/Theme';\r\nimport { CopyOutlined } from '@ant-design/icons';\r\nimport ColorPicker from 'components/shared-components/ColorPicker';\r\nimport CopyToClipboard from 'react-copy-to-clipboard';\r\nimport NavLanguage from './NavLanguage';\r\nimport { \r\n\tSIDE_NAV_LIGHT,\r\n\tNAV_TYPE_SIDE,\r\n\tNAV_TYPE_TOP,\r\n\tSIDE_NAV_DARK,\r\n\tDIR_RTL,\r\n\tDIR_LTR\r\n} from 'constants/ThemeConstant';\r\nimport { useThemeSwitcher } from \"react-css-theme-switcher\";\r\nimport utils from 'utils/index';\r\n\r\nconst colorOptions = [\r\n\t'#3e82f7',\r\n\t'#24a772',\r\n\t'#de4436',\r\n\t'#924aca',\r\n\t'#193550'\r\n]\r\n\r\nconst ListOption = ({name, selector, disabled, vertical}) => (\r\n\t
\r\n\t\t
{name}
\r\n\t\t
{selector}
\r\n\t
\r\n)\r\n\r\nexport const ThemeConfigurator = ({ \r\n\tnavType, \r\n\tsideNavTheme, \r\n\tnavCollapsed,\r\n\ttopNavColor,\r\n\theaderNavColor,\r\n\tlocale,\r\n\tcurrentTheme,\r\n\ttoggleCollapsedNav, \r\n\tonNavTypeChange, \r\n\tonNavStyleChange,\r\n\tonTopNavColorChange,\r\n\tonHeaderNavColorChange,\r\n\tonSwitchTheme,\r\n\tdirection,\r\n\tonDirectionChange\r\n}) => {\r\n\tconst isNavTop = navType === NAV_TYPE_TOP? true : false\r\n\tconst isCollapse = navCollapsed \r\n\r\n\tconst { switcher, themes } = useThemeSwitcher();\r\n\r\n\tconst toggleTheme = (isChecked) => {\r\n\t\tonHeaderNavColorChange('')\r\n\t\tconst changedTheme = isChecked ? 'dark' : 'light'\r\n\t\tonSwitchTheme(changedTheme)\r\n switcher({ theme: themes[changedTheme] });\r\n };\r\n\r\n\tconst ontopNavColorClick = (value) => {\r\n\t\tonHeaderNavColorChange('')\r\n\t\tconst { rgb } = value\r\n\t\tconst rgba = `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`\r\n\t\tconst hex = utils.rgbaToHex(rgba)\r\n\t\tonTopNavColorChange(hex)\r\n\t}\r\n\tconst onHeaderNavColorClick = (value) => {\r\n\t\tconst { rgb } = value\r\n\t\tconst rgba = `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`\r\n\t\tconst hex = utils.rgbaToHex(rgba)\r\n\t\tonHeaderNavColorChange(hex)\r\n\t}\r\n\r\n\tconst onNavTypeClick = (value) => {\r\n\t\tonHeaderNavColorChange('')\r\n\t\tif(value === NAV_TYPE_TOP) {\r\n\t\t\tonTopNavColorChange(colorOptions[0])\r\n\t\t\ttoggleCollapsedNav(false)\r\n\t\t}\r\n\t\tonNavTypeChange(value)\r\n\t}\r\n\r\n\tconst genCopySettingJson = (configState) => JSON.stringify(configState, null, 2);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
\r\n\t\t\t\t

Navigation

\r\n\t\t\t\t{\r\n\t\t\t\t\tisNavTop ?\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t:\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t onNavTypeClick(e.target.value)} \r\n\t\t\t\t\t\t\tvalue={navType}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tSide\r\n\t\t\t\t\t\t\tTop\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t onNavStyleChange(e.target.value)} \r\n\t\t\t\t\t\t\tvalue={sideNavTheme}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tLight\r\n\t\t\t\t\t\t\tDark\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdisabled={isNavTop}\r\n\t\t\t\t/>\r\n\t\t\t\t toggleCollapsedNav(!navCollapsed)} \r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdisabled={isNavTop}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t onDirectionChange(e.target.value)} \r\n\t\t\t\t\t\t\tvalue={direction}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tLTR\r\n\t\t\t\t\t\t\tRTL\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

Locale

\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t message.success('Copy Success, please paste it to src/configs/AppConfig.js THEME_CONFIG variable.') }\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { navType, sideNavTheme, navCollapsed, topNavColor, headerNavColor, locale, currentTheme, direction } = theme;\r\n return { navType, sideNavTheme, navCollapsed, topNavColor, headerNavColor, locale, currentTheme, direction }\r\n};\r\n\r\nconst mapDispatchToProps = {\r\n\ttoggleCollapsedNav,\r\n\tonNavTypeChange,\r\n\tonNavStyleChange,\r\n\tonTopNavColorChange,\r\n\tonHeaderNavColorChange,\r\n\tonSwitchTheme,\r\n\tonDirectionChange\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ThemeConfigurator)\r\n","import React, { Component } from 'react';\r\nimport { SettingOutlined } from '@ant-design/icons';\r\nimport { Drawer, Menu } from 'antd';\r\nimport ThemeConfigurator from './ThemeConfigurator';\r\nimport { connect } from \"react-redux\";\r\nimport { DIR_RTL } from 'constants/ThemeConstant';\r\n\r\nexport class NavPanel extends Component {\r\n\tstate = { visible: false };\r\n\r\n showDrawer = () => {\r\n this.setState({\r\n visible: true,\r\n });\r\n };\r\n\r\n onClose = () => {\r\n this.setState({\r\n visible: false,\r\n });\r\n\t};\r\n\t\r\n\trender() {\r\n\t\treturn (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { locale } = theme;\r\n return { locale }\r\n};\r\n\r\nexport default connect(mapStateToProps)(NavPanel);","import React, { useState, useRef } from 'react';\r\nimport { \r\n\tDashboardOutlined,\r\n\tAppstoreOutlined,\r\n\tAntDesignOutlined,\r\n\tFileTextOutlined,\r\n\tSearchOutlined\r\n} from '@ant-design/icons';\r\nimport { Link } from \"react-router-dom\";\r\nimport { AutoComplete, Input } from 'antd';\r\nimport IntlMessage from 'components/util-components/IntlMessage';\r\nimport navigationConfig from \"configs/NavigationConfig\";\r\n\r\nfunction getOptionList (navigationTree, optionTree) {\r\n\toptionTree = optionTree ? optionTree : [];\r\n\tfor ( const navItem of navigationTree ) {\r\n\t\tif(navItem.submenu.length === 0) {\r\n\t\t\toptionTree.push(navItem)\r\n\t\t}\r\n\t\tif(navItem.submenu.length > 0) {\r\n\t\t\tgetOptionList(navItem.submenu, optionTree);\r\n\t\t}\r\n\t}\r\n\treturn optionTree \r\n}\r\n\r\nconst optionList = getOptionList(navigationConfig)\r\n\r\nconst getCategoryIcon = category => {\r\n\tswitch (category) {\r\n\t\tcase 'dashboards':\r\n\t\t\treturn ;\r\n\t\tcase 'apps':\r\n\t\t\treturn ;\r\n\t\tcase 'components':\r\n\t\t\treturn ;\r\n\t\tcase 'extra':\r\n\t\t\treturn ;\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n}\r\n\r\nconst searchResult = () => optionList.map((item) => {\r\n\tconst category = item.key.split('-')[0]\r\n\treturn {\r\n\t\tvalue: item.path,\r\n\t\tlabel: (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{getCategoryIcon(category)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
{category}
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t),\r\n\t};\r\n});\r\n\r\nconst SearchInput = props => {\r\n\tconst { active, close, isMobile, mode } = props\r\n\tconst [value, setValue] = useState('');\r\n\tconst [options, setOptions] = useState([])\r\n\tconst inputRef = useRef(null);\r\n\r\n\tconst onSelect = () => {\r\n\t\tsetValue('')\r\n\t\tsetOptions([])\r\n\t\tif(close) {\r\n\t\t\tclose()\r\n\t\t}\r\n };\r\n\r\n\tconst onSearch = searchText => {\r\n\t\tsetValue(searchText)\r\n\t\tsetOptions(!searchText ? [] : searchResult(searchText))\r\n\t};\r\n\t\r\n\tconst autofocus = () => {\r\n\t\tinputRef.current.focus();\r\n\t}\r\n\r\n\tif(active) {\r\n\t\tautofocus()\r\n\t}\r\n\r\n\treturn (\r\n\t\t \r\n\t\t\t\toption.value.toUpperCase().indexOf(inputValue.toUpperCase()) !== -1\r\n\t\t\t}\r\n\t\t>\r\n\t\t\t} />\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default SearchInput\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n\tCloseOutlined,\r\n} from '@ant-design/icons';\r\nimport utils from 'utils'\r\nimport SearchInput from './SearchInput';\r\n\r\nexport const NavSearch = (props) => {\r\n\tconst { active, close, headerNavColor } = props\r\n\tconst mode = utils.getColorContrast(headerNavColor)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { headerNavColor } = theme;\r\n return { headerNavColor }\r\n};\r\n\r\nexport default connect(mapStateToProps, {})(NavSearch)","import React, { useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Layout } from \"antd\";\r\nimport { MenuFoldOutlined, MenuUnfoldOutlined, SearchOutlined } from '@ant-design/icons';\r\nimport Logo from './Logo';\r\nimport NavNotification from './NavNotification';\r\nimport NavProfile from './NavProfile';\r\nimport NavLanguage from './NavLanguage';\r\nimport NavPanel from './NavPanel';\r\nimport NavSearch from './NavSearch';\r\nimport SearchInput from './NavSearch/SearchInput.js'\r\nimport { toggleCollapsedNav, onMobileNavToggle } from 'redux/actions/Theme';\r\nimport { NAV_TYPE_TOP, SIDE_NAV_COLLAPSED_WIDTH, SIDE_NAV_WIDTH } from 'constants/ThemeConstant';\r\nimport utils from 'utils'\r\n\r\nconst { Header } = Layout;\r\n\r\nexport const HeaderNav = props => {\r\n const { navCollapsed, mobileNav, navType, headerNavColor, toggleCollapsedNav, onMobileNavToggle, isMobile, currentTheme, direction } = props;\r\n const [searchActive, setSearchActive] = useState(false)\r\n\r\n const onSearchActive = () => {\r\n setSearchActive(true)\r\n }\r\n\r\n const onSearchClose = () => {\r\n setSearchActive(false)\r\n }\r\n\r\n const onToggle = () => {\r\n if(!isMobile) {\r\n toggleCollapsedNav(!navCollapsed)\r\n } else {\r\n onMobileNavToggle(!mobileNav)\r\n }\r\n }\r\n\r\n const isNavTop = navType === NAV_TYPE_TOP ? true : false\r\n const mode = ()=> {\r\n if(!headerNavColor) {\r\n return utils.getColorContrast(currentTheme === 'dark' ? '#00000' : '#ffffff' )\r\n }\r\n return utils.getColorContrast(headerNavColor)\r\n }\r\n const navMode = mode()\r\n const getNavWidth = () => {\r\n if(isNavTop || isMobile) {\r\n return '0px'\r\n }\r\n if(navCollapsed) {\r\n return `${SIDE_NAV_COLLAPSED_WIDTH}px`\r\n } else {\r\n return `${SIDE_NAV_WIDTH}px`\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if(!isMobile) {\r\n onSearchClose()\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 isNavTop && !isMobile ?\r\n null\r\n :\r\n
  • {onToggle()}}>\r\n {navCollapsed || isMobile ? : }\r\n
  • \r\n }\r\n {\r\n isMobile ?\r\n
  • {onSearchActive()}}>\r\n \r\n
  • \r\n :\r\n
  • \r\n \r\n
  • \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = ({ theme }) => {\r\n const { navCollapsed, navType, headerNavColor, mobileNav, currentTheme, direction } = theme;\r\n return { navCollapsed, navType, headerNavColor, mobileNav, currentTheme, direction }\r\n};\r\n\r\nexport default connect(mapStateToProps, {toggleCollapsedNav, onMobileNavToggle})(HeaderNav);","import React, { Component } from 'react';\r\nimport { Link, withRouter } from 'react-router-dom';\r\nimport { Breadcrumb } from 'antd';\r\nimport navigationConfig from \"configs/NavigationConfig\";\r\nimport IntlMessage from 'components/util-components/IntlMessage';\r\n\r\nlet breadcrumbData = { \r\n\t'/app' : \r\n};\r\n\r\nnavigationConfig.forEach((elm, i) => {\r\n\tconst assignBreadcrumb = (obj) => breadcrumbData[obj.path] = ;\r\n\tassignBreadcrumb(elm);\r\n\tif (elm.submenu) {\r\n\t\telm.submenu.forEach( elm => {\r\n\t\t\tassignBreadcrumb(elm)\r\n\t\t\tif(elm.submenu) {\r\n\t\t\t\telm.submenu.forEach( elm => {\r\n\t\t\t\t\tassignBreadcrumb(elm)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n})\r\n\r\nconst BreadcrumbRoute = withRouter(props => {\r\n\tconst { location } = props;\r\n\tconst pathSnippets = location.pathname.split('/').filter(i => i);\r\n\tconst buildBreadcrumb = pathSnippets.map((_, index) => {\r\n const url = `/${pathSnippets.slice(0, index + 1).join('/')}`;\r\n return (\r\n \r\n {breadcrumbData[url]}\r\n \r\n );\r\n\t});\r\n \r\n return (\r\n\t\t\r\n\t\t\t{buildBreadcrumb}\r\n\t\t\r\n );\r\n});\r\n\r\nexport class AppBreadcrumb extends Component {\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport default AppBreadcrumb\r\n","import React from 'react'\r\nimport AppBreadcrumb from 'components/layout-components/AppBreadcrumb';\r\nimport IntlMessage from '../util-components/IntlMessage';\r\n\r\nexport const PageHeader = ({ title, display }) => {\r\n\treturn (\r\n\t\tdisplay ? (\r\n\t\t\t
\r\n\t\t\t\t

\r\n\t\t\t\t\t\r\n\t\t\t\t

\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t\t: null\r\n\t)\r\n}\r\n\r\nexport default PageHeader","import React from 'react'\r\nimport { APP_NAME } from 'configs/AppConfig';\r\n\r\nexport default function Footer() {\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\n","import React, { lazy, Suspense } from \"react\";\r\nimport { Switch, Route, Redirect } from \"react-router-dom\";\r\nimport Loading from 'components/shared-components/Loading';\r\nimport { APP_PREFIX_PATH } from 'configs/AppConfig'\r\n\r\nexport const AppViews = () => {\r\n return (\r\n }>\r\n \r\n import(`./dashboards`))} />\r\n import(`./apps`))} />\r\n import(`./components`))} />\r\n import(`./pages`))} />\r\n import(`./maps`))} />\r\n import(`./charts`))} />\r\n import(`./docs`))} />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default React.memo(AppViews);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport SideNav from 'components/layout-components/SideNav';\r\nimport TopNav from 'components/layout-components/TopNav';\r\nimport Loading from 'components/shared-components/Loading';\r\nimport MobileNav from 'components/layout-components/MobileNav'\r\nimport HeaderNav from 'components/layout-components/HeaderNav';\r\nimport PageHeader from 'components/layout-components/PageHeader';\r\nimport Footer from 'components/layout-components/Footer';\r\nimport AppViews from 'views/app-views';\r\nimport {\r\n Layout,\r\n Grid,\r\n} from \"antd\";\r\n\r\nimport navigationConfig from \"configs/NavigationConfig\";\r\nimport { \r\n SIDE_NAV_WIDTH, \r\n SIDE_NAV_COLLAPSED_WIDTH,\r\n NAV_TYPE_SIDE,\r\n NAV_TYPE_TOP,\r\n DIR_RTL,\r\n DIR_LTR\r\n} from 'constants/ThemeConstant';\r\nimport utils from 'utils';\r\nimport { useThemeSwitcher } from \"react-css-theme-switcher\";\r\n\r\nconst { Content } = Layout;\r\nconst { useBreakpoint } = Grid;\r\n\r\nexport const AppLayout = ({ navCollapsed, navType, location, direction }) => {\r\n const currentRouteInfo = utils.getRouteInfo(navigationConfig, location.pathname)\r\n const screens = utils.getBreakPoint(useBreakpoint());\r\n const isMobile = !screens.includes('lg')\r\n const isNavSide = navType === NAV_TYPE_SIDE\r\n const isNavTop = navType === NAV_TYPE_TOP\r\n const getLayoutGutter = () => {\r\n if(isNavTop || isMobile) {\r\n return 0\r\n }\r\n return navCollapsed ? SIDE_NAV_COLLAPSED_WIDTH : SIDE_NAV_WIDTH\r\n }\r\n\r\n const { status } = useThemeSwitcher();\r\n\r\n if (status === 'loading') {\r\n return ;\r\n }\r\n\r\n const getLayoutDirectionGutter = () => {\r\n if(direction === DIR_LTR) {\r\n return {paddingLeft: getLayoutGutter()}\r\n } \r\n if(direction === DIR_RTL) {\r\n return {paddingRight: getLayoutGutter()}\r\n }\r\n return {paddingLeft: getLayoutGutter()}\r\n }\r\n\r\n return (\r\n \r\n \r\n {(isNavTop && !isMobile) ? : null}\r\n \r\n {(isNavSide && !isMobile) ? : null }\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n