{"version":3,"sources":["configs/AppConfig.js","components/shared-components/Flex/index.js","api/custom/branch.js","context/CartContext.js","context/PaymentContext.js","context/TransactionContext.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","components/util-components/Icon/index.js","configs/NavigationConfig.js","utils/index.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/shared-components/ColorPicker/index.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/till-views/index.js","layouts/till-layout/index.js","views/index.js","App.js","serviceWorker.js","assets/font/Century Gothic.ttf","index.js","redux/actions/Auth.js","cookie/general.js","components/shared-components/Loading/index.js","constants/ApiConstant.js"],"names":["APP_NAME","APP_PREFIX_PATH","AUTH_PREFIX_PATH","TILL_PREFIX_PATH","THEME_CONFIG","navCollapsed","sideNavTheme","SIDE_NAV_LIGHT","locale","navType","NAV_TYPE_SIDE","topNavColor","headerNavColor","mobileNav","currentTheme","direction","DIR_LTR","Flex","props","children","className","alignItems","justifyContent","mobileFlex","flexDirection","defaultProps","API_TillLogin","data","fetch","process","REACT_APP_API_URL","API_BASE_URL","API_MISC","method","mode","body","JSON","stringify","headers","Accept","then","response","json","API_MISCUpdatePass","API_BRANCHGetAllByAdminID","id","API_BRANCH","CartContext","createContext","CartProvider","useState","cartItems","setCartItems","cartContextValue","addToCart","item","prevItems","addRefundToCart","find","x","ID","type","removeFromCart","itemKey","filter","key","updateItemQuantity","quantity","isRefund","refundableQuantity","map","updateItem","updates","updateNote","note","clearCart","calculateTotalPrice","reduce","total","unitPrice","discount","calculateTotalTax","totalTax","finalPrice","taxRate","taxValue","calculateTotalDiscount","totalDiscount","calculateTotalItems","totalItems","Provider","value","PaymentContext","PaymentProvider","payments","setPayments","paymentContextValue","addPayment","payment","prevPayments","clearPayments","calculateTotalPayments","TransactionContext","TransactionProvider","transactionStatus","setTransactionStatus","previousTransaction","setPreviousTransaction","errorReport","setErrorReport","transactionContextValue","startTransaction","completeTransaction","transactionData","failTransaction","error","clearTransaction","SIDE_NAV_WIDTH","SIDE_NAV_COLLAPSED_WIDTH","SIDE_NAV_DARK","NAV_TYPE_TOP","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","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","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","a","signInWithEmailAndPassword","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","Icon","this","React","createElement","Component","dashBoardNavTree","cookieGETAdminID","path","title","icon","DashboardOutlined","breadcrumb","submenu","tillNavTree","LogoutOutlined","setupNavTree","SettingOutlined","TeamOutlined","EnvironmentOutlined","BankOutlined","megaAdminView","adminView","manageNavTree","UnorderedListOutlined","InsertRowBelowOutlined","AppstoreOutlined","ClusterOutlined","reportingNavTree","PieChartOutlined","CreditCardOutlined","BarChartOutlined","ReloadOutlined","navigationConfig","Utils","name","initials","match","shift","pop","toUpperCase","navTree","route","p","Object","prototype","hasOwnProperty","getRouteInfo","hex","cutHex","h","charAt","substring","parseInt","hexToG","hexToB","color","percent","R","G","B","RR","toString","length","GG","BB","rgba","trim","str","replace","inParts","indexOf","split","r","g","b","parseFloat","toFixed","outParts","Math","round","forEach","part","i","join","number","positive","negative","toLowerCase","list","input","searchText","screens","breakpoints","push","toggleCollapsedNav","onMobileNavToggle","SubMenu","Menu","useBreakpoint","Grid","setLocale","isLocaleOn","localeKey","setDefaultOpen","keyList","keyString","arr","index","elm","SideNavContent","routeInfo","hideGroupTitle","localization","isMobile","utils","getBreakPoint","includes","closeMobileNav","style","height","borderRight","defaultSelectedKeys","defaultOpenKeys","menu","ItemGroup","subMenuFirst","subMenuSecond","Item","onClick","to","TopNavContent","backgroundColor","popupClassName","connect","Sider","Layout","width","collapsed","autoHide","getColorContrast","getLogoWidthGutter","isNavTop","mobileLogo","getLogo","logoType","getLogoDisplay","src","alt","onClose","placement","closable","visible","bodyStyle","padding","ArrowLeftOutlined","ColorPicker","colorChange","setVisible","pickerColor","setPickerColor","boxColor","setBoxColor","useEffect","onPickerDropdown","onChange","rgb","SelectedLanguage","language","lang","langId","getLanguageDetail","langName","maxWidth","DownOutlined","onLocaleChange","configDisplay","languageOption","CheckOutlined","overlay","trigger","href","e","preventDefault","GlobalOutlined","colorOptions","ListOption","selector","disabled","vertical","passString","mapDispatchToProps","onNavTypeChange","onNavStyleChange","onTopNavColorChange","onHeaderNavColorChange","onSwitchTheme","onDirectionChange","configState","isCollapse","useThemeSwitcher","switcher","themes","rgbaToHex","Group","size","target","Button","checked","isChecked","changedTheme","text","onCopy","success","CopyOutlined","block","marginTop","KeyOutlined","destroyOnClose","onOk","onCancel","NavPanel","showDrawer","setState","optionList","getOptionList","navigationTree","optionTree","navItem","getCategoryIcon","category","AntDesignOutlined","FileTextOutlined","SearchInput","active","close","setValue","options","setOptions","inputRef","useRef","current","focus","ref","dropdownClassName","onSelect","onSearch","label","filterOption","inputValue","option","placeholder","prefix","SearchOutlined","CloseOutlined","Header","searchActive","setSearchActive","onSearchClose","navMode","MenuUnfoldOutlined","MenuFoldOutlined","cursor","cookieGETAdminName","cookieDELETEAuthenticator","breadcrumbData","assignBreadcrumb","obj","BreadcrumbRoute","withRouter","pathSnippets","location","pathname","buildBreadcrumb","_","url","slice","AppBreadcrumb","PageHeader","display","Footer","Date","getFullYear","AppViews","fallback","Loading","cover","component","lazy","from","memo","Content","AppLayout","currentRouteInfo","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","classList","add","removeBodyClass","remove","Apps","TillLayout","TillViews","RouteInterceptor","isAuthenticated","rest","render","currentAppLocale","Array","cookieCHECKAuthenticator","exact","dark","light","App","themeMap","defaultTheme","insertionPoint","Views","Boolean","hostname","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister","signIn","signInWithGoogle","hideAuthMessage","showLoading","cookieGETUserID","user_info","parse","cookiePOSTLoggedInTill","cookie","cookiePOSTLoggedInClocking","cookieGETUserName","userFirst","userLast","cookieGETBranchID","branchID","cookieGETBranchName","branchName","cookieGETIfClocked","cookiePOSTBranchInfo","branch","cookiePOSTUserInfo","time","firstName","lastName","role","roleID","expiry","getTime","cookieCHECKAllUsers","keys","users","cookiePOSTActive","cookieDELETEUserInfo","cookieDELETECloseTill","admin_info","now","valueOf","cookiePOSTAuthenticator","adminInfo","areaID","cookieSAVEstocktake","stockTake","compressedData","compress","cookieLOADstocktake","decompress","cookieDELstocktake","cookiePOSTclosetill","cookieGETclosetill","cookiePOSTlicense","cookieGETlicense","cookieGETofflineRequests","cookieSETCategories","cookieSETDiscountTypes","cookieSETTenderTypes","cookieSETClockingData","cookieGETCategories","cookieGETDiscountTypes","cookieGETTenderTypes","cookieGETClockingData","cookieTROUBLESHOOT_REMOVE","cookiePOSTPurchaseOrderDraft","cookieGETPurchaseOrderDraft","cookieDELETEPurchaseOrderDraft","cookiePOSTWarehouseOrderDraft","console","cookieGETWarehouseOrderDraft","cookieDELETEWarehouseOrderDraft","fontSize","spin","align","indicator","API_CATEGORY","API_DISCOUNT_TYPE","API_NOSALE_TYPE","API_PETTY_TYPE","API_REFUND_TYPE","API_ROLE_TYPE","API_STOCKMOVE_TYPE","API_TAXRATE","API_TENDER_TYPE","API_ADMIN","API_AREA","API_BRANCH_LICENSE","API_EMPLOYEE","API_PRODUCT","API_REPORTING","API_STOCK","API_STOCK_HISTORY","API_STOCKORDER","API_STOCKORDER_ITEMS","API_TRANSACTION","API_TILL","API_WAREHOUSE_ORDER","API_WAREHOUSE_ORDER_ITEMS","API_WAREHOUSE_STOCK"],"mappings":"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","file":"static/js/main.a82cbab8.chunk.js","sourcesContent":["import {\n SIDE_NAV_LIGHT,\n NAV_TYPE_SIDE,\n DIR_LTR,\n} from \"constants/ThemeConstant\";\nimport { env } from \"./EnvironmentConfig\";\n\nexport const APP_NAME = \"MOBILEBITZ EPOS\";\nexport const API_BASE_URL = env.API_ENDPOINT_URL;\nexport const APP_PREFIX_PATH = \"/app\";\nexport const AUTH_PREFIX_PATH = \"/auth\";\nexport const TILL_PREFIX_PATH = \"/till\";\n\nexport const THEME_CONFIG = {\n navCollapsed: false,\n sideNavTheme: SIDE_NAV_LIGHT,\n locale: \"en\",\n navType: NAV_TYPE_SIDE,\n topNavColor: \"#3e82f7\",\n headerNavColor: \"\",\n mobileNav: false,\n currentTheme: \"light\",\n direction: DIR_LTR,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst Flex = (props) => {\n const {\n children,\n className,\n alignItems,\n justifyContent,\n mobileFlex,\n flexDirection,\n } = props;\n const getFlexResponsive = () => (mobileFlex ? \"d-flex\" : \"d-md-flex\");\n return (\n \n {children}\n \n );\n};\n\nFlex.propTypes = {\n className: PropTypes.string,\n alignItems: PropTypes.string,\n flexDirection: PropTypes.string,\n justifyContent: PropTypes.string,\n mobileFlex: PropTypes.bool,\n};\n\nFlex.defaultProps = {\n mobileFlex: true,\n flexDirection: \"row\",\n className: \"\",\n};\n\nexport default Flex;\n","import { API_BASE_URL, API_BRANCH, API_MISC } from \"constants/ApiConstant\";\n\nexport function API_TillLogin(data) {\n return fetch(\n (process.env.REACT_APP_API_URL || API_BASE_URL) + API_MISC + \"login/0\",\n {\n method: \"POST\",\n mode: \"cors\",\n body: JSON.stringify(data),\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n },\n ).then((response) => response.json());\n}\n\nexport function API_MISCUpdatePass(data) {\n return fetch(\n (process.env.REACT_APP_API_URL || API_BASE_URL) + API_MISC + \"1\",\n {\n method: \"PATCH\",\n mode: \"cors\",\n body: JSON.stringify(data),\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n },\n ).then((response) => response.json());\n}\n\nexport function API_BRANCHGetAllByAdminID(id) {\n return fetch(\n (process.env.REACT_APP_API_URL || API_BASE_URL) +\n API_BRANCH +\n \"byAdminID/\" +\n id,\n ).then((response) => response.json());\n}\n\nexport function API_BRANCHFindByAreaID(id) {\n return fetch(\n (process.env.REACT_APP_API_URL || API_BASE_URL) +\n API_BRANCH +\n \"byAreaID/\" +\n id,\n ).then((response) => response.json());\n}\n","import React, { createContext, useState } from \"react\";\n\nexport const CartContext = createContext();\n\nexport const CartProvider = ({ children }) => {\n const [cartItems, setCartItems] = useState([]);\n\n const addToCart = (item) => {\n setCartItems((prevItems) => [...prevItems, item]);\n };\n\n const addRefundToCart = (item) => {\n const found = cartItems.find(\n (x) => x.ID === item.ID && x.type === item.type\n );\n if (found) return;\n setCartItems((prevItems) => [...prevItems, item]);\n };\n\n const removeFromCart = (itemKey) => {\n setCartItems((prevItems) =>\n prevItems.filter((item) => item.key !== itemKey)\n );\n };\n\n const updateItemQuantity = (itemKey, quantity) => {\n const item = cartItems.find((x) => x.key === itemKey);\n if (item?.isRefund && item?.refundableQuantity < quantity) return;\n setCartItems((prevItems) =>\n prevItems.map((item) =>\n item.key === itemKey ? { ...item, quantity } : item\n )\n );\n };\n\n const updateItem = (key, updates) => {\n setCartItems((prevItems) =>\n prevItems.map((item) =>\n item.key === key ? { ...item, ...updates } : item\n )\n );\n };\n\n const updateNote = (itemKey, note) => {\n setCartItems((prevItems) =>\n prevItems.map((item) => (item.key === itemKey ? { ...item, note } : item))\n );\n };\n\n const clearCart = () => {\n setCartItems([]);\n };\n\n const calculateTotalPrice = () => {\n return cartItems.reduce(\n (total, item) => total + (item.unitPrice - item.discount) * item.quantity,\n 0\n );\n };\n\n const calculateTotalTax = () => {\n return cartItems.reduce((totalTax, item) => {\n const finalPrice = (item.unitPrice - item.discount) * item.quantity;\n const taxRate = item.taxValue / 100;\n const taxAmount = (finalPrice / (1 + taxRate)) * taxRate;\n\n return totalTax + taxAmount;\n }, 0);\n };\n\n const calculateTotalDiscount = () => {\n return cartItems.reduce(\n (totalDiscount, item) => totalDiscount + item.discount * item.quantity,\n 0\n );\n };\n\n const calculateTotalItems = () => {\n return cartItems.reduce(\n (totalItems, item) => totalItems + item.quantity,\n 0\n );\n };\n\n const cartContextValue = {\n cartItems,\n addToCart,\n addRefundToCart,\n removeFromCart,\n updateItemQuantity,\n updateItem,\n updateNote,\n clearCart,\n calculateTotalPrice,\n calculateTotalTax,\n calculateTotalDiscount,\n calculateTotalItems,\n };\n\n return (\n \n {children}\n \n );\n};\n","import React, { createContext, useState } from \"react\";\n\nexport const PaymentContext = createContext();\n\nexport const PaymentProvider = ({ children }) => {\n /** @typedef {Object} Payment\n * @property {string} paymentID\n * @property {string} name\n * @property {number} value\n * @property {string} [changeGiven]\n */\n\n const [payments, setPayments] = useState([]);\n\n const addPayment = (payment) => {\n setPayments((prevPayments) => [...prevPayments, payment]);\n };\n\n const clearPayments = () => {\n setPayments([]);\n };\n\n const calculateTotalPayments = () => {\n return payments.reduce((total, payment) => total + payment.value, 0);\n };\n\n const paymentContextValue = {\n payments,\n addPayment,\n clearPayments,\n calculateTotalPayments,\n };\n\n return (\n \n {children}\n \n );\n};\n","import React, { createContext, useState } from \"react\";\n\nexport const TransactionContext = createContext();\n\nexport const TransactionProvider = ({ children }) => {\n const [transactionStatus, setTransactionStatus] = useState(-1);\n const [previousTransaction, setPreviousTransaction] = useState(null);\n const [errorReport, setErrorReport] = useState(null);\n\n const startTransaction = () => {\n setTransactionStatus(1);\n };\n\n const completeTransaction = (transactionData) => {\n setTransactionStatus(0);\n setPreviousTransaction(transactionData);\n };\n\n const failTransaction = (error) => {\n setTransactionStatus(2);\n setErrorReport(error);\n };\n\n const clearTransaction = () => {\n setTransactionStatus(-1);\n setPreviousTransaction(null);\n setErrorReport(null);\n };\n\n const transactionContextValue = {\n transactionStatus,\n previousTransaction,\n errorReport,\n startTransaction,\n completeTransaction,\n failTransaction,\n clearTransaction,\n };\n\n return (\n \n {children}\n \n );\n};\n","export const ROW_GUTTER = 16;\nexport const SIDE_NAV_WIDTH = 250;\nexport const SIDE_NAV_COLLAPSED_WIDTH = 80;\nexport const SIDE_NAV_LIGHT = \"SIDE_NAV_LIGHT\";\nexport const SIDE_NAV_DARK = \"SIDE_NAV_DARK\";\nexport const NAV_TYPE_SIDE = \"SIDE\";\nexport const NAV_TYPE_TOP = \"TOP\";\nexport const DIR_LTR = \"ltr\";\nexport const DIR_RTL = \"rtl\";\n","export const SIGNIN = \"SIGNIN\";\nexport const AUTHENTICATED = \"AUTHENTICATED\";\nexport const SIGNOUT = \"SIGNOUT\";\nexport const SIGNOUT_SUCCESS = \"SIGNOUT_SUCCESS\";\nexport const SIGNUP = \"SIGNUP\";\nexport const SIGNUP_SUCCESS = \"SIGNUP_SUCCESS\";\nexport const SHOW_AUTH_MESSAGE = \"SHOW_AUTH_MESSAGE\";\nexport const HIDE_AUTH_MESSAGE = \"HIDE_AUTH_MESSAGE\";\nexport const SHOW_LOADING = \"SHOW_LOADING\";\nexport const AUTH_TOKEN = \"auth_token\";\nexport const SIGNIN_WITH_GOOGLE = \"SIGNIN_WITH_GOOGLE\";\nexport const SIGNIN_WITH_GOOGLE_AUTHENTICATED =\n \"SIGNIN_WITH_GOOGLE_AUTHENTICATED\";\nexport const SIGNIN_WITH_FACEBOOK = \"SIGNIN_WITH_FACEBOOK\";\nexport const SIGNIN_WITH_FACEBOOK_AUTHENTICATED =\n \"SIGNIN_WITH_FACEBOOK_AUTHENTICATED\";\n","import {\n AUTH_TOKEN,\n AUTHENTICATED,\n SHOW_AUTH_MESSAGE,\n HIDE_AUTH_MESSAGE,\n SIGNOUT_SUCCESS,\n SIGNUP_SUCCESS,\n SHOW_LOADING,\n SIGNIN_WITH_GOOGLE_AUTHENTICATED,\n SIGNIN_WITH_FACEBOOK_AUTHENTICATED,\n} from \"../constants/Auth\";\n\nconst initState = {\n loading: false,\n message: \"\",\n showMessage: false,\n redirect: \"\",\n token: localStorage.getItem(AUTH_TOKEN),\n};\n\nconst auth = (state = initState, action) => {\n switch (action.type) {\n case AUTHENTICATED:\n return {\n ...state,\n loading: false,\n redirect: \"/\",\n token: action.token,\n };\n case SHOW_AUTH_MESSAGE:\n return {\n ...state,\n message: action.message,\n showMessage: true,\n loading: false,\n };\n case HIDE_AUTH_MESSAGE:\n return {\n ...state,\n message: \"\",\n showMessage: false,\n };\n case SIGNOUT_SUCCESS: {\n return {\n ...state,\n token: null,\n redirect: \"/\",\n loading: false,\n };\n }\n case SIGNUP_SUCCESS: {\n return {\n ...state,\n loading: false,\n token: action.token,\n };\n }\n case SHOW_LOADING: {\n return {\n ...state,\n loading: true,\n };\n }\n case SIGNIN_WITH_GOOGLE_AUTHENTICATED: {\n return {\n ...state,\n loading: false,\n token: action.token,\n };\n }\n case SIGNIN_WITH_FACEBOOK_AUTHENTICATED: {\n return {\n ...state,\n loading: false,\n token: action.token,\n };\n }\n default:\n return state;\n }\n};\n\nexport default auth;\n","export const TOGGLE_COLLAPSED_NAV = \"TOGGLE_COLLAPSED_NAV\";\nexport const CHANGE_LOCALE = \"CHANGE_LOCALE\";\nexport const SIDE_NAV_STYLE_CHANGE = \"SIDE_NAV_STYLE_CHANGE\";\nexport const NAV_TYPE_CHANGE = \"NAV_TYPE_CHANGE\";\nexport const TOP_NAV_COLOR_CHANGE = \"TOP_NAV_COLOR_CHANGE\";\nexport const HEADER_NAV_COLOR_CHANGE = \"HEADER_NAV_COLOR_CHANGE\";\nexport const TOGGLE_MOBILE_NAV = \"TOGGLE_MOBILE_NAV\";\nexport const SWITCH_THEME = \"SWITCH_THEME\";\nexport const DIRECTION_CHANGE = \"DIRECTION_CHANGE\";\n","import {\n TOGGLE_COLLAPSED_NAV,\n CHANGE_LOCALE,\n SIDE_NAV_STYLE_CHANGE,\n NAV_TYPE_CHANGE,\n TOP_NAV_COLOR_CHANGE,\n HEADER_NAV_COLOR_CHANGE,\n TOGGLE_MOBILE_NAV,\n SWITCH_THEME,\n DIRECTION_CHANGE,\n} from \"../constants/Theme\";\nimport { THEME_CONFIG } from \"configs/AppConfig\";\n\nconst initTheme = {\n ...THEME_CONFIG,\n};\n\nconst theme = (state = initTheme, action) => {\n switch (action.type) {\n case TOGGLE_COLLAPSED_NAV:\n return {\n ...state,\n navCollapsed: action.navCollapsed,\n };\n case SIDE_NAV_STYLE_CHANGE:\n return {\n ...state,\n sideNavTheme: action.sideNavTheme,\n };\n case CHANGE_LOCALE:\n return {\n ...state,\n locale: action.locale,\n };\n case NAV_TYPE_CHANGE:\n return {\n ...state,\n navType: action.navType,\n };\n case TOP_NAV_COLOR_CHANGE:\n return {\n ...state,\n topNavColor: action.topNavColor,\n };\n case HEADER_NAV_COLOR_CHANGE:\n return {\n ...state,\n headerNavColor: action.headerNavColor,\n };\n case TOGGLE_MOBILE_NAV:\n return {\n ...state,\n mobileNav: action.mobileNav,\n };\n case SWITCH_THEME:\n return {\n ...state,\n currentTheme: action.currentTheme,\n };\n case DIRECTION_CHANGE:\n return {\n ...state,\n direction: action.direction,\n };\n default:\n return state;\n }\n};\n\nexport default theme;\n","import { combineReducers } from \"redux\";\nimport Auth from \"./Auth\";\nimport Theme from \"./Theme\";\n\nconst reducers = combineReducers({\n theme: Theme,\n auth: Auth,\n});\n\nexport default reducers;\n","const FirebaseConfig = {\n apiKey: \"AIzaSyAOWoRQGoegkmwnCca7B2GG5GUG_ZP1lcM\",\n authDomain: \"emilus.firebaseapp.com\",\n databaseURL: \"https://emilus.firebaseio.com\",\n projectId: \"emilus\",\n storageBucket: \"emilus.appspot.com\",\n messagingSenderId: \"807555350717\",\n appId: \"1:807555350717:web:145ba7c21af47203a2f7d4\",\n measurementId: \"G-8KE7HJB252\",\n};\n\nexport default FirebaseConfig;\n","import firebase from \"firebase/app\";\nimport \"firebase/auth\";\nimport \"firebase/firestore\";\nimport firebaseConfig from \"configs/FirebaseConfig\";\n\nfirebase.initializeApp(firebaseConfig);\n\n// firebase utils\nconst db = firebase.firestore();\nconst auth = firebase.auth();\nconst currentUser = auth.currentUser;\nconst googleAuthProvider = new firebase.auth.GoogleAuthProvider();\nconst facebookAuthProvider = new firebase.auth.FacebookAuthProvider();\nconst twitterAuthProvider = new firebase.auth.TwitterAuthProvider();\nconst githubAuthProvider = new firebase.auth.GithubAuthProvider();\n\nexport {\n db,\n auth,\n currentUser,\n googleAuthProvider,\n facebookAuthProvider,\n twitterAuthProvider,\n githubAuthProvider,\n};\n","import {\n auth,\n googleAuthProvider,\n facebookAuthProvider,\n} from \"auth/FirebaseAuth\";\n\nconst FirebaseService = {};\n\nFirebaseService.signInEmailRequest = async (email, password) =>\n await auth\n .signInWithEmailAndPassword(email, password)\n .then((user) => user)\n .catch((err) => err);\n\nFirebaseService.signInEmailRequest = async (email, password) =>\n await auth\n .signInWithEmailAndPassword(email, password)\n .then((user) => user)\n .catch((err) => err);\n\nFirebaseService.signOutRequest = async () =>\n await auth\n .signOut()\n .then((user) => user)\n .catch((err) => err);\n\nFirebaseService.signInGoogleRequest = async () =>\n await auth\n .signInWithPopup(googleAuthProvider)\n .then((user) => user)\n .catch((err) => err);\n\nFirebaseService.signInFacebookRequest = async () =>\n await auth\n .signInWithPopup(facebookAuthProvider)\n .then((user) => user)\n .catch((err) => err);\n\nFirebaseService.signUpEmailRequest = async (email, password) =>\n await auth\n .createUserWithEmailAndPassword(email, password)\n .then((user) => user)\n .catch((err) => err);\n\nexport default FirebaseService;\n","import { all, takeEvery, put, fork, call } from \"redux-saga/effects\";\nimport {\n AUTH_TOKEN,\n SIGNIN,\n SIGNOUT,\n SIGNUP,\n SIGNIN_WITH_GOOGLE,\n SIGNIN_WITH_FACEBOOK,\n} from \"../constants/Auth\";\nimport {\n showAuthMessage,\n authenticated,\n signOutSuccess,\n signUpSuccess,\n signInWithGoogleAuthenticated,\n signInWithFacebookAuthenticated,\n} from \"../actions/Auth\";\n\nimport FirebaseService from \"services/FirebaseService\";\n\nexport function* signInWithFBEmail() {\n yield takeEvery(SIGNIN, function* ({ payload }) {\n const { email, password } = payload;\n try {\n const user = yield call(\n FirebaseService.signInEmailRequest,\n email,\n password,\n );\n if (user.message) {\n yield put(showAuthMessage(user.message));\n } else {\n localStorage.setItem(AUTH_TOKEN, user.user.uid);\n yield put(authenticated(user.user.uid));\n }\n } catch (err) {\n yield put(showAuthMessage(err));\n }\n });\n}\n\nexport function* signOut() {\n yield takeEvery(SIGNOUT, function* () {\n try {\n const signOutUser = yield call(FirebaseService.signOutRequest);\n if (signOutUser === undefined) {\n localStorage.removeItem(AUTH_TOKEN);\n yield put(signOutSuccess(signOutUser));\n } else {\n yield put(showAuthMessage(signOutUser.message));\n }\n } catch (err) {\n yield put(showAuthMessage(err));\n }\n });\n}\n\nexport function* signUpWithFBEmail() {\n yield takeEvery(SIGNUP, function* ({ payload }) {\n const { email, password } = payload;\n try {\n const user = yield call(\n FirebaseService.signUpEmailRequest,\n email,\n password,\n );\n if (user.message) {\n yield put(showAuthMessage(user.message));\n } else {\n localStorage.setItem(AUTH_TOKEN, user.user.uid);\n yield put(signUpSuccess(user.user.uid));\n }\n } catch (error) {\n yield put(showAuthMessage(error));\n }\n });\n}\n\nexport function* signInWithFBGoogle() {\n yield takeEvery(SIGNIN_WITH_GOOGLE, function* () {\n try {\n const user = yield call(FirebaseService.signInGoogleRequest);\n if (user.message) {\n yield put(showAuthMessage(user.message));\n } else {\n localStorage.setItem(AUTH_TOKEN, user.user.uid);\n yield put(signInWithGoogleAuthenticated(user.user.uid));\n }\n } catch (error) {\n yield put(showAuthMessage(error));\n }\n });\n}\n\nexport function* signInWithFacebook() {\n yield takeEvery(SIGNIN_WITH_FACEBOOK, function* () {\n try {\n const user = yield call(FirebaseService.signInFacebookRequest);\n if (user.message) {\n yield put(showAuthMessage(user.message));\n } else {\n localStorage.setItem(AUTH_TOKEN, user.user.uid);\n yield put(signInWithFacebookAuthenticated(user.user.uid));\n }\n } catch (error) {\n yield put(showAuthMessage(error));\n }\n });\n}\n\nexport default function* rootSaga() {\n yield all([\n fork(signInWithFBEmail),\n fork(signOut),\n fork(signUpWithFBEmail),\n fork(signInWithFBGoogle),\n fork(signInWithFacebook),\n ]);\n}\n","import { all } from \"redux-saga/effects\";\nimport Auth from \"./Auth\";\n\nexport default function* rootSaga(getState) {\n yield all([Auth()]);\n}\n","import { createStore, applyMiddleware, compose } from \"redux\";\nimport reducers from \"../reducers\";\nimport createSagaMiddleware from \"redux-saga\";\nimport rootSaga from \"../sagas/index\";\n\nconst sagaMiddleware = createSagaMiddleware();\n\nconst middlewares = [sagaMiddleware];\n\nfunction configureStore(preloadedState) {\n const composeEnhancers =\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n const store = createStore(\n reducers,\n preloadedState,\n composeEnhancers(applyMiddleware(...middlewares)),\n );\n\n sagaMiddleware.run(rootSaga);\n\n if (module.hot) {\n module.hot.accept(\"../reducers/index\", () => {\n const nextRootReducer = require(\"../reducers/index\");\n store.replaceReducer(nextRootReducer);\n });\n }\n\n return store;\n}\n\nconst store = configureStore();\n\nexport default store;\n","import React from \"react\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\n\nconst IntlMessage = (props) => ;\nexport default injectIntl(IntlMessage, {\n withRef: false,\n});\n","import React, { Component } from \"react\";\n\nexport class Icon extends Component {\n render() {\n const { type, className } = this.props;\n return <>{React.createElement(type, { className: className })};\n }\n}\n\nexport default Icon;\n","import {\n DashboardOutlined,\n TeamOutlined,\n SettingOutlined,\n PieChartOutlined,\n UnorderedListOutlined,\n EnvironmentOutlined,\n BankOutlined,\n AppstoreOutlined,\n InsertRowBelowOutlined,\n BarChartOutlined,\n ReloadOutlined,\n CreditCardOutlined,\n LogoutOutlined,\n ClusterOutlined,\n} from \"@ant-design/icons\";\nimport { APP_PREFIX_PATH, TILL_PREFIX_PATH } from \"configs/AppConfig\";\nimport { cookieGETAdminID } from \"cookie/general\";\n\nconst dashBoardNavTree =\n cookieGETAdminID() === 2\n ? [\n {\n key: \"dashboards\",\n path: `${APP_PREFIX_PATH}/dashboards`,\n title: \"sidenav.dashboard\",\n icon: DashboardOutlined,\n breadcrumb: false,\n submenu: [],\n },\n ]\n : [];\n\nconst tillNavTree = [\n {\n key: \"till\",\n path: `${TILL_PREFIX_PATH}/login`,\n title: \"sidenav.till\",\n icon: LogoutOutlined,\n breadcrumb: false,\n submenu: [],\n },\n];\n\nconst setupNavTree =\n cookieGETAdminID() === 2\n ? [\n {\n key: \"setup\",\n path: `${APP_PREFIX_PATH}/setup`,\n title: \"sidenav.setup\",\n icon: SettingOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"setup-company\",\n path: `${APP_PREFIX_PATH}/setup/company/details`,\n title: \"sidenav.setup.company\",\n icon: TeamOutlined,\n breadcrumb: false,\n submenu: [\n /*\n {\n key: 'setup-company-receipts',\n path: `${APP_PREFIX_PATH}/setup/company/reciepts`,\n title: 'sidenav.setup.company.reciepts',\n icon: '',\n breadcrumb: false,\n submenu: []\n },*/\n {\n key: \"setup-company-discount\",\n path: `${APP_PREFIX_PATH}/setup/company/discount`,\n title: \"sidenav.setup.company.discount\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n /*{\n key: 'setup-company-refund',\n path: `${APP_PREFIX_PATH}/setup/company/refund`,\n title: 'sidenav.setup.company.refund',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'setup-company-no-sale',\n path: `${APP_PREFIX_PATH}/setup/company/no-sale`,\n title: 'sidenav.setup.company.no-sale',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'setup-company-stock',\n path: `${APP_PREFIX_PATH}/setup/company/stock`,\n title: 'sidenav.setup.company.stock',\n icon: '',\n breadcrumb: false,\n submenu: []\n }*/\n ],\n },\n {\n key: \"setup-locations\",\n path: `${APP_PREFIX_PATH}/setup/locations`,\n title: \"sidenav.setup.locations\",\n icon: EnvironmentOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"setup-locations-devices\",\n path: `${APP_PREFIX_PATH}/setup/locations/branches`,\n title: \"sidenav.setup.locations.branches\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n /*{\n key: 'setup-locations-areas',\n path: `${APP_PREFIX_PATH}/setup/locations/areas`,\n title: 'sidenav.setup.locations.areas',\n icon: '',\n breadcrumb: false,\n submenu: []\n }*/\n ],\n },\n {\n key: \"setup-banking\",\n path: `${APP_PREFIX_PATH}/setup/banking`,\n title: \"sidenav.setup.banking\",\n icon: BankOutlined,\n breadcrumb: true,\n submenu: [\n {\n key: \"setup-banking-tender-types\",\n path: `${APP_PREFIX_PATH}/setup/banking/tender-types`,\n title: \"sidenav.setup.banking.tender\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"setup-banking-tax-rates\",\n path: `${APP_PREFIX_PATH}/setup/banking/tax-rates`,\n title: \"sidenav.setup.banking.tax\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n /*{\n key: 'setup-banking-petty-cash',\n path: `${APP_PREFIX_PATH}/setup/banking/petty-cash`,\n title: 'sidenav.setup.banking.petty',\n icon: '',\n breadcrumb: false,\n submenu: []\n }*/\n ],\n },\n ],\n },\n ]\n : [];\n\nconst megaAdminView = [\n {\n key: \"manage-staff-admin\",\n path: `${APP_PREFIX_PATH}/manage/staff/admin`,\n title: \"sidenav.manage.staff.admin\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"manage-staff-staff\",\n path: `${APP_PREFIX_PATH}/manage/staff/staff`,\n title: \"sidenav.manage.staff.staff\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"manage-staff-roles\",\n path: `${APP_PREFIX_PATH}/manage/staff/roles`,\n title: \"sidenav.manage.staff.roles\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n } /*,{\n key: 'manage-staff-hours',\n path: `${APP_PREFIX_PATH}/manage/staff/hours`,\n title: 'sidenav.manage.staff.hours',\n icon: '',\n breadcrumb: false,\n submenu: []\n}*/,\n];\n\nconst adminView = [\n {\n key: \"manage-staff-staff\",\n path: `${APP_PREFIX_PATH}/manage/staff/staff`,\n title: \"sidenav.manage.staff.staff\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"manage-staff-roles\",\n path: `${APP_PREFIX_PATH}/manage/staff/roles`,\n title: \"sidenav.manage.staff.roles\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n /*{\n key: 'manage-staff-hours',\n path: `${APP_PREFIX_PATH}/manage/staff/hours`,\n title: 'sidenav.manage.staff.hours',\n icon: '',\n breadcrumb: false,\n submenu: []\n}*/\n];\n\nconst manageNavTree = [\n {\n key: \"manage\",\n path: `${APP_PREFIX_PATH}/manage`,\n title: \"sidenav.manage\",\n icon: UnorderedListOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"manage-products\",\n path: `${APP_PREFIX_PATH}/manage/products`,\n title: \"sidenav.manage.products\",\n icon: InsertRowBelowOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"manage-products-list\",\n path: `${APP_PREFIX_PATH}/manage/products/list`,\n title: \"sidenav.manage.products.list\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"manage-products-category\",\n path: `${APP_PREFIX_PATH}/manage/products/category`,\n title: \"sidenav.manage.products.categories\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n ],\n },\n {\n key: \"manage-stock-control\",\n path: `${APP_PREFIX_PATH}/manage/stock`,\n title: \"sidenav.manage.stock\",\n icon: AppstoreOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"manage-stock-control-orders\",\n path: `${APP_PREFIX_PATH}/manage/stock/orders`,\n title: \"sidenav.manage.stock.orders\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"manage-stock-control-history\",\n path: `${APP_PREFIX_PATH}/manage/stock/history`,\n title: \"sidenav.manage.stock.history\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n } /*{\n key: 'manage-stock-control-takes',\n path: `${APP_PREFIX_PATH}/manage/stock/takes`,\n title: 'sidenav.manage.stock.takes',\n icon: '',\n breadcrumb: false,\n submenu: []\n }*/,\n ],\n },\n {\n key: \"manage-staff\",\n path: `${APP_PREFIX_PATH}/manage/staff`,\n title: \"sidenav.manage.staff\",\n icon: TeamOutlined,\n breadcrumb: false,\n submenu: cookieGETAdminID() === 2 ? megaAdminView : adminView,\n },\n {\n key: \"manage-warehouse\",\n path: `${APP_PREFIX_PATH}/manage/warehouse`,\n title: \"sidenav.manage.warehouse\",\n icon: ClusterOutlined,\n breadcrumb: true,\n submenu: [\n {\n key: \"manage-warehouse-orders\",\n path: `${APP_PREFIX_PATH}/manage/warehouse/orders`,\n title: \"sidenav.manage.warehouse.orders\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"manage-warehouse-stock\",\n path: `${APP_PREFIX_PATH}/manage/warehouse/stock`,\n title: \"sidenav.manage.warehouse.stock\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n ],\n },\n /*{\n key: 'manage-customer-services',\n path: `${APP_PREFIX_PATH}/manage/customer-services`,\n title: 'sidenav.manage.customer',\n icon: UserSwitchOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: 'manage-customer-services-repairs',\n path: `${APP_PREFIX_PATH}/manage/customer-services/repairs`,\n title: 'sidenav.manage.customer.repairs',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'manage-customer-services-buyback',\n path: `${APP_PREFIX_PATH}/manage/customer-services/buyback`,\n title: 'sidenav.manage.customer.buyback',\n icon: '',\n breadcrumb: false,\n submenu: []\n }\n ]\n }*/\n ],\n },\n];\n\nconst reportingNavTree = [\n {\n key: \"reporting\",\n path: `${APP_PREFIX_PATH}/reporting`,\n title: \"sidenav.reporting\",\n icon: PieChartOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"reporting-transactions\",\n path: `${APP_PREFIX_PATH}/reporting/transactions`,\n title: \"sidenav.reporting.transaction\",\n icon: CreditCardOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"reporting-transactions-completed\",\n path: `${APP_PREFIX_PATH}/reporting/transactions-completed`,\n title: \"sidenav.reporting.transaction.completed\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n ],\n },\n {\n key: \"reporting-sales\",\n path: `${APP_PREFIX_PATH}/reporting/sales`,\n title: \"sidenav.reporting.sales\",\n icon: BarChartOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"reporting-sales-period\",\n path: `${APP_PREFIX_PATH}/reporting/sales/period`,\n title: \"sidenav.reporting.sales.period\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n } /*\n {\n key: 'reporting-sales-comparison',\n path: `${APP_PREFIX_PATH}/reporting/sales/comparison`,\n title: 'sidenav.reporting.sales.comparisons',\n icon: '',\n breadcrumb: false,\n submenu: []\n },*/,\n {\n key: \"reporting-sales-product\",\n path: `${APP_PREFIX_PATH}/reporting/sales/product`,\n title: \"sidenav.reporting.sales.sales\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"reporting-sales-locations\",\n path: `${APP_PREFIX_PATH}/reporting/sales/locations`,\n title: \"sidenav.reporting.sales.locations\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"reporting-sales-categories\",\n path: `${APP_PREFIX_PATH}/reporting/sales/categories`,\n title: \"sidenav.reporting.sales.categories\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"reporting-sales-till-categories\",\n path: `${APP_PREFIX_PATH}/reporting/sales/till-categories`,\n title: \"sidenav.reporting.sales.till-categories\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n ],\n },\n {\n key: \"reporting-stock\",\n path: `${APP_PREFIX_PATH}/reporting/stock`,\n title: \"sidenav.reporting.stock\",\n icon: AppstoreOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"reporting-stock-levels\",\n path: `${APP_PREFIX_PATH}/reporting/stock/levels`,\n title: \"sidenav.reporting.stock.levels\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n /*{\n key: 'reporting-stock-history',\n path: `${APP_PREFIX_PATH}/reporting/stock/history`,\n title: 'sidenav.reporting.stock.history',\n icon: '',\n breadcrumb: false,\n submenu: []\n }*/\n ],\n },\n /*{\n key: 'reporting-customer-services',\n path: `${APP_PREFIX_PATH}/reporting/customer-services`,\n title: 'sidenav.reporting.customer',\n icon: UserSwitchOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: 'reporting-customer-services-repairs',\n path: `${APP_PREFIX_PATH}/reporting/customer/repairs`,\n title: 'sidenav.reporting.customer.repairs',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'reporting-customer-services-buyback',\n path: `${APP_PREFIX_PATH}/reporting/customer/buyback`,\n title: 'sidenav.reporting.customer.buyback',\n icon: '',\n breadcrumb: false,\n submenu: []\n }\n ]\n },*/\n {\n key: \"reporting-banking\",\n path: `${APP_PREFIX_PATH}/reporting/banking`,\n title: \"sidenav.reporting.banking\",\n icon: BankOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"reporting-banking-tenders\",\n path: `${APP_PREFIX_PATH}/reporting/banking/tenders`,\n title: \"sidenav.reporting.banking.tenders\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n /*{\n key: 'reporting-banking-endofday',\n path: `${APP_PREFIX_PATH}/reporting/banking/endofday`,\n title: 'sidenav.reporting.banking.endofday',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'reporting-banking-petty',\n path: `${APP_PREFIX_PATH}/reporting/banking/petty`,\n title: 'sidenav.reporting.banking.petty',\n icon: '',\n breadcrumb: false,\n submenu: []\n },*/\n ],\n },\n /*{\n key: 'reporting-accounting',\n path: `${APP_PREFIX_PATH}/reporting/accounting`,\n title: 'sidenav.reporting.accounting',\n icon: CalculatorOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: 'reporting-accounting-bookkeeping',\n path: `${APP_PREFIX_PATH}/reporting/accounting/bookkeeping`,\n title: 'sidenav.reporting.accounting.bookkeeping',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'reporting-accounting-daily',\n path: `${APP_PREFIX_PATH}/reporting/accounting/daily`,\n title: 'sidenav.reporting.accounting.daily',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'reporting-accounting-monthly',\n path: `${APP_PREFIX_PATH}/reporting/accounting/monthly`,\n title: 'sidenav.reporting.accounting.monthly',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'reporting-accounting-quarterly',\n path: `${APP_PREFIX_PATH}/reporting/accounting/quarterly`,\n title: 'sidenav.reporting.accounting.quarterly',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'reporting-accounting-endofyear',\n path: `${APP_PREFIX_PATH}/reporting/accounting/endofyear`,\n title: 'sidenav.reporting.accounting.endofyear',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'reporting-accounting-payroll',\n path: `${APP_PREFIX_PATH}/reporting/accounting/payroll`,\n title: 'sidenav.reporting.accounting.payroll',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n {\n key: 'reporting-accounting-gross',\n path: `${APP_PREFIX_PATH}/reporting/accounting/gross`,\n title: 'sidenav.reporting.accounting.gross',\n icon: '',\n breadcrumb: false,\n submenu: []\n },\n ]\n },*/\n {\n key: \"reporting-auditing\",\n path: `${APP_PREFIX_PATH}/reporting/auditing`,\n title: \"sidenav.reporting.auditing\",\n icon: ReloadOutlined,\n breadcrumb: false,\n submenu: [\n {\n key: \"reporting-auditing-refunds\",\n path: `${APP_PREFIX_PATH}/reporting/auditing/refunds`,\n title: \"sidenav.reporting.auditing.refunds\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n {\n key: \"reporting-auditing-discounts\",\n path: `${APP_PREFIX_PATH}/reporting/auditing/discounts`,\n title: \"sidenav.reporting.auditing.discounts\",\n icon: \"\",\n breadcrumb: false,\n submenu: [],\n },\n ],\n },\n ],\n },\n];\n\nconst navigationConfig = [\n ...dashBoardNavTree,\n ...tillNavTree,\n ...setupNavTree,\n ...manageNavTree,\n ...reportingNavTree,\n];\n\nexport default navigationConfig;\n","class Utils {\n /**\n * Get first character from first & last sentences of a username\n * @param {String} name - Username\n * @return {String} 2 characters string\n */\n static getNameInitial(name) {\n let initials = name.match(/\\b\\w/g) || [];\n return ((initials.shift() || \"\") + (initials.pop() || \"\")).toUpperCase();\n }\n\n /**\n * Get current path related object from Navigation Tree\n * @param {Array} navTree - Navigation Tree from directory 'configs/NavigationConfig'\n * @param {String} path - Location path you looking for e.g '/app/dashboards/analytic'\n * @return {Object} object that contained the path string\n */\n static getRouteInfo(navTree, path) {\n if (navTree.path === path) {\n return navTree;\n }\n let route;\n for (let p in navTree) {\n if (\n Object.prototype.hasOwnProperty.call(navTree, p) &&\n typeof navTree[p] === \"object\"\n ) {\n route = this.getRouteInfo(navTree[p], path);\n if (route) {\n return route;\n }\n }\n }\n return route;\n }\n\n /**\n * Get accessible color contrast\n * @param {String} hex - Hex color code e.g '#3e82f7'\n * @return {String} 'dark' or 'light'\n */\n static getColorContrast(hex) {\n if (!hex) {\n return \"dark\";\n }\n const threshold = 130;\n const hRed = hexToR(hex);\n const hGreen = hexToG(hex);\n const hBlue = hexToB(hex);\n function hexToR(h) {\n return parseInt(cutHex(h).substring(0, 2), 16);\n }\n function hexToG(h) {\n return parseInt(cutHex(h).substring(2, 4), 16);\n }\n function hexToB(h) {\n return parseInt(cutHex(h).substring(4, 6), 16);\n }\n function cutHex(h) {\n return h.charAt(0) === \"#\" ? h.substring(1, 7) : h;\n }\n const cBrightness = (hRed * 299 + hGreen * 587 + hBlue * 114) / 1000;\n if (cBrightness > threshold) {\n return \"dark\";\n } else {\n return \"light\";\n }\n }\n\n /**\n * Darken or lighten a hex color\n * @param {String} color - Hex color code e.g '#3e82f7'\n * @param {Number} percent - Percentage -100 to 100, positive for lighten, negative for darken\n * @return {String} Darken or lighten color\n */\n static shadeColor(color, percent) {\n let R = parseInt(color.substring(1, 3), 16);\n let G = parseInt(color.substring(3, 5), 16);\n let B = parseInt(color.substring(5, 7), 16);\n R = parseInt((R * (100 + percent)) / 100);\n G = parseInt((G * (100 + percent)) / 100);\n B = parseInt((B * (100 + percent)) / 100);\n R = R < 255 ? R : 255;\n G = G < 255 ? G : 255;\n B = B < 255 ? B : 255;\n const RR =\n R.toString(16).length === 1 ? `0${R.toString(16)}` : R.toString(16);\n const GG =\n G.toString(16).length === 1 ? `0${G.toString(16)}` : G.toString(16);\n const BB =\n B.toString(16).length === 1 ? `0${B.toString(16)}` : B.toString(16);\n return `#${RR}${GG}${BB}`;\n }\n\n /**\n * Convert RGBA to HEX\n * @param {String} rgba - RGBA color code e.g 'rgba(197, 200, 198, .2)')'\n * @return {String} HEX color\n */\n static rgbaToHex(rgba) {\n const trim = (str) => str.replace(/^\\s+|\\s+$/gm, \"\");\n const inParts = rgba.substring(rgba.indexOf(\"(\")).split(\",\"),\n r = parseInt(trim(inParts[0].substring(1)), 10),\n g = parseInt(trim(inParts[1]), 10),\n b = parseInt(trim(inParts[2]), 10),\n a = parseFloat(\n trim(inParts[3].substring(0, inParts[3].length - 1))\n ).toFixed(2);\n const outParts = [\n r.toString(16),\n g.toString(16),\n b.toString(16),\n Math.round(a * 255)\n .toString(16)\n .substring(0, 2),\n ];\n\n outParts.forEach(function (part, i) {\n if (part.length === 1) {\n outParts[i] = \"0\" + part;\n }\n });\n return `#${outParts.join(\"\")}`;\n }\n\n /**\n * Returns either a positive or negative\n * @param {Number} number - number value\n * @param {any} positive - value that return when positive\n * @param {any} negative - value that return when negative\n * @return {any} positive or negative value based on param\n */\n static getSignNum(number, positive, negative) {\n if (number > 0) {\n return positive;\n }\n if (number < 0) {\n return negative;\n }\n return null;\n }\n\n /**\n * Returns either ascending or descending value\n * @param {Object} a - antd Table sorter param a\n * @param {Object} b - antd Table sorter param b\n * @param {String} key - object key for compare\n * @return {any} a value minus b value\n */\n static antdTableSorter(a, b, key) {\n if (typeof a[key] === \"number\" && typeof b[key] === \"number\") {\n return a[key] - b[key];\n }\n\n if (typeof a[key] === \"string\" && typeof b[key] === \"string\") {\n a = a[key].toLowerCase();\n b = b[key].toLowerCase();\n return a > b ? -1 : b > a ? 1 : 0;\n }\n return;\n }\n\n /**\n * Filter array of object\n * @param {Array} list - array of objects that need to filter\n * @param {String} key - object key target\n * @param {any} value - value that excluded from filter\n * @return {Array} a value minus b value\n */\n static filterArray(list, key, value) {\n let data = list;\n if (list) {\n data = list.filter((item) => item[key] === value);\n }\n return data;\n }\n\n /**\n * Remove object from array by value\n * @param {Array} list - array of objects\n * @param {String} key - object key target\n * @param {any} value - target value\n * @return {Array} Array that removed target object\n */\n static deleteArrayRow(list, key, value) {\n let data = list;\n if (list) {\n data = list.filter((item) => item[key] !== value);\n }\n return data;\n }\n\n /**\n * Wild card search on all property of the object\n * @param {Number | String} input - any value to search\n * @param {Array} list - array for search\n * @return {Array} array of object contained keyword\n */\n static wildCardSearch(list, input) {\n const searchText = (item) => {\n for (let key in item) {\n if (item[key] == null) {\n continue;\n }\n if (\n item[key]\n .toString()\n .toUpperCase()\n .indexOf(input.toString().toUpperCase()) !== -1\n ) {\n return true;\n }\n }\n };\n list = list.filter((value) => searchText(value));\n return list;\n }\n\n /**\n * Get Breakpoint\n * @param {Object} screens - Grid.useBreakpoint() from antd\n * @return {Array} array of breakpoint size\n */\n static getBreakPoint(screens) {\n let breakpoints = [];\n for (const key in screens) {\n if (Object.prototype.hasOwnProperty.call(screens, key)) {\n const element = screens[key];\n if (element) {\n breakpoints.push(key);\n }\n }\n }\n return breakpoints;\n }\n}\n\nexport default Utils;\n","import {\n TOGGLE_COLLAPSED_NAV,\n SIDE_NAV_STYLE_CHANGE,\n CHANGE_LOCALE,\n NAV_TYPE_CHANGE,\n TOP_NAV_COLOR_CHANGE,\n HEADER_NAV_COLOR_CHANGE,\n TOGGLE_MOBILE_NAV,\n SWITCH_THEME,\n DIRECTION_CHANGE,\n} from \"../constants/Theme\";\n\nexport function toggleCollapsedNav(navCollapsed) {\n return {\n type: TOGGLE_COLLAPSED_NAV,\n navCollapsed,\n };\n}\n\nexport function onNavStyleChange(sideNavTheme) {\n return {\n type: SIDE_NAV_STYLE_CHANGE,\n sideNavTheme,\n };\n}\n\nexport function onLocaleChange(locale) {\n return {\n type: CHANGE_LOCALE,\n locale,\n };\n}\n\nexport function onNavTypeChange(navType) {\n return {\n type: NAV_TYPE_CHANGE,\n navType,\n };\n}\n\nexport function onTopNavColorChange(topNavColor) {\n return {\n type: TOP_NAV_COLOR_CHANGE,\n topNavColor,\n };\n}\n\nexport function onHeaderNavColorChange(headerNavColor) {\n return {\n type: HEADER_NAV_COLOR_CHANGE,\n headerNavColor,\n };\n}\n\nexport function onMobileNavToggle(mobileNav) {\n return {\n type: TOGGLE_MOBILE_NAV,\n mobileNav,\n };\n}\n\nexport function onSwitchTheme(currentTheme) {\n return {\n type: SWITCH_THEME,\n currentTheme,\n };\n}\n\nexport function onDirectionChange(direction) {\n return {\n type: DIRECTION_CHANGE,\n direction,\n };\n}\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Menu, Grid } from \"antd\";\nimport IntlMessage from \"../util-components/IntlMessage\";\nimport Icon from \"../util-components/Icon\";\nimport navigationConfig from \"configs/NavigationConfig\";\nimport { connect } from \"react-redux\";\nimport { SIDE_NAV_LIGHT, NAV_TYPE_SIDE } from \"constants/ThemeConstant\";\nimport utils from \"utils\";\nimport { onMobileNavToggle } from \"redux/actions/Theme\";\n\nconst { SubMenu } = Menu;\nconst { useBreakpoint } = Grid;\n\nconst setLocale = (isLocaleOn, localeKey) =>\n isLocaleOn ? : localeKey.toString();\n\nconst setDefaultOpen = (key) => {\n let keyList = [];\n let keyString = \"\";\n if (key) {\n const arr = key.split(\"-\");\n for (let index = 0; index < arr.length; index++) {\n const elm = arr[index];\n index === 0 ? (keyString = elm) : (keyString = `${keyString}-${elm}`);\n keyList.push(keyString);\n }\n }\n return keyList;\n};\n\nconst SideNavContent = (props) => {\n const {\n sideNavTheme,\n routeInfo,\n hideGroupTitle,\n localization,\n onMobileNavToggle,\n } = props;\n const isMobile = !utils.getBreakPoint(useBreakpoint()).includes(\"lg\");\n const closeMobileNav = () => {\n if (isMobile) {\n onMobileNavToggle(false);\n }\n };\n return (\n \n {navigationConfig.map((menu) =>\n menu.submenu.length > 0 ? (\n \n {menu.submenu.map((subMenuFirst) =>\n subMenuFirst.submenu.length > 0 ? (\n \n ) : null\n }\n key={subMenuFirst.key}\n title={setLocale(localization, subMenuFirst.title)}\n >\n {subMenuFirst.submenu.map((subMenuSecond) => (\n \n {subMenuSecond.icon ? (\n \n ) : null}\n \n {setLocale(localization, subMenuSecond.title)}\n \n closeMobileNav()}\n to={subMenuSecond.path}\n />\n \n ))}\n \n ) : (\n \n {subMenuFirst.icon ? : null}\n {setLocale(localization, subMenuFirst.title)}\n closeMobileNav()}\n to={subMenuFirst.path}\n />\n \n ),\n )}\n \n ) : (\n \n {menu.icon ? : null}\n {setLocale(localization, menu?.title)}\n {menu.path ? (\n closeMobileNav()} to={menu.path} />\n ) : null}\n \n ),\n )}\n \n );\n};\n\nconst TopNavContent = (props) => {\n const { topNavColor, localization } = props;\n return (\n \n {navigationConfig.map((menu) =>\n menu.submenu.length > 0 ? (\n \n {menu.icon ? : null}\n {setLocale(localization, menu.title)}\n \n }\n >\n {menu.submenu.map((subMenuFirst) =>\n subMenuFirst.submenu.length > 0 ? (\n \n ) : null\n }\n title={setLocale(localization, subMenuFirst.title)}\n >\n {subMenuFirst.submenu.map((subMenuSecond) => (\n \n \n {setLocale(localization, subMenuSecond.title)}\n \n \n \n ))}\n \n ) : (\n \n {subMenuFirst.icon ? (\n \n ) : null}\n {setLocale(localization, subMenuFirst.title)}\n \n \n ),\n )}\n \n ) : (\n \n {menu.icon ? : null}\n {setLocale(localization, menu?.title)}\n {menu.path ? : null}\n \n ),\n )}\n \n );\n};\n\nconst MenuContent = (props) => {\n return props.type === NAV_TYPE_SIDE ? (\n \n ) : (\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { sideNavTheme, topNavColor } = theme;\n return { sideNavTheme, topNavColor };\n};\n\nexport default connect(mapStateToProps, { onMobileNavToggle })(MenuContent);\n","import React from \"react\";\nimport { Layout } from \"antd\";\nimport { connect } from \"react-redux\";\nimport {\n SIDE_NAV_WIDTH,\n SIDE_NAV_DARK,\n NAV_TYPE_SIDE,\n} from \"constants/ThemeConstant\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport MenuContent from \"./MenuContent\";\n\nconst { Sider } = Layout;\n\nexport const SideNav = ({\n navCollapsed,\n sideNavTheme,\n routeInfo,\n hideGroupTitle,\n localization = true,\n}) => {\n const props = { sideNavTheme, routeInfo, hideGroupTitle, localization };\n return (\n \n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { navCollapsed, sideNavTheme } = theme;\n return { navCollapsed, sideNavTheme };\n};\n\nexport default connect(mapStateToProps)(SideNav);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { NAV_TYPE_TOP } from \"constants/ThemeConstant\";\nimport utils from \"utils\";\nimport MenuContent from \"./MenuContent\";\n\nexport const TopNav = ({ topNavColor, localization = true }) => {\n const props = { topNavColor, localization };\n return (\n \n
\n \n
\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { topNavColor } = theme;\n return { topNavColor };\n};\n\nexport default connect(mapStateToProps)(TopNav);\n","import React from \"react\";\nimport {\n SIDE_NAV_WIDTH,\n SIDE_NAV_COLLAPSED_WIDTH,\n NAV_TYPE_TOP,\n} from \"constants/ThemeConstant\";\nimport { APP_NAME } from \"configs/AppConfig\";\nimport { connect } from \"react-redux\";\nimport utils from \"utils\";\nimport { Grid } from \"antd\";\n\nconst { useBreakpoint } = Grid;\n\nconst getLogoWidthGutter = (props, isMobile) => {\n const { navCollapsed, navType } = props;\n const isNavTop = navType === NAV_TYPE_TOP ? true : false;\n if (isMobile && !props.mobileLogo) {\n return 0;\n }\n if (isNavTop) {\n return \"auto\";\n }\n if (navCollapsed) {\n return `${SIDE_NAV_COLLAPSED_WIDTH}px`;\n } else {\n return `${SIDE_NAV_WIDTH}px`;\n }\n};\n\nconst getLogo = (props) => {\n const { navCollapsed, logoType } = props;\n if (logoType === \"light\") {\n if (navCollapsed) {\n return \"/img/logo-sm-white.png\";\n }\n return \"/img/logo-white.png\";\n }\n\n if (navCollapsed) {\n return \"/img/logo-sm.png\";\n }\n return \"/img/logo.png\";\n};\n\nconst getLogoDisplay = (isMobile, mobileLogo) => {\n if (isMobile && !mobileLogo) {\n return \"d-none\";\n } else {\n return \"logo\";\n }\n};\n\nexport const Logo = (props) => {\n const isMobile = !utils.getBreakPoint(useBreakpoint()).includes(\"lg\");\n return (\n \n {`${APP_NAME}\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { navCollapsed, navType } = theme;\n return { navCollapsed, navType };\n};\n\nexport default connect(mapStateToProps)(Logo);\n","import React from \"react\";\nimport { Drawer } from \"antd\";\nimport { connect } from \"react-redux\";\nimport { NAV_TYPE_SIDE } from \"constants/ThemeConstant\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport MenuContent from \"./MenuContent\";\nimport { onMobileNavToggle } from \"redux/actions/Theme\";\nimport Logo from \"./Logo\";\nimport Flex from \"components/shared-components/Flex\";\nimport { ArrowLeftOutlined } from \"@ant-design/icons\";\n\nexport const MobileNav = ({\n sideNavTheme,\n mobileNav,\n onMobileNavToggle,\n routeInfo,\n hideGroupTitle,\n localization = true,\n}) => {\n const props = { sideNavTheme, routeInfo, hideGroupTitle, localization };\n\n const onClose = () => {\n onMobileNavToggle(false);\n };\n\n return (\n \n \n \n \n
onClose()}>\n \n
\n
\n
\n \n \n \n
\n
\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { navCollapsed, sideNavTheme, mobileNav } = theme;\n return { navCollapsed, sideNavTheme, mobileNav };\n};\n\nexport default connect(mapStateToProps, { onMobileNavToggle })(MobileNav);\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { SketchPicker } from \"react-color\";\n\nconst ColorPicker = (props) => {\n const { colorChange, color = \"\" } = props;\n\n const [visible, setVisible] = useState(false);\n const [pickerColor, setPickerColor] = useState(color);\n const [boxColor, setBoxColor] = useState(color);\n\n useEffect(() => {\n setBoxColor(color);\n setPickerColor(color);\n }, [color]);\n\n const onPickerDropdown = () => {\n setVisible(!visible);\n };\n\n const onColorChange = (value) => {\n const { rgb } = value;\n const rgba = `rgb(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`;\n setBoxColor(rgba);\n setPickerColor(rgb);\n colorChange(value);\n };\n\n return (\n
\n
\n \n
\n {visible && (\n <>\n
\n \n \n )}\n
\n );\n};\n\nColorPicker.propTypes = {\n color: PropTypes.string,\n colorChange: PropTypes.func,\n};\n\nexport default ColorPicker;\n","import React from \"react\";\nimport { CheckOutlined, GlobalOutlined, DownOutlined } from \"@ant-design/icons\";\nimport { Menu, Dropdown } from \"antd\";\nimport lang from \"assets/data/language.data.json\";\nimport { connect } from \"react-redux\";\nimport { onLocaleChange } from \"redux/actions/Theme\";\n\nfunction getLanguageDetail(locale) {\n const data = lang.filter((elm) => elm.langId === locale);\n return data[0];\n}\n\nconst SelectedLanguage = ({ locale }) => {\n const language = getLanguageDetail(locale);\n const { langName, icon } = language;\n return (\n
\n \n \n {langName} \n \n
\n );\n};\n\nexport const NavLanguage = ({ locale, configDisplay, onLocaleChange }) => {\n const languageOption = (\n \n {lang.map((elm, i) => {\n return (\n onLocaleChange(elm.langId)}\n >\n \n
\n \n {elm.langName}\n
\n {locale === elm.langId ? (\n \n ) : null}\n
\n \n );\n })}\n
\n );\n return (\n \n {configDisplay ? (\n e.preventDefault()}>\n \n \n ) : (\n \n \n e.preventDefault()}>\n \n \n \n \n )}\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { locale } = theme;\n return { locale };\n};\n\nexport default connect(mapStateToProps, { onLocaleChange })(NavLanguage);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { Radio, Switch, Button, message, Input, Modal } from \"antd\";\nimport {\n toggleCollapsedNav,\n onNavTypeChange,\n onNavStyleChange,\n onTopNavColorChange,\n onHeaderNavColorChange,\n onSwitchTheme,\n onDirectionChange,\n} from \"redux/actions/Theme\";\nimport { CopyOutlined, KeyOutlined } from \"@ant-design/icons\";\nimport ColorPicker from \"components/shared-components/ColorPicker\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport NavLanguage from \"./NavLanguage\";\nimport {\n SIDE_NAV_LIGHT,\n NAV_TYPE_SIDE,\n NAV_TYPE_TOP,\n SIDE_NAV_DARK,\n DIR_RTL,\n DIR_LTR,\n} from \"constants/ThemeConstant\";\nimport { useThemeSwitcher } from \"react-css-theme-switcher\";\nimport utils from \"utils/index\";\nimport { API_MISCUpdatePass } from \"api/custom/branch\";\nimport { cookieGETAdminID } from \"cookie/general\";\n\nconst colorOptions = [\"#3e82f7\", \"#24a772\", \"#de4436\", \"#924aca\", \"#193550\"];\n\nconst ListOption = ({ name, selector, disabled, vertical }) => (\n \n \n {name}\n
\n
{selector}
\n \n);\n\nlet trigger = false;\nlet passString = \"\";\n\nexport const ThemeConfigurator = ({\n navType,\n sideNavTheme,\n navCollapsed,\n topNavColor,\n headerNavColor,\n locale,\n currentTheme,\n toggleCollapsedNav,\n onNavTypeChange,\n onNavStyleChange,\n onTopNavColorChange,\n onHeaderNavColorChange,\n onSwitchTheme,\n direction,\n onDirectionChange,\n}) => {\n const isNavTop = navType === NAV_TYPE_TOP ? true : false;\n const isCollapse = navCollapsed;\n\n const { switcher, themes } = useThemeSwitcher();\n\n const toggleTheme = (isChecked) => {\n onHeaderNavColorChange(\"\");\n const changedTheme = isChecked ? \"dark\" : \"light\";\n onSwitchTheme(changedTheme);\n switcher({ theme: themes[changedTheme] });\n };\n\n const ontopNavColorClick = (value) => {\n onHeaderNavColorChange(\"\");\n const { rgb } = value;\n const rgba = `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`;\n const hex = utils.rgbaToHex(rgba);\n onTopNavColorChange(hex);\n };\n const onHeaderNavColorClick = (value) => {\n const { rgb } = value;\n const rgba = `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`;\n const hex = utils.rgbaToHex(rgba);\n onHeaderNavColorChange(hex);\n };\n\n const onNavTypeClick = (value) => {\n onHeaderNavColorChange(\"\");\n if (value === NAV_TYPE_TOP) {\n onTopNavColorChange(colorOptions[0]);\n toggleCollapsedNav(false);\n }\n onNavTypeChange(value);\n };\n\n const handleClick = (value) => {\n trigger = !value;\n onHeaderNavColorChange(\"#FFFFFEFF\");\n };\n\n const handleOk = () => {\n let data = { name: \"till_pass\", value: passString };\n API_MISCUpdatePass(data);\n trigger = !trigger;\n onHeaderNavColorChange(\"#FFFFFFFF\");\n };\n\n const handleCancel = () => {\n trigger = !trigger;\n onHeaderNavColorChange(\"#FFFFFFFF\");\n };\n\n const genCopySettingJson = (configState) =>\n JSON.stringify(configState, null, 2);\n\n return (\n <>\n
\n

Navigation

\n {isNavTop ? (\n \n }\n />\n ) : (\n \n }\n />\n )}\n\n onNavTypeClick(e.target.value)}\n value={navType}\n >\n Side\n Top\n \n }\n />\n onNavStyleChange(e.target.value)}\n value={sideNavTheme}\n >\n Light\n Dark\n \n }\n disabled={isNavTop}\n />\n toggleCollapsedNav(!navCollapsed)}\n />\n }\n disabled={isNavTop}\n />\n \n }\n />\n onDirectionChange(e.target.value)}\n value={direction}\n >\n LTR\n RTL\n \n }\n />\n
\n {/*
\n\t\t\t\t

Locale

\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t
*/}\n
\n \n message.success(\n \"Copy Success, please paste it to src/configs/AppConfig.js THEME_CONFIG variable.\"\n )\n }\n >\n \n \n
\n {cookieGETAdminID() === 2 ? (\n
\n }\n block\n onClick={() => handleClick(trigger)}\n >\n Change Till Password\n \n \n
\n
New Password:
\n (passString = e.target.value)}>\n
\n \n
\n ) : (\n \"\"\n )}\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const {\n navType,\n sideNavTheme,\n navCollapsed,\n topNavColor,\n headerNavColor,\n locale,\n currentTheme,\n direction,\n } = theme;\n return {\n navType,\n sideNavTheme,\n navCollapsed,\n topNavColor,\n headerNavColor,\n locale,\n currentTheme,\n direction,\n };\n};\n\nconst mapDispatchToProps = {\n toggleCollapsedNav,\n onNavTypeChange,\n onNavStyleChange,\n onTopNavColorChange,\n onHeaderNavColorChange,\n onSwitchTheme,\n onDirectionChange,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ThemeConfigurator);\n","import React, { Component } from \"react\";\nimport { SettingOutlined } from \"@ant-design/icons\";\nimport { Drawer, Menu } from \"antd\";\nimport ThemeConfigurator from \"./ThemeConfigurator\";\nimport { connect } from \"react-redux\";\nimport { DIR_RTL } from \"constants/ThemeConstant\";\n\nexport class NavPanel extends Component {\n state = { visible: false };\n\n showDrawer = () => {\n this.setState({\n visible: true,\n });\n };\n\n onClose = () => {\n this.setState({\n visible: false,\n });\n };\n\n render() {\n return (\n <>\n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nconst mapStateToProps = ({ theme }) => {\n const { locale } = theme;\n return { locale };\n};\n\nexport default connect(mapStateToProps)(NavPanel);\n","import React, { useState, useRef } from \"react\";\nimport {\n DashboardOutlined,\n AppstoreOutlined,\n AntDesignOutlined,\n FileTextOutlined,\n SearchOutlined,\n} from \"@ant-design/icons\";\nimport { Link } from \"react-router-dom\";\nimport { AutoComplete, Input } from \"antd\";\nimport IntlMessage from \"components/util-components/IntlMessage\";\nimport navigationConfig from \"configs/NavigationConfig\";\n\nfunction getOptionList(navigationTree, optionTree) {\n optionTree = optionTree ? optionTree : [];\n for (const navItem of navigationTree) {\n if (navItem.submenu.length === 0) {\n optionTree.push(navItem);\n }\n if (navItem.submenu.length > 0) {\n getOptionList(navItem.submenu, optionTree);\n }\n }\n return optionTree;\n}\n\nconst optionList = getOptionList(navigationConfig);\n\nconst getCategoryIcon = (category) => {\n switch (category) {\n case \"dashboards\":\n return ;\n case \"apps\":\n return ;\n case \"components\":\n return ;\n case \"extra\":\n return ;\n default:\n return null;\n }\n};\n\nconst searchResult = () =>\n optionList.map((item) => {\n const category = item.key.split(\"-\")[0];\n return {\n value: item.path,\n label: (\n \n
\n
{getCategoryIcon(category)}
\n
\n
\n \n
\n
{category}
\n
\n
\n \n ),\n };\n });\n\nconst SearchInput = (props) => {\n const { active, close, isMobile, mode } = props;\n const [value, setValue] = useState(\"\");\n const [options, setOptions] = useState([]);\n const inputRef = useRef(null);\n\n const onSelect = () => {\n setValue(\"\");\n setOptions([]);\n if (close) {\n close();\n }\n };\n\n const onSearch = (searchText) => {\n setValue(searchText);\n setOptions(!searchText ? [] : searchResult(searchText));\n };\n\n const autofocus = () => {\n inputRef.current.focus();\n };\n\n if (active) {\n autofocus();\n }\n\n return (\n \n option.value.toUpperCase().indexOf(inputValue.toUpperCase()) !== -1\n }\n >\n }\n />\n \n );\n};\n\nexport default SearchInput;\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { CloseOutlined } from \"@ant-design/icons\";\nimport utils from \"utils\";\nimport SearchInput from \"./SearchInput\";\n\nexport const NavSearch = (props) => {\n const { active, close, headerNavColor } = props;\n const mode = utils.getColorContrast(headerNavColor);\n\n return (\n \n
\n \n
\n
\n \n
\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const { headerNavColor } = theme;\n return { headerNavColor };\n};\n\nexport default connect(mapStateToProps, {})(NavSearch);\n","import React, { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Layout, Menu } from \"antd\";\nimport {\n MenuFoldOutlined,\n MenuUnfoldOutlined,\n SearchOutlined,\n} from \"@ant-design/icons\";\nimport Logo from \"./Logo\";\nimport NavPanel from \"./NavPanel\";\nimport NavSearch from \"./NavSearch\";\nimport SearchInput from \"./NavSearch/SearchInput.js\";\nimport { toggleCollapsedNav, onMobileNavToggle } from \"redux/actions/Theme\";\nimport {\n NAV_TYPE_TOP,\n SIDE_NAV_COLLAPSED_WIDTH,\n SIDE_NAV_WIDTH,\n} from \"constants/ThemeConstant\";\nimport utils from \"utils\";\nimport { LogoutOutlined } from \"@ant-design/icons\";\nimport { cookieDELETEAuthenticator, cookieGETAdminName } from \"cookie/general\";\n\nconst { Header } = Layout;\n\nexport const HeaderNav = (props) => {\n const {\n navCollapsed,\n mobileNav,\n navType,\n headerNavColor,\n toggleCollapsedNav,\n onMobileNavToggle,\n isMobile,\n currentTheme,\n direction,\n } = props;\n const [searchActive, setSearchActive] = useState(false);\n\n const onSearchActive = () => {\n setSearchActive(true);\n };\n\n const onSearchClose = () => {\n setSearchActive(false);\n };\n\n const onToggle = () => {\n if (!isMobile) {\n toggleCollapsedNav(!navCollapsed);\n } else {\n onMobileNavToggle(!mobileNav);\n }\n };\n\n const isNavTop = navType === NAV_TYPE_TOP ? true : false;\n const mode = () => {\n if (!headerNavColor) {\n return utils.getColorContrast(\n currentTheme === \"dark\" ? \"#00000\" : \"#ffffff\",\n );\n }\n return utils.getColorContrast(headerNavColor);\n };\n const navMode = mode();\n const getNavWidth = () => {\n if (isNavTop || isMobile) {\n return \"0px\";\n }\n if (navCollapsed) {\n return `${SIDE_NAV_COLLAPSED_WIDTH}px`;\n } else {\n return `${SIDE_NAV_WIDTH}px`;\n }\n };\n\n useEffect(() => {\n if (!isMobile) {\n onSearchClose();\n }\n });\n\n const onLogout = () => {\n cookieDELETEAuthenticator();\n };\n\n return (\n \n
\n \n
\n
\n
    \n {isNavTop && !isMobile ? null : (\n {\n onToggle();\n }}\n >\n {navCollapsed || isMobile ? (\n \n ) : (\n \n )}\n \n )}\n {isMobile ? (\n {\n onSearchActive();\n }}\n >\n \n \n ) : (\n \n \n \n )}\n
\n
\n
\n \n \n Hello, {cookieGETAdminName()}\n \n onLogout()}>\n \n \n \n \n
\n \n
\n
\n \n );\n};\n\nconst mapStateToProps = ({ theme }) => {\n const {\n navCollapsed,\n navType,\n headerNavColor,\n mobileNav,\n currentTheme,\n direction,\n } = theme;\n return {\n navCollapsed,\n navType,\n headerNavColor,\n mobileNav,\n currentTheme,\n direction,\n };\n};\n\nexport default connect(mapStateToProps, {\n toggleCollapsedNav,\n onMobileNavToggle,\n})(HeaderNav);\n","import React, { Component } from \"react\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport { Breadcrumb } from \"antd\";\nimport navigationConfig from \"configs/NavigationConfig\";\nimport IntlMessage from \"components/util-components/IntlMessage\";\n\nlet breadcrumbData = {\n \"/app\": ,\n};\n\nnavigationConfig.forEach((elm, i) => {\n const assignBreadcrumb = (obj) =>\n (breadcrumbData[obj.path] = );\n assignBreadcrumb(elm);\n if (elm.submenu) {\n elm.submenu.forEach((elm) => {\n assignBreadcrumb(elm);\n if (elm.submenu) {\n elm.submenu.forEach((elm) => {\n assignBreadcrumb(elm);\n });\n }\n });\n }\n});\n\nconst BreadcrumbRoute = withRouter((props) => {\n const { location } = props;\n const pathSnippets = location.pathname.split(\"/\").filter((i) => i);\n const buildBreadcrumb = pathSnippets.map((_, index) => {\n const url = `/${pathSnippets.slice(0, index + 1).join(\"/\")}`;\n return (\n \n {breadcrumbData[url]}\n \n );\n });\n\n return {buildBreadcrumb};\n});\n\nexport class AppBreadcrumb extends Component {\n render() {\n return ;\n }\n}\n\nexport default AppBreadcrumb;\n","import React from \"react\";\nimport AppBreadcrumb from \"components/layout-components/AppBreadcrumb\";\nimport IntlMessage from \"../util-components/IntlMessage\";\n\nexport const PageHeader = ({ title, display }) => {\n return display ? (\n
\n

\n \n

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