{"version":3,"sources":["store/companyInfo/actions.js","store/layout/actions.js","store/shop/actions.js","utils/reduxsauce/createTypes.js","utils/reduxsauce/createActions.js","utils/reduxsauce/resettableReducer.js","utils/reduxsauce/index.js","utils/reduxsauce/Types.js","store/auth/actions.js","utils/reduxsauce/createReducer.js","utils/genState.js","store/categories/actions.js","utility/context/ThemeColors.js","utility/context/Can.js","@core/components/spinner/Fallback-spinner.js","services/setting/index.js","utility/context/Internationalization.js","assets/images/logo/mainlogoCrop.png","store/lookups/actions.js","store/governorate/actions.js","store/transactions/actions.js","store/userManagement/reducer.js","store/setting/reducer.js","store/categories/reducer.js","store/unit/reducer.js","store/transactions/reducer.js","store/packTypes/reducer.js","store/lookups/reducer.js","store/companyInfo/reducer.js","store/advertisements/reducer.js","store/governorate/reducer.js","store/city/reducer.js","store/shop/reducer.js","store/dashboard/reducer.js","store/city/actions.js","store/unit/actions.js","store/packTypes/actions.js","store/advertisements/actions.js","../ /^/.//.*//messages/.po$/ groupOptions: {} namespace object","store/layout/reducer.js","store/navbar/reducer.js","store/auth/reducer.js","store/reducers.js","services/storage.js","utils/genLogic.js","store/app/logic.js","store/auth/logic.js","store/userManagement/logic.js","store/setting/logic.js","components/shared/customSweetAlert.js","store/categories/logic.js","store/unit/logic.js","store/packTypes/logic.js","store/companyInfo/logic.js","store/lookups/logic.js","store/advertisements/logic.js","store/transactions/logic.js","store/governorate/logic.js","store/shop/logic.js","store/city/logic.js","store/dashboard/logic.js","store/logics.js","services/auth/index.js","services/userManagement/index.js","services/transactions/index.js","services/categories/index.js","services/packTypes/index.js","services/unit/index.js","services/companyInfo/index.js","services/lookups/index.js","services/advertisement/index.js","services/governorate/index.js","services/shop/index.js","services/city/index.js","services/dashboard/index.js","services/index.js","store/index.js","store/configureStore.js","@core/components/ripple-button/index.js","serviceWorker.js","configs/permission/userAbitlity.js","configs/permission/userPermission.jsx","utility/providers/SignalRProvider.js","utility/hooks/useSignalR.js","components/TransKeyNotFound.js","index.js","store/constants.js","store/app/reducer.js","store/app/actions.js","store/SupportedLocales.js","store/setting/actions.js","store/dashboard/actions.js","configs/themeConfig.js","store/userManagement/actions.js","configs/index.js"],"names":["createActions","getCompanyInfo","args","meta","async","saveCompanyInfo","showDialog","showDeleteDialog","resetDialog","prefix","Types","Creators","ActionTypes","handleRtl","handleMenuHidden","handleMenuCollapsed","LayoutActions","getShops","getShopWithId","addShop","editShop","deleteShop","addTargets","addTargetsList","getTargets","getConsultants","getConsultantsWithShopId","addConsultant","editConsultant","deleteConsultant","setShop","setTargetsList","isNilOrEmpty","anyPass","isNil","isEmpty","defaultOptions","types","options","Error","merge","pipe","trim","split","map","reject","x","fromPairs","camelToScreamingSnake","replace","toUpper","convertToTypes","config","opts","successPostfix","failPostfix","keys","k","_config","flatten","join","createTypes","convertToCreators","creators","mapObjIndexed","num","key","value","name","type","is","Array","values","extraProps","zipObj","Object","defaultProps","valueObject","providedProps","pick","successKey","failKey","success","toUpperCase","fail","length","_value","isArray","done","payload","error","createActionCreator","curry","typeToReset","originalReducer","String","resetState","undefined","state","action","cr","emptyObj","DEFAULT","login","updateToken","getNotifications","addNotification","logout","setAuthToken","readNotification","updateProfile","changePassword","resetChangePassword","updateUserScore","AuthActions","initialState","handlers","any","equals","has","handler","defaultState","stateName","defaults","extraPropsState","a","setState","isPaginated","produce","draft","setStateSuccess","successCb","items","metadata","setStateFail","failCb","bindReducers","actionTypes","actionName","reducers","bindSyncReducers","doneCb","setSyncState","getAllCategories","getCategoryWithId","addCategory","editCategory","deleteCategory","addProduct","editProduct","deleteProduct","addFeatuerdPack","changeTarget","savePackPosition","ThemeColors","createContext","ThemeContext","children","useState","colors","setColors","useEffect","window","getHex","color","getComputedStyle","document","body","getPropertyValue","obj","primary","light","concat","main","secondary","danger","warning","info","dark","Provider","AbilityContext","createContextualCan","Consumer","SpinnerComponent","className","src","themeConfig","app","appLogoImage","alt","width","api","settings","getSettings","get","editSetting","id","put","editAllSettings","Context","dynamicActivate","locale","messages","i18n","load","activate","loadLocaleData","result","locales","plurals","plurs","loadedLocales","IntlProviderWrapper","lang","localStorage","getItem","currentLang","find","l","default","code","setLocale","dispatch","useDispatch","AppActions","changeLocale","switchLanguage","defaultLocale","getUnitsTypes","getRegions","createRegion","editRegion","deleteRegion","getAllGovernorate","createGovernorate","editGovernorate","deleteGovernorate","getTransactions","getExportedTransactions","getShopsTransactions","getAllTransactions","getTransactionWithId","selectedUser","openDialog","openDeleteDialog","userCreatedSuccess","users","reducer","createReducer","filter","user_errors","user","regionManager","roles","userIndex","findIndex","u","roleIndex","settingIndex","categories","parentCategoryId","c","subCategories","changed","categoryIndex","category","products","productIndex","p","packs","isFeatured","sp","ptoductIndex","splice","packPosition","packIndex","data","target","brand_errors","units","unitIndex","invoices","purchases","allTransactions","packTypes","packTypeIndex","regions","index","r","advertisement","governorates","cities","consultants","shop","shops","s","targetsList","getAllCities","createCity","editCity","deleteCity","getAllUnits","addUnit","editUnit","deleteUnit","getAllPackTypes","addPackType","editPackType","deletePackType","getAdvertisement","addAdvertisement","editAdvertisement","deleteAdvertisement","setAdvertisement","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","ids","t","module","exports","isRTL","layout","menuCollapsed","item","JSON","parse","menu","isCollapsed","initialMenuCollapsed","menuHidden","isHidden","contentWidth","layoutReducer","suggestions","bookmarks","query","navbarReducer","val","objectToUpdate","isBookmarked","bookmarkIndex","push","isLoggedIn","token","loginError","notifications","authReducer","jwtDecoder","loginLoading","role","some","toLowerCase","setItem","stringify","active","removeItem","changePassword_errors","score","LOGOUT","GET_NOTIFICATIONS","GET_NOTIFICATIONS_SUCCESS","GET_NOTIFICATIONS_FAIL","message","ADD_NOTIFICATION","notify","READ_NOTIFICATION","READ_NOTIFICATION_SUCCESS","forEach","notifyId","notficiationId","read","READ_NOTIFICATION_FAIL","rootPersistConfig","storage","blacklist","Storage","normalizeActionName","console","pop","i","charAt","substring","_validateApi","apiNamespace","api_name","logic","successMessage","errorMessage","showSuccessMessage","showErrorMessage","createLogic","latest","process","getState","res","ok","toast","status","authActions","reset","_errorMsg","errors","errorCode","PING","GET_COUNTRIES","GET_CITIES","getNotificationsLogic","auth","loginRequest","readNotificationLogic","loginLogic","LOGIN","jwtDecode","includes","CHANGE_PASSWORD","UPDATE_PROFILE","getCustomersLogic","GET_CUSTOMERS","getUsersLogic","GET_USERS","getUserLogic","GET_USER","getPermissionsLogic","GET_PERMISSIONS","createUserLogic","CREATE_USER","createUsersLogic","CREATE_USERS","createAppUserLogic","CREATE_APP_USER","createRoleLogic","CREATE_ROLE","getRolesLogic","GET_ROLES","getRoleLogic","GET_ROLE","deleteUserLogic","DELETE_USER","editUserLogic","EDIT_USER","editRoleLogic","EDIT_ROLE","deleteRoleLogic","DELETE_ROLE","getRegionManagersLogic","GET_REGION_MANAGERS","getUnassignedRegionManagersLogic","GET_UNASSIGNED_REGION_MANAGERS","GET_REGION_MANAGER","CREATE_REGION_MANAGER","EDIT_REGION_MANAGER","DELETE_REGION_MANAGER","GET_SHOP_CONSULTANTS","GET_SETTINGS","EDIT_SETTING","EDIT_ALL_SETTINGS","MySwal","withReactContent","Swal","customSweetAlert","title","html","text","icon","confirmButtonClasses","confirmButtonText","animation","callBack","fire","customClass","confirmButton","showClass","popup","buttonsStyling","GET_ALL_CATEGORIES","GET_CATEGORY_WITH_ID","ADD_CATEGORY","EDIT_CATEGORY","DELETE_CATEGORY","ADD_PRODUCT","EDIT_PRODUCT","DELETE_PRODUCT","ADD_FEATUERD_PACK","CHANGE_TARGET","GET_ALL_UNITS","ADD_UNIT","EDIT_UNIT","DELETE_UNIT","GET_ALL_PACK_TYPES","ADD_PACK_TYPE","EDIT_PACK_TYPE","DELETE_PACK_TYPE","GET_COMPANY_INFO","SAVE_COMPANY_INFO","GET_UNITS_TYPES","GET_REGIONS","CREATE_REGION","EDIT_REGION","DELETE_REGION","GET_ADVERTISEMENT","ADD_ADVERTISEMENT","EDIT_ADVERTISEMENT","DELETE_ADVERTISEMENT","getTransactionsLogic","GET_TRANSACTIONS","getShopsTransactionsLogic","GET_SHOPS_TRANSACTIONS","getExportedTransactionsLogic","GET_EXPORTED_TRANSACTIONS","GET_ALL_TRANSACTIONS","GET_TRANSACTION_WITH_ID","GET_ALL_GOVERNORATE","CREATE_GOVERNORATE","EDIT_GOVERNORATE","DELETE_GOVERNORATE","getShopsLogic","GET_SHOPS","getShopWithIdLogic","GET_SHOP_WITH_ID","addTargetsLogic","ADD_TARGETS","addTargetsListLogic","ADD_TARGETS_LIST","getTargetsLogic","GET_TARGETS","ADD_SHOP","EDIT_SHOP","DELETE_SHOP","GET_CONSULTANTS","GET_CONSULTANTS_WITH_SHOP_ID","ADD_CONSULTANT","EDIT_CONSULTANT","DELETE_CONSULTANT","GET_ALL_CITIES","CREATE_CITY","EDIT_CITY","DELETE_CITY","GET_GENERAL_INFO","GET_PRODUCTS","appLogic","authLogic","usersLogic","settingLogic","categoriesLogic","unitsLogic","lookupsLogic","packTypesLogic","companyInfoLogic","advertisementsLogic","transactionsLogic","governoratesLogic","citiesLogic","shopsLogic","dashboardLogic","post","accessToken","paging","userManegment","getUsers","getUser","createUser","createUsers","createAppUser","deleteUser","delete","getRoles","editUser","createRole","getPermissions","deleteRole","editRole","getRole","getCustomers","getRegionManagers","createRegionManager","editRegionManager","getRegionManager","deleteRegionManager","getUnassignedRegionManagers","getShopConsultants","transactions","companyInfos","lookups","log","advertisements","Cities","dashboard","getGeneralInfo","getProducts","apiURI","baseURL","apisauce","create","headers","timeout","addAsyncResponseTransform","response","customeError","addAsyncRequestTransform","request","culture","cultureCode","userIp","authApi","usersApi","settingsApi","categoriesApi","packTypesApi","unitApi","transactionsApi","companyInfoApi","lookupsApi","advertisementApi","governorateApi","cityApi","shopApi","dashboardApi","setHeader","setHeaders","history","createBrowserHistory","injectedApi","API","logicMiddleware","createLogicMiddleware","logics","middlewares","routerMiddleware","enhancers","applyMiddleware","composeEnhancers","compose","rootReducer","asyncReducers","persistReducer","combineReducers","router","connectRouter","require","navbar","store","createStore","persistedStore","persistStore","configureStore","Button","Ripple","onClick","rest","mounted","setMounted","isRippling","setIsRippling","y","coords","setCoords","setTimeout","classnames","rect","getBoundingClientRect","clientX","left","clientY","top","style","Boolean","location","hostname","match","permissions","this","updateValues","permission","SignalProvider","React","SignalRProvider","props","connection","signalR","withUrl","baseUrl","accessTokenFactory","withAutomaticReconnect","configureLogging","Debug","build","connect","conn","start","catch","sleep","msec","startHub","err","onclose","onReceiveNotify","on","closeHub","stop","useSignalR","useSelector","TransKeyNotFound","LazyApp","lazy","ReactDOM","render","fallback","userAbility","newestOnTop","getElementById","navigator","serviceWorker","ready","registration","unregister","DEFAULT_DIRECTION","DIRECTIONS","LTR","supportedLocales","direction","defaultCurrency","priceDisplay","lastPing","isLoadingHotels","theme","sidebarCollapsed","navbarColor","navbarType","footerType","disableCustomizer","hideScrollToTop","menuTheme","extraStarred","starred","defaultLat","defaultLong","defaultZoom","_locale","getElementsByTagName","setAttribute","textAlign","ping","changeCurrency","changePriceDisplay","setIsLoading","clearIsLoading","getCountries","getCities","flag","appName","skin","routerTransition","backgroundColor","footer","customizer","scrollTop","setUser","useLocalApi","appTitle","appDescription","devApiRoot","pageOptions","contactPhone","contactMail","addressOnMap","gen_password_length","gen_password_characters"],"mappings":"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","file":"static/js/main.45d69198.chunk.js","sourcesContent":["import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n\n getCompanyInfo: { args: [], meta: { async: true } },\n saveCompanyInfo: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/CompanyInfos/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","// ** Handles Layout Content Width (full / boxed)\nexport const handleContentWidth = value => dispatch => dispatch({ type: 'HANDLE_CONTENT_WIDTH', value })\n\n// ** Handles Menu Collapsed State (Bool)\nexport const handleMenuCollapsed = value => dispatch => dispatch({ type: 'HANDLE_MENU_COLLAPSED', value })\n\n// ** Handles Menu Hidden State (Bool)\n// export const handleMenuHidden = value => dispatch => dispatch({ type: 'HANDLE_MENU_HIDDEN', value })\n\n// ** Handles RTL (Bool)\n// export const handleRTL = value => dispatch => dispatch({ type: 'HANDLE_RTL', value })\n\nimport { createActions } from \"src/utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n handleRtl: { args: [\"payload\"] },\n handleMenuHidden: { args: [\"payload\"] },\n handleMenuCollapsed: { args: [\"payload\"] },\n },\n {\n prefix: \"@app/layout/\"\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const LayoutActions = Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getShops: { args: [\"payload\"], meta: { async: true } },\n getShopWithId: { args: [\"payload\"], meta: { async: true } },\n addShop: { args: [\"payload\"], meta: { async: true } },\n editShop: { args: [\"payload\"], meta: { async: true } },\n deleteShop: { args: [\"payload\"], meta: { async: true } },\n addTargets: { args: [\"payload\"], meta: { async: true } },\n addTargetsList: { args: [\"payload\"], meta: { async: true } },\n getTargets: { args: [\"payload\"], meta: { async: true } },\n\n\n //consultants\n getConsultants: { args: [\"payload\"], meta: { async: true } },\n getConsultantsWithShopId: { args: [\"payload\"], meta: { async: true } },\n addConsultant: { args: [\"payload\"], meta: { async: true } },\n editConsultant: { args: [\"payload\"], meta: { async: true } },\n deleteConsultant: { args: [\"payload\"], meta: { async: true } },\n\n setShop: { args: [\"payload\"], meta: { async: false } },\n setTargetsList: { args: [\"payload\"], meta: { async: false } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Shops/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import pipe from \"ramda/es/pipe\";\nimport trim from \"ramda/es/trim\";\nimport merge from \"ramda/es/merge\";\nimport split from \"ramda/es/split\";\nimport reject from \"ramda/es/reject\";\nimport map from \"ramda/es/map\";\nimport fromPairs from \"ramda/es/fromPairs\";\nimport anyPass from \"ramda/es/anyPass\";\nimport isNil from \"ramda/es/isNil\";\nimport isEmpty from \"ramda/es/isEmpty\";\n\nconst isNilOrEmpty = anyPass([isNil, isEmpty]);\n\nconst defaultOptions = {\n prefix: \"\"\n};\n\nexport default (types, options = {}) => {\n if (isNilOrEmpty(types)) throw new Error(\"valid types are required\");\n\n const { prefix } = merge(defaultOptions, options);\n\n return pipe(\n trim,\n split(/\\s/),\n map(trim),\n reject(isNilOrEmpty),\n map(x => [x, prefix + x]),\n fromPairs\n )(types);\n};\n","import createTypes from \"./createTypes\";\nimport is from \"ramda/es/is\";\nimport isNil from \"ramda/es/isNil\";\nimport isEmpty from \"ramda/es/isEmpty\";\nimport join from \"ramda/es/join\";\nimport keys from \"ramda/es/keys\";\nimport map from \"ramda/es/map\";\nimport mapObjIndexed from \"ramda/es/mapObjIndexed\";\nimport merge from \"ramda/es/merge\";\nimport pick from \"ramda/es/pick\";\nimport pipe from \"ramda/es/pipe\";\nimport replace from \"ramda/es/replace\";\nimport toUpper from \"ramda/es/toUpper\";\nimport zipObj from \"ramda/es/zipObj\";\nimport flatten from \"ramda/es/flatten\";\n\nconst defaultOptions = {\n prefix: \"\"\n};\n\n// matches each word in a camelCaseString (except the first)\n// consecutive capitals are treated as one word\nconst RX_CAPS = /(?!^)([A-Z][a-z]+|[A-Z]+(?=[A-Z]|\\b))/g;\n\n// converts a camelCaseWord into a SCREAMING_SNAKE_CASE word\nconst camelToScreamingSnake = pipe(\n replace(RX_CAPS, \"_$1\"),\n toUpper\n);\n\n// build Action Types out of an object\nconst convertToTypes = (config, options) => {\n const opts = merge(defaultOptions, options);\n const { successPostfix, failPostfix } = opts;\n\n return pipe(\n keys, // just the keys\n keys => {\n return keys.map(k => {\n const _config = config[k];\n if (_config && _config.meta && _config.meta.async) {\n return [k, `${k}${successPostfix || \"Success\"}`, `${k}${failPostfix || \"Fail\"}`];\n } else return k;\n });\n },\n flatten,\n map(camelToScreamingSnake), // CONVERT_THEM\n join(\" \"), // space separated\n types => createTypes(types, opts) // make them into Redux Types\n )(config);\n};\n\n// an action creator with additional properties\nconst createActionCreator = (name, config, options) => {\n const { prefix } = merge(defaultOptions, options);\n // types are upcase and snakey\n const type = `${prefix}${camelToScreamingSnake(name)}`;\n\n const { args, meta } = config;\n const creators = {};\n\n // do we need extra props for this?\n const noKeys = isNil(args) || isEmpty(args);\n\n // a type-only action creator\n if (noKeys) {\n creators[name] = () => ({ type, meta: { ...meta } });\n }\n // an action creator with type + properties\n // \"properties\" is defined as an array of prop names\n else if (is(Array, args)) {\n creators[name] = (...values) => {\n const extraProps = zipObj(args, values);\n return { type, ...extraProps, meta: { ...meta } };\n };\n }\n // an action creator with type + properties\n // \"properties\" is defined as an object of {prop name: default value}\n else if (is(Object, args)) {\n const defaultProps = args;\n creators[name] = valueObject => {\n const providedProps = pick(Object.keys(defaultProps), valueObject);\n return { type, ...defaultProps, ...providedProps, meta: { ...meta } };\n };\n }\n\n if (isEmpty(creators)) {\n throw new Error(\"action props must be a null/array/object/function\");\n }\n\n if (meta && meta.async) {\n const { successPostfix, failPostfix } = options;\n\n const successKey = `${name}${successPostfix || \"Success\"}`;\n const failKey = `${name}${failPostfix || \"Fail\"}`;\n const success = `${prefix}${camelToScreamingSnake(name)}_${(successPostfix || \"success\").toUpperCase()}`;\n const fail = `${prefix}${camelToScreamingSnake(name)}_${(failPostfix || \"fail\").toUpperCase()}`;\n\n creators[successKey] = (...values) => {\n if (values && values.length === 1) {\n const _value = values[0];\n if (Array.isArray(_value)) {\n return { type: success, meta: { done: true }, payload: _value };\n } else {\n return { type: success, meta: { done: true }, payload: { ...values[0] } };\n }\n } else {\n return { type: success, meta: { done: true }, payload: { ...flatten(values) } };\n }\n };\n\n creators[failKey] = error => {\n return { type: fail, meta: { done: true }, error };\n };\n }\n\n return creators;\n};\n\n// build Action Creators out of an objet\nconst convertToCreators = (config, options) => {\n let creators = {};\n mapObjIndexed((num, key, value) => {\n if (typeof value[key] === \"function\") {\n // the user brought their own action creator\n creators[key] = value[key];\n } else {\n // lets make an action creator for them!\n creators = merge(creators, { ...createActionCreator(key, value[key], options) });\n }\n })(config);\n\n return creators;\n};\n\nexport default (config, options) => {\n const emptyObj = {\n Types: undefined,\n Creators: undefined\n };\n if (isNil(config)) {\n return emptyObj;\n throw new Error(\"an object is required to setup types and creators\");\n }\n if (isEmpty(config)) {\n return emptyObj;\n throw new Error(\"empty objects are not supported\");\n }\n\n return {\n Types: convertToTypes(config, options),\n Creators: convertToCreators(config, options)\n };\n};\n","import curry from \"ramda/es/curry\";\nimport is from \"ramda/es/is\";\n/**\n * Allows your reducers to be reset.\n *\n * @param {string} typeToReset - The action type to listen for.\n * @param {function} originalReducer - The reducer to wrap.\n */\nfunction resettableReducer(typeToReset, originalReducer) {\n // a valid type is required\n if (!is(String, typeToReset) || typeToReset === \"\") {\n throw new Error(\"A valid reset type is required.\");\n }\n\n // an original reducer is required\n if (typeof originalReducer !== \"function\") {\n throw new Error(\"A reducer is required.\");\n }\n // run it through first to get what the default state should be\n let resetState = originalReducer(undefined, {});\n\n // create our own reducer that wraps the original one and hijacks the reset\n function reducer(state = resetState, action) {\n if (action && action.type === typeToReset) {\n return resetState;\n } else {\n return originalReducer(state, action);\n }\n }\n return reducer;\n}\n\nexport default curry(resettableReducer);\n","import cr from \"./createReducer\";\nimport ct from \"./createTypes\";\nimport ca from \"./createActions\";\nimport rr from \"./resettableReducer\";\nimport * as Types from \"./Types\";\n\nexport const createReducer = cr;\nexport const createTypes = ct;\nexport const createActions = ca;\nexport const resettableReducer = rr;\nexport { Types };\n","export const DEFAULT = \"REDUXSAUCE.DEFAULT\";\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n login: { args: [\"payload\"], meta: { async: true } },\n updateToken: { args: [\"payload\"], meta: { async: false } },\n getNotifications: { args: [\"pagin\"], meta: { async: true } },\n addNotification: { args: [\"notify\"] },\n logout: { args: [\"token\"] },\n setAuthToken: { args: [\"token\"], meta: { async: false } },\n readNotification:{ args: [\"payload\"], meta: { async: true } },\n updateProfile:{ args: [\"payload\"], meta: { async: true } },\n changePassword:{ args: [\"payload\"], meta: { async: true } },\n resetChangePassword:{ args: [\"payload\"]},\n updateUserScore:{ args: [\"payload\"]}\n },\n {\n prefix: \"@app/auth/\"\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\nexport const AuthActions=Creators;","import isNil from \"ramda/es/isNil\";\nimport is from \"ramda/es/is\";\nimport has from \"ramda/es/has\";\nimport any from \"ramda/es/any\";\nimport equals from \"ramda/es/equals\";\nimport keys from \"ramda/es/keys\";\n\nimport { DEFAULT } from \"./Types\";\n/**\n Creates a reducer.\n @param {string} initialState - The initial state for this reducer.\n @param {object} handlers - Keys are action types (strings), values are reducers (functions).\n @return {object} A reducer object.\n */\nexport default (initialState, handlers) => {\n // initial state is required\n if (isNil(initialState)) {\n throw new Error(\"initial state is required\");\n }\n\n // handlers must be an object\n if (isNil(handlers) || !is(Object, handlers)) {\n throw new Error(\"handlers must be an object\");\n }\n\n // handlers cannot have an undefined key\n if (any(equals(\"undefined\"))(keys(handlers))) {\n throw new Error(\"handlers cannot have an undefined key\");\n }\n\n // create the reducer function\n return (state = initialState, action) => {\n // wrong actions, just return state\n if (isNil(action)) return state;\n if (!has(\"type\", action)) return state;\n\n // look for the handler\n const handler = handlers[action.type] || handlers[DEFAULT];\n\n // no handler no cry\n if (isNil(handler)) return state;\n\n // execute the handler\n return handler(state, action);\n };\n};\n","import { produce } from \"immer\";\n\n/**\n *\n * @param {String} stateName the base state name to be used, it will generate statename, statename_loading, statename_errors\n * @param {String{}} extraProps for any extra propers it will generate statename_propname, ...\n */\nconst defaultState = (stateName, extraProps = {}, defaults = null) => {\n let extraPropsState = {};\n if (extraProps && Object.keys(extraProps).length > 0)\n Object.keys(extraProps).map((a) => {\n extraPropsState[`${stateName}_${a}`] = extraProps[a];\n return { [`${stateName}_${a}`]: extraProps[a] };\n });\n\n return {\n [stateName]: defaults,\n [`${stateName}_loading`]: false,\n [`${stateName}_errors`]: [],\n ...extraPropsState,\n };\n};\n\nconst setState = (stateName, isPaginated) => {\n return (state, { payload }) => {\n return produce(state, (draft) => {\n draft[stateName] = isPaginated ? [] : state[stateName];\n draft[`${stateName}_loading`] = true;\n draft[`${stateName}_errors`] = [];\n if (isPaginated) {\n draft[`${stateName}_metadata`] = {};\n }\n });\n };\n};\n\nconst setStateSuccess = (stateName, successCb, isPaginated) => {\n return (state, { payload }) => {\n return produce(state, (draft) => {\n draft[stateName] = isPaginated ? payload.items : payload;\n draft[`${stateName}_loading`] = false;\n draft[`${stateName}_errors`] = [];\n if (successCb) successCb(state, draft, payload);\n if (isPaginated) {\n draft[`${stateName}_metadata`] = payload.metadata;\n }\n });\n };\n};\n\nconst setStateFail = (stateName, failCb, isPaginated) => {\n return (state, { payload }) => {\n return produce(state, (draft) => {\n draft[stateName] = isPaginated ? [] : undefined;\n draft[`${stateName}_loading`] = false;\n draft[`${stateName}_errors`] = payload;\n if (failCb) failCb(state, draft, payload);\n if (isPaginated) {\n draft[`${stateName}_metadata`] = {};\n }\n });\n };\n};\n\nconst setSyncState = (stateName, doneCb) => {\n return (state, { payload }) => {\n return produce(state, (draft) => {\n if (stateName) draft[stateName] = payload;\n if (doneCb) doneCb(state, draft, payload);\n });\n };\n};\n\n/**\n *\n * @param {String} actionTypes action types\n * @param {String{}} options options which contain action => action name ,\n * @param {String} options.stateName => state name the will bind pubish the result on it,\n * @param {Function} options.successCb => custom success callback for more custom logic,\n * @param {Function} options.failCb => custom failure call back for custom error logic,\n * @param {Boolean} options.isPaginated => by default false , true if the result contains metadata\n * @param {Boolean} options.async => true if you are action doesn't require calling api\n */\nconst bindReducers = (actionTypes, options = {}) => {\n const { action, stateName, successCb, failCb, isPaginated, async } = options;\n let actionName = action.replace(/([A-Z])/g, \"_$1\").toUpperCase();\n if (!actionTypes[`${actionName}`])\n throw new Error(`handlers cannot have an undefined key ${actionName}`);\n\n if (!async)\n return bindSyncReducers(actionTypes, actionName, stateName, successCb);\n else {\n const reducers = {\n [actionTypes[`${actionName}`]]: setState(stateName, isPaginated),\n [actionTypes[`${actionName}_SUCCESS`]]: setStateSuccess(\n stateName,\n successCb,\n isPaginated\n ),\n [actionTypes[`${actionName}_FAIL`]]: setStateFail(\n stateName,\n failCb,\n isPaginated\n ),\n };\n return reducers;\n }\n};\n\nconst bindSyncReducers = (actionTypes, actionName, stateName, doneCb) => {\n const reducers = {\n [actionTypes[`${actionName}`]]: setSyncState(stateName, doneCb),\n };\n\n return reducers;\n};\n\nexport {\n defaultState,\n bindReducers,\n // , bindSyncReducers\n};\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n // categories\n getAllCategories: { args: [\"payload\"], meta: { async: true } },\n getCategoryWithId: { args: [\"payload\"], meta: { async: true } },\n addCategory: { args: [\"payload\"], meta: { async: true } },\n editCategory: { args: [\"payload\"], meta: { async: true } },\n deleteCategory: { args: [\"payload\"], meta: { async: true } },\n // products\n addProduct: { args: [\"payload\"], meta: { async: true } },\n editProduct: { args: [\"payload\"], meta: { async: true } },\n deleteProduct: { args: [\"payload\"], meta: { async: true } },\n //Featuerd Pack\n addFeatuerdPack: { args: [\"payload\"], meta: { async: true } },\n changeTarget: { args: [\"payload\"], meta: { async: true } },\n savePackPosition: { args: [\"payload\"], meta: { async: false } },\n\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Categories/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","// ** React Imports\nimport { useEffect, useState, createContext } from 'react'\n\n// ** Create Context\nconst ThemeColors = createContext()\n\nconst ThemeContext = ({ children }) => {\n // ** State\n const [colors, setColors] = useState({})\n //** ComponentDidMount\n useEffect(() => {\n if (window !== 'undefined') {\n //** Get variable value\n const getHex = color => window.getComputedStyle(document.body).getPropertyValue(color).trim()\n\n //** Colors obj\n const obj = {\n primary: {\n light: getHex('--primary').concat('1a'),\n main: getHex('--primary')\n },\n secondary: {\n light: getHex('--secondary').concat('1a'),\n main: getHex('--secondary')\n },\n success: {\n light: getHex('--success').concat('1a'),\n main: getHex('--success')\n },\n danger: {\n light: getHex('--danger').concat('1a'),\n main: getHex('--danger')\n },\n warning: {\n light: getHex('--warning').concat('1a'),\n main: getHex('--warning')\n },\n info: {\n light: getHex('--info').concat('1a'),\n main: getHex('--info')\n },\n dark: {\n light: getHex('--dark').concat('1a'),\n main: getHex('--dark')\n }\n }\n\n setColors({ ...obj })\n }\n }, [])\n\n return {children}\n}\n\nexport { ThemeColors, ThemeContext }\n","// ** Imports createContext function\nimport { createContext } from 'react'\n\n// ** Imports createContextualCan function\nimport { createContextualCan } from '@casl/react'\n\n// ** Create Context\nexport const AbilityContext = createContext()\n\n// ** Init Can Context\nexport const Can = createContextualCan(AbilityContext.Consumer)\n","// ** Logo\n// import logo from '@src/assets/images/logo/logo.png'\n\nimport themeConfig from 'src/configs/themeConfig'\n\nconst SpinnerComponent = () => {\n return (\n
\n logo\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default SpinnerComponent\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getSettings = () => api.get(\"Setting/settings\");\n const editSetting = ({ payload, id }) => api.put(`Setting/edit-setting/${id}`, payload);\n const editAllSettings = (payload) => api.put(`Setting/edit-all-setting`, payload);\n \n \n return {\n settings: {\n getSettings,\n editSetting,\n editAllSettings\n }\n };\n }\n ","// ** React Imports\nimport { useState, createContext, useEffect } from 'react'\n\n// ** Intl Provider Import\nimport { I18nProvider } from \"@lingui/react\";\n\n// ** Core Language Data\nimport messagesEn from '@assets/data/locales/en.json'\nimport messagesAr from '@assets/data/locales/ar.json'\n\n// ** User Language Data\nimport userMessagesEn from '@src/assets/data/locales/en.json'\nimport userMessagesAr from '@src/assets/data/locales/ar.json'\nimport { AppActions } from 'src/store/app/actions'\nimport { locales } from 'src/store/SupportedLocales'\nimport { useDispatch } from 'react-redux'\nimport { i18n } from '@lingui/core';\nimport * as plurs from 'make-plural/plurals';\n// ** Menu msg obj\n// const menuMessages = {\n// en: { ...messagesEn, ...userMessagesEn },\n// ar: { ...messagesAr, ...userMessagesAr },\n// }\n\n// ** Create Context\nconst Context = createContext()\n\nconst loadedLocales = () => {\n let result = {}\n for (const key in locales) {\n result[key] = { plurals: plurs[key] }\n }\n return result;\n}\ni18n.loadLocaleData(loadedLocales())\nasync function dynamicActivate(locale) {\n const { messages } = await import(`@lingui/loader!src/locales/${locale}/messages.po`)\n i18n.load(locale, messages)\n i18n.activate(locale)\n}\n\nconst IntlProviderWrapper = ({ children }) => {\n const lang = localStorage.getItem(\"language\");\n const currentLang = lang ? locales[lang] : Object.values(locales).find(l => l.default);\n\n // ** States\n const [locale, setLocale] = useState(currentLang.code)\n // const [messages, setMessages] = useState(menuMessages[currentLang.code])\n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(AppActions.changeLocale(currentLang))\n dynamicActivate(currentLang.code);\n }, [])\n // ** Switches Language\n const switchLanguage = lang => {\n setLocale(lang.code)\n // setMessages(menuMessages[lang.code])\n dispatch(AppActions.changeLocale(lang))\n dynamicActivate(lang.code);\n }\n\n return (\n \n \n {children}\n \n \n )\n}\n\nexport { IntlProviderWrapper, Context as IntlContext }\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAA4CAYAAAA7Ikz5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADIWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDRjcyMjM5OTQwRTExRTRCMDEyOTk1RUI5MDJDOEM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDRjcyMjNBOTQwRTExRTRCMDEyOTk1RUI5MDJDOEM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUNGNzIyMzc5NDBFMTFFNEIwMTI5OTVFQjkwMkM4QzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUNGNzIyMzg5NDBFMTFFNEIwMTI5OTVFQjkwMkM4QzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94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\"","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getUnitsTypes:{ args: [\"payload\"], meta: { async: true } },\n getRegions:{ args: [\"payload\"], meta: { async: true } },\n createRegion:{ args: [\"payload\"], meta: { async: true } },\n editRegion:{ args: [\"payload\"], meta: { async: true } },\n deleteRegion:{ args: [\"payload\"], meta: { async: true } },\n\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/lookups/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllGovernorate:{ args: [\"payload\"], meta: { async: true } },\n getRegions:{ args: [\"payload\"], meta: { async: true } },\n createGovernorate:{ args: [\"payload\"], meta: { async: true } },\n editGovernorate:{ args: [\"payload\"], meta: { async: true } },\n deleteGovernorate:{ args: [\"payload\"], meta: { async: true } },\n\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Governorates/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getTransactions: { args: [\"payload\"], meta: { async: true } },\n getExportedTransactions: { args: [\"payload\"], meta: { async: true } },\n getShopsTransactions: { args: [\"payload\"], meta: { async: true } },\n getAllTransactions: { args: [], meta: { async: true } },\n getTransactionWithId: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n \n },\n {\n prefix: \"@app/transactions/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","// import { createReducer } from \"utils/reduxsauce\";\nimport { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\n \"users\",\n {\n metadata: undefined,\n selectedUser: undefined,\n openDialog: false,\n openDeleteDialog: false,\n },\n []\n ),\n ...defaultState(\n \"roles\",\n { metadata: undefined, selectedUser: undefined },\n []\n ),\n ...defaultState(\"consultants\", { metadata: undefined }, []),\n};\n\nconst userCreatedSuccess = (state, draft, payload) => {\n const users = state.users || [];\n draft.users = [...users, payload];\n\n draft.openDialog = false;\n};\nconst userDeleteSuccess = (state, draft, payload) => {\n const users = state.users || [];\n draft.users = users.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst roleDeleteSuccess = (state, draft, payload) => {\n const roles = state.roles || [];\n draft.roles = roles.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\nconst roleCreatedSuccess = (state, draft, payload) => {\n const roles = state.roles || [];\n draft.roles = [...roles, payload];\n\n // draft.openDialog = false;\n};\n\nconst userEditedSuccess = (state, draft, payload) => {\n const users = state.users || [];\n var userIndex = users.findIndex((u) => u.id === payload.id);\n draft.users[userIndex] = payload;\n draft.openDialog = false;\n};\nconst roleEditedSuccess = (state, draft, payload) => {\n const roles = state.roles || [];\n var roleIndex = roles.findIndex((u) => u.id === payload.id);\n draft.roles[roleIndex] = payload;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\n\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.user_errors = [];\n};\nconst resetUser = (state, draft, payload) => {\n draft.user_errors = [];\n draft.user = null;\n draft.regionManager = null;\n};\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getCustomers\",\n stateName: \"customers\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n successCb: userDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"getUsers\",\n stateName: \"users\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setUser\",\n stateName: \"user\",\n async: false,\n isPaginated: false,\n successCb: resetUser,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n successCb: userCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createUsers\",\n stateName: \"users\",\n async: true,\n isPaginated: false,\n successCb: userCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createAppUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n successCb: userCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createRole\",\n stateName: \"role\",\n async: true,\n isPaginated: false,\n successCb: roleCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n successCb: userEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editRole\",\n stateName: \"role\",\n async: true,\n isPaginated: false,\n successCb: roleEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getRoles\",\n stateName: \"roles\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getRole\",\n stateName: \"role\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getPermissions\",\n stateName: \"permissions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: true,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: true,\n successCb: resetDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteRole\",\n stateName: \"role\",\n async: true,\n isPaginated: false,\n successCb: roleDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getRegionManagers\",\n stateName: \"regionManagers\",\n async: true,\n isPaginated: true,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"getRegionManager\",\n stateName: \"regionManager\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getUnassignedRegionManagers\",\n stateName: \"unassignedRegionManagers\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createRegionManager\",\n stateName: \"regionManager\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editRegionManager\",\n stateName: \"regionManager\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteRegionManager\",\n stateName: \"regionManager\",\n async: true,\n isPaginated: false,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"getShopConsultants\",\n stateName: \"shopConsultants\",\n async: true,\n isPaginated: true,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\n\nconst initialState = {\n ...defaultState(\n \"settings\", { metadata: undefined, },\n []\n ),\n};\n\nconst settingEditedSuccess = (state, draft, payload) => {\n const settings = state.settings || [];\n var settingIndex = settings.findIndex((u) => u.id === payload.id);\n draft.settings[settingIndex] = payload;\n};\n\n\n\nexport const reducer = createReducer(initialState, {\n\n ...bindReducers(ActionTypes, {\n action: \"getSettings\",\n stateName: \"settings\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editSetting\",\n stateName: \"setting\",\n async: true,\n isPaginated: false,\n successCb: settingEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editAllSettings\",\n stateName: \"settings\",\n async: true,\n isPaginated: false,\n // successCb: settingEditedSuccess,\n }),\n\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"categories\", { metadata: undefined }, []),\n};\n\n//** categories\nconst categoryEditedSuccess = (state, draft, payload) => {\n //debugger\n const categories = state.categories || [];\n if(!payload?.parentCategoryId){\n var categoryIndex = categories.findIndex((u) => u.id === payload.id);\n draft.categories[categoryIndex] = payload;\n draft.categories[categoryIndex].subCategories=[...categories[categoryIndex]?.subCategories]\n\n }\n else{\n draft.changed=payload\n // var categoryIndex = categories.find(c=>c.id===payload?.parentCategoryId)?.subCategories?.findIndex((u) => u.id === payload.id);\n // draft.categories.find(c=>c.id===payload?.parentCategoryId).subCategories[categoryIndex] = payload;\n }\n draft.openDialog = false;\n\n};\n\nconst categoryCreatedSuccess = (state, draft, payload) => {\n const categories = state.categories || [];\n if(!payload?.parentCategoryId){\n draft.categories = [...categories, payload];\n}\nelse{\n draft.categories.find(c=>c.id===payload?.parentCategoryId).subCategories=[...categories?.find(c=>c.id===payload?.parentCategoryId)?.subCategories,payload]\n}\ndraft.openDialog = false;\n\n};\n\nconst categoryDeleteSuccess = (state, draft, payload) => {\n if(!payload?.parentCategoryId){\n const categories = state.categories || [];\n draft.categories = categories.filter((a) => a.id != payload.id);\n }\n else{\n draft.changed=payload\n\n }\n draft.openDeleteDialog = false;\n};\n\n//** products\nconst productAddedSuccessfully = (state, draft, payload) => {\n draft.category.products = [payload, ...state.category.products];\n};\n\nconst productEditedSuccessfully = (state, draft, payload) => {\n debugger;\n const products = state.category.products || [];\n var productIndex = products.findIndex((p) => p.id === payload.id);\n let packs = products[productIndex].packs;\n payload.packs = payload.packs.map((p) => ({\n ...p,\n isFeatured: packs.find((sp) => sp.id == p.id)?.isFeatured || false,\n }));\n draft.category.products[productIndex] = payload;\n};\n\nconst productDeletedSuccessfully = (state, draft, payload) => {\n const products = state.category.products || [];\n var ptoductIndex = products.findIndex((p) => p.id === payload.id);\n draft.category.products.splice(ptoductIndex, 1);\n};\n\n// ** Featuerd Pack\nconst addedFeatuerdPackSuccessfully = (state, draft, payload) => {\n debugger;\n const { packIndex, productIndex } = state.packPosition;\n draft.category.products[productIndex].packs[packIndex].isFeatured =\n payload.data;\n};\nconst changeTargetSuccessfully = (state, draft, payload) => {\n debugger;\n const { packIndex, productIndex } = state.packPosition;\n draft.category.products[productIndex].packs[packIndex].target = payload.data;\n};\n\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nexport const reducer = createReducer(initialState, {\n //**Categories\n ...bindReducers(ActionTypes, {\n action: \"getAllCategories\",\n stateName: \"categories\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getCategoryWithId\",\n stateName: \"category\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addCategory\",\n stateName: \"category\",\n async: true,\n isPaginated: false,\n successCb: categoryCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editCategory\",\n stateName: \"category\",\n async: true,\n isPaginated: false,\n successCb: categoryEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteCategory\",\n stateName: \"category\",\n async: true,\n isPaginated: false,\n successCb: categoryDeleteSuccess,\n }),\n\n //** Products\n ...bindReducers(ActionTypes, {\n action: \"addProduct\",\n stateName: \"categoryProduct\",\n async: true,\n isPaginated: false,\n successCb: productAddedSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editProduct\",\n stateName: \"categoryProduct\",\n async: true,\n isPaginated: false,\n successCb: productEditedSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteProduct\",\n stateName: \"categoryProduct\",\n async: true,\n isPaginated: false,\n successCb: productDeletedSuccessfully,\n }),\n //** Featuerd Pack\n ...bindReducers(ActionTypes, {\n action: \"addFeatuerdPack\",\n stateName: \"featuerdPack\",\n async: true,\n isPaginated: false,\n successCb: addedFeatuerdPackSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"changeTarget\",\n stateName: \"changeTarget\",\n async: true,\n isPaginated: false,\n successCb: changeTargetSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"savePackPosition\",\n stateName: \"packPosition\",\n async: false,\n isPaginated: false,\n }),\n\n //** Dialogs\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"units\", { metadata: undefined }, []),\n ...defaultState(\n \"unit\",\n { metadata: undefined },\n {\n products: [],\n }\n ),\n};\n\n\nconst unitEditedSuccess = (state, draft, payload) => {\n const units = state.units || [];\n var unitIndex = units.findIndex((u) => u.id === payload.id);\n draft.units[unitIndex] = payload;\n};\n\nconst UnitCreatedSuccess = (state, draft, payload) => {\n const units = state.units || [];\n draft.units = [...units, payload];\n\n draft.openDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst unitDeleteSuccess = (state, draft, payload) => {\n const units = state.units || [];\n draft.units = units.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllUnits\",\n stateName: \"units\",\n async: true,\n isPaginated: true\n }),\n ...bindReducers(ActionTypes, {\n action: \"addUnit\",\n stateName: \"unit\",\n async: true,\n isPaginated: false,\n successCb:UnitCreatedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"editUnit\",\n stateName: \"unit\",\n async: true,\n isPaginated: false,\n successCb:unitEditedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteUnit\",\n stateName: \"unit\",\n async: true,\n isPaginated: false,\n successCb:unitDeleteSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"transactions\", { metadata: undefined }, []),\n ...defaultState(\"exportedTransactions\", { metadata: undefined }, []),\n ...defaultState(\"shopsTransactions\", { metadata: undefined }, []),\n ...defaultState(\n \"transaction\",\n { metadata: undefined },\n {\n invoices: [],\n purchases: [],\n }\n ),\n allTransactions: []\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\n\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getTransactions\",\n stateName: \"transactions\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getAllTransactions\",\n stateName: \"allTransactions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getShopsTransactions\",\n stateName: \"shopsTransactions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getTransactionWithId\",\n stateName: \"transaction\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getExportedTransactions\",\n stateName: \"exportedTransactions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"packTypes\", { metadata: undefined }, []),\n ...defaultState(\n \"packType\",\n { metadata: undefined },\n {\n products: [],\n }\n ),\n};\n\n\nconst packTypeEditedSuccess = (state, draft, payload) => {\n const packTypes = state.packTypes || [];\n var packTypeIndex = packTypes.findIndex((u) => u.id === payload.id);\n draft.packTypes[packTypeIndex] = payload;\n};\n\nconst packTypeCreatedSuccess = (state, draft, payload) => {\n // debugger\n const packTypes = state.packTypes || [];\n draft.packTypes = [...packTypes, payload];\n\n draft.openDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst packTypeDeleteSuccess = (state, draft, payload) => {\n const packTypes = state.packTypes || [];\n draft.packTypes = packTypes.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllPackTypes\",\n stateName: \"packTypes\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addPackType\",\n stateName: \"packType\",\n async: true,\n isPaginated: false,\n successCb:packTypeCreatedSuccess\n \n }),\n ...bindReducers(ActionTypes, {\n action: \"editPackType\",\n stateName: \"packType\",\n async: true,\n isPaginated: false,\n successCb:packTypeEditedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deletePackType\",\n stateName: \"packType\",\n async: true,\n isPaginated: false,\n successCb:packTypeDeleteSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"unitsTypes\", { metadata: undefined },{}),\n};\n\nconst createRegionSuccess= (state, draft, payload) => {\n const regions = state.regions || [];\n draft.regions = [...regions, payload];\n draft.openDialog = false;\n};\nconst deleteRegionSuccess= (state, draft, payload) => {\n draft.regions=state.regions.filter(r=>r.id!==payload.id);\n};\nconst editRegionSuccess= (state, draft, payload) => {\n const index= state.regions.findIndex(r=>r.id===payload.id)\n if(index>=0){\n draft.regions[index]=payload;\n }\n draft.openDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getUnitsTypes\",\n stateName: \"unitsTypes\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getRegions\",\n stateName: \"regions\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createRegion\",\n stateName: \"region\",\n async: true,\n isPaginated: false,\n successCb:createRegionSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"editRegion\",\n stateName: \"region\",\n async: true,\n isPaginated: false,\n successCb:editRegionSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteRegion\",\n stateName: \"region\",\n async: true,\n isPaginated: false,\n successCb:deleteRegionSuccess\n }),\n \n\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n};\n\n\n\n\n\n\nexport const reducer = createReducer(initialState, {\n\n ...bindReducers(ActionTypes, {\n action: \"getCompanyInfo\",\n stateName: \"companyInfo\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"saveCompanyInfo\",\n stateName: \"companyInfo\",\n async: true,\n isPaginated: false,\n }),\n\n\n\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"advertisement\", { metadata: undefined }),\n};\n\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\n\nconst resetDialog = (state, draft, payload) => {\n draft.openDeleteDialog = false;\n};\nconst advertisememntDeleteedSuccessfully = (state, draft, payload) => {\n delete draft.advertisement;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAdvertisement\",\n stateName: \"advertisement\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addAdvertisement\",\n stateName: \"advertisement\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editAdvertisement\",\n stateName: \"advertisement\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteAdvertisement\",\n stateName: \"advertisement\",\n async: true,\n isPaginated: false,\n successCb: advertisememntDeleteedSuccessfully,\n }),\n\n // ** delete dialog\n ...bindReducers(ActionTypes, {\n action: \"setAdvertisement\",\n stateName: \"advertisement\",\n async: false,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"governorates\", { metadata: undefined },[]),\n};\n\nconst editGovernorateSuccess= (state, draft, payload) => {\n const index= state.governorates.findIndex(r=>r.id===payload.id)\n if(index>=0){\n draft.governorates[index]=payload;\n }\n draft.openDialog = false;\n};\nconst governoratesCreatedSuccess = (state, draft, payload) => {\n const governorates = state.governorates || [];\n draft.governorates = [...governorates, payload];\n draft.openDialog = false;\n};\n\nconst governoratesDeleteSuccess = (state, draft, payload) => {\n const governorates = state.governorates || [];\n draft.governorates = governorates.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllGovernorate\",\n stateName: \"governorates\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getRegions\",\n stateName: \"regions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createGovernorate\",\n stateName: \"governorate\",\n async: true,\n isPaginated: false,\n successCb:governoratesCreatedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"editGovernorate\",\n stateName: \"governorate\",\n async: true,\n isPaginated: false,\n successCb:editGovernorateSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteGovernorate\",\n stateName: \"governorate\",\n async: true,\n isPaginated: false,\n successCb:governoratesDeleteSuccess\n }),\n \n\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"cities\", { metadata: undefined }, []),\n};\n\nconst editCitySuccess = (state, draft, payload) => {\n const index = state.cities.findIndex((r) => r.id === payload.id);\n if (index >= 0) {\n draft.cities[index] = payload;\n }\n draft.openDialog = false;\n};\nconst cityCreatedSuccess = (state, draft, payload) => {\n const cities = state.cities || [];\n draft.cities = [...cities, payload];\n draft.openDialog = false;\n};\n\nconst cityDeleteSuccess = (state, draft, payload) => {\n const cities = state.cities || [];\n draft.cities = cities.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllCities\",\n stateName: \"cities\",\n async: true,\n isPaginated: true,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"createCity\",\n stateName: \"city\",\n async: true,\n isPaginated: false,\n successCb: cityCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editCity\",\n stateName: \"city\",\n async: true,\n isPaginated: false,\n successCb: editCitySuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteCity\",\n stateName: \"city\",\n async: true,\n isPaginated: false,\n successCb: cityDeleteSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"shops\", { metadata: undefined }, []),\n ...defaultState(\"shop\", { metadata: undefined }, { consultants: [] }),\n};\nconst addTargetsSuccess=(state, draft, payload) => {\n draft.openDialog=false;\n};\nconst addTargetsListSuccess=(state, draft, payload) => {\n draft.targetsList=payload?.data;\n};\n\nconst consultantAddedSuccessfully = (state, draft, payload) => {\n let consultants = state.shop.consultants || [];\n draft.shop = { ...state.shop, consultants: [...consultants, payload] };\n draft.openDialog = false;\n\n};\nconst consultantEditedSuccessfully = (state, draft, payload) => {\n let consultants = [...state.shop.consultants];\n let index = consultants.findIndex((c) => c.id == payload.id);\n consultants[index] = payload;\n draft.shop = { ...state.shop, consultants };\n draft.openDialog = false;\n};\nconst consultantDeletedSuccessfully = (state, draft, payload) => {\n let consultants = [...state.shop.consultants];\n consultants = consultants.filter((c) => c.id != payload.id);\n draft.shop = { ...state.shop, consultants };\n};\n\nconst shopEditedSuccessfully = (state, draft, payload) => {\n draft.shop = { ...state.shop, ...payload };\n};\nconst shopDeletedSuccessfully = (state, draft, payload) => {\n let shops = [...state.shops];\n shops = shops.filter((s) => s.id != payload.id);\n draft.shops = shops;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\n\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDeleteDialog = false;\n draft.openDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getShops\",\n stateName: \"shops\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getShopWithId\",\n stateName: \"shop\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addShop\",\n stateName: \"shop\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editShop\",\n stateName: \"shop\",\n async: true,\n isPaginated: false,\n successCb: shopEditedSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteShop\",\n stateName: \"shop\",\n async: true,\n isPaginated: false,\n successCb: shopDeletedSuccessfully,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"setShop\",\n stateName: \"shop\",\n async: false,\n isPaginated: false,\n }),\n\n // ** consultants\n ...bindReducers(ActionTypes, {\n action: \"getConsultants\",\n stateName: \"consultants\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addTargets\",\n stateName: \"targets\",\n async: true,\n isPaginated: false,\n successCb:addTargetsSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"addTargetsList\",\n stateName: \"targetsList\",\n async: true,\n isPaginated: false,\n successCb:addTargetsListSuccess\n \n }),\n ...bindReducers(ActionTypes, {\n action: \"setTargetsList\",\n stateName: \"targetsList\",\n async: false,\n isPaginated: false,\n \n \n }),\n ...bindReducers(ActionTypes, {\n action: \"getTargets\",\n stateName: \"shopTargets\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getConsultantsWithShopId\",\n stateName: \"shopConsultants\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addConsultant\",\n stateName: \"shopConsultants\",\n async: true,\n isPaginated: false,\n successCb: consultantAddedSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editConsultant\",\n stateName: \"shopConsultants\",\n async: true,\n isPaginated: false,\n successCb: consultantEditedSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteConsultant\",\n stateName: \"shopConsultants\",\n async: true,\n isPaginated: false,\n successCb: consultantDeletedSuccessfully,\n }),\n\n // ** delete dialog\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n};\n\nexport const reducer = createReducer(initialState, {\n //**Categories\n ...bindReducers(ActionTypes, {\n action: \"getGeneralInfo\",\n stateName: \"generalInfo\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getTransactions\",\n stateName: \"transactions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getProducts\",\n stateName: \"products\",\n async: true,\n isPaginated: false,\n }),\n});\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllCities:{ args: [\"payload\"], meta: { async: true } },\n createCity:{ args: [\"payload\"], meta: { async: true } },\n editCity:{ args: [\"payload\"], meta: { async: true } },\n deleteCity:{ args: [\"payload\"], meta: { async: true } },\n\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Cities/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllUnits: { args: [\"payload\"], meta: { async: true } },\n addUnit: { args: [\"payload\"], meta: { async: true } },\n editUnit: { args: [\"payload\"], meta: { async: true } },\n deleteUnit: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Units/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllPackTypes: { args: [\"payload\"], meta: { async: true } },\n addPackType: { args: [\"payload\"], meta: { async: true } },\n editPackType: { args: [\"payload\"], meta: { async: true } },\n deletePackType: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/packTypes/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAdvertisement: { args: [], meta: { async: true } },\n addAdvertisement: { args: [\"payload\"], meta: { async: true } },\n editAdvertisement: { args: [\"payload\"], meta: { async: true } },\n deleteAdvertisement: { args: [\"payload\"], meta: { async: true } },\n\n setAdvertisement: { args: [\"payload\"], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Advertisements/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","var map = {\n\t\"./ar/messages.po\": [\n\t\t543,\n\t\t52\n\t],\n\t\"./en/messages.po\": [\n\t\t544,\n\t\t53\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 529;\nmodule.exports = webpackAsyncContext;","// ** ThemeConfig Import\nimport themeConfig from 'src/configs/themeConfig'\nimport { createReducer } from \"reduxsauce\";\nimport { produce } from \"immer\";\n\nimport { ActionTypes } from \"./actions\";\nimport { bindReducers } from \"src/utils/genState\";\n\n// ** Returns Initial Menu Collapsed State\nconst initialMenuCollapsed = () => {\n const item = window.localStorage.getItem('menuCollapsed')\n //** Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : themeConfig.layout.menu.isCollapsed\n}\n\n// ** Initial State\nconst initialState = {\n isRTL: themeConfig.layout.isRTL,\n menuCollapsed: initialMenuCollapsed(),\n menuHidden: themeConfig.layout.menu.isHidden,\n contentWidth: themeConfig.layout.contentWidth\n}\n\nconst setRtl = (state, draft, payload) => {\n draft.isRTL = payload;\n}\nconst setMenuHidden = (state, draft, payload) => {\n draft.menuHidden = payload;\n}\nconst setMenuCollapsed = (state, draft, payload) => {\n draft.menuCollapsed = payload;\n}\n\nconst layoutReducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"handleRtl\",\n stateName: \"isRTL\",\n async: false,\n isPaginated: false,\n successCb: setRtl,\n }),\n ...bindReducers(ActionTypes, {\n action: \"handleMenuHidden\",\n stateName: \"isRTL\",\n async: false,\n isPaginated: false,\n successCb: setMenuHidden,\n }),\n ...bindReducers(ActionTypes, {\n action: \"handleMenuCollapsed\",\n stateName: \"menuCollapsed\",\n async: false,\n isPaginated: false,\n successCb: setMenuCollapsed,\n }),\n\n // [ActionTypes.LOGOUT]: logout,\n\n});\n\n// const layoutReducer = (state = initialState, action) => {\n// switch (action.type) {\n// case 'HANDLE_CONTENT_WIDTH':\n// return { ...state, contentWidth: action.value }\n// case 'HANDLE_MENU_COLLAPSED':\n// window.localStorage.setItem('menuCollapsed', action.value)\n// return { ...state, menuCollapsed: action.value }\n// case 'HANDLE_MENU_HIDDEN':\n// return { ...state, menuHidden: action.value }\n// case 'HANDLE_RTL':\n// return { ...state, isRTL: action.value }\n// default:\n// return state\n// }\n// }\n\nexport default layoutReducer\n","// ** Initial State\nconst initialState = {\n suggestions: [],\n bookmarks: [],\n query: ''\n}\n\nconst navbarReducer = (state = initialState, action) => {\n switch (action.type) {\n case 'HANDLE_SEARCH_QUERY':\n return { ...state, query: action.val }\n case 'GET_BOOKMARKS':\n return { ...state, suggestions: action.data, bookmarks: action.bookmarks }\n case 'UPDATE_BOOKMARKED':\n let objectToUpdate\n\n // ** find & update object\n state.suggestions.find(item => {\n if (item.id === action.id) {\n item.isBookmarked = !item.isBookmarked\n objectToUpdate = item\n }\n })\n\n // ** Get index to add or remove bookmark from array\n const bookmarkIndex = state.bookmarks.findIndex(x => x.id === action.id)\n\n if (bookmarkIndex === -1) {\n state.bookmarks.push(objectToUpdate)\n } else {\n state.bookmarks.splice(bookmarkIndex, 1)\n }\n\n return { ...state }\n default:\n return state\n }\n}\n\nexport default navbarReducer\n","import { createReducer } from \"reduxsauce\";\nimport { produce } from \"immer\";\nimport jwtDecoder from \"jwt-decode\";\n\nimport { ActionTypes } from \"./actions\";\nimport { bindReducers } from \"src/utils/genState\";\n\nconst initialState = {\n user: null,\n isLoggedIn: false,\n token: null,\n loginError: undefined,\n notifications: [],\n};\n\nconst login = state => {\n return produce(state, draft => {\n draft.loginLoading = true;\n });\n};\nconst loginSuccess = (state, draft, payload) => {\n\n const user = jwtDecoder(payload.data.token);\n draft.user = user;\n draft.isLoggedIn = true;\n draft.loginLoading = false;\n const roles = JSON.parse(user?.role);\n const isAdmin = !roles.some(r => r.toLowerCase() === \"promoter\");\n localStorage.setItem('userData', JSON.stringify(user))\n localStorage.setItem('jwtToken', payload.data.token)\n};\nconst loginFail = (state, { payload }) => {\n\n return produce(state, draft => {\n draft.loginLoading = false;\n draft.loginError = payload.message\n });\n};\nconst updateTokenSuccess = (state, draft, payload) => {\n const user = jwtDecoder(payload);\n if (user.active === false) {\n localStorage.removeItem('userData')\n localStorage.removeItem('jwtToken')\n draft.user = undefined;\n draft.isLoggedIn = false;\n return;\n }\n draft.user = user;\n draft.loginLoading = false;\n localStorage.setItem('userData', JSON.stringify(user))\n localStorage.setItem('jwtToken', payload)\n};\nconst updateUserScoreSuccess = (state, draft, payload) => {\n draft.user={...draft.user,score:payload}\n};\n\nconst logout = (state, { payload }) => {\n return produce(state, draft => {\n localStorage.removeItem('userData')\n localStorage.removeItem('jwtToken')\n draft.user = undefined;\n draft.isLoggedIn = false;\n });\n};\n\nconst getNotifications = state => {\n return produce(state, draft => {\n draft.loginLoading = true;\n });\n};\nconst getNotificationsSuccess = (state, { payload }) => {\n return produce(state, draft => {\n draft.notifications = payload.data\n draft.loginLoading = false;\n\n });\n};\nconst getNotificationsFail = (state, { payload }) => {\n return produce(state, draft => {\n draft.loginLoading = false;\n draft.loginError = payload.message\n });\n};\nconst addNotification = (state, { notify }) => {\n return produce(state, draft => {\n draft.loginLoading = false;\n draft.notifications = [notify, ...state.notifications]\n });\n};\nconst readNotification = (state, { notify }) => {\n return produce(state, draft => {\n });\n};\nconst readNotificationSuccess = (state, { payload }) => {\n return produce(state, draft => {\n draft.notifications.forEach(a => {\n if (a.notifyId === payload.data.notficiationId)\n a.read = true;\n });\n });\n};\nconst readNotificationFailed = (state, { notify }) => {\n return produce(state, draft => {\n });\n};\nconst resetPasswordSuccess = (state, draft, payload) => {\n draft.changePassword_errors = null\n};\n\n\nexport const authReducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"login\",\n stateName: \"login\",\n async: true,\n isPaginated: false,\n successCb: loginSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateToken\",\n stateName: \"updateToken\",\n async: false,\n isPaginated: false,\n successCb: updateTokenSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateProfile\",\n stateName: \"updateProfile\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"changePassword\",\n stateName: \"changePassword\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetChangePassword\",\n stateName: \"resetChangePassword\",\n successCb: resetPasswordSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateUserScore\",\n async: false,\n isPaginated: false,\n successCb: updateUserScoreSuccess\n }),\n // [ActionTypes.LOGIN]: login,\n // [ActionTypes.LOGIN_SUCCESS]: loginSuccess,\n // [ActionTypes.LOGIN_FAIL]: loginFail,\n [ActionTypes.LOGOUT]: logout,\n [ActionTypes.GET_NOTIFICATIONS]: getNotifications,\n [ActionTypes.GET_NOTIFICATIONS_SUCCESS]: getNotificationsSuccess,\n [ActionTypes.GET_NOTIFICATIONS_FAIL]: getNotificationsFail,\n [ActionTypes.ADD_NOTIFICATION]: addNotification,\n [ActionTypes.READ_NOTIFICATION]: readNotification,\n [ActionTypes.READ_NOTIFICATION_SUCCESS]: readNotificationSuccess,\n [ActionTypes.READ_NOTIFICATION_FAIL]: readNotificationFailed,\n});","import { connectRouter } from \"connected-react-router\";\nimport { combineReducers } from \"redux\";\nimport { persistReducer } from \"redux-persist\";\nimport storage from \"redux-persist/lib/storage\";\nimport layoutReducer from \"./layout/reducer\";\nimport navbarReducer from \"./navbar/reducer\";\n// -------------------\nimport { authReducer } from \"./auth/reducer\";\n\nconst rootPersistConfig = {\n key: \"root\",\n storage,\n blacklist: [\n \"router\",\n \"layout\",\n \"userManegment\",\n \"categories\",\n \"companyInfos\",\n \"packTypes\",\n \"units\",\n \"advertisements\",\n \"lookups\",\n \"companyInfos\",\n \"transactions\",\n \"governorates\",\n \"cities\",\n \"shops\"\n ],\n};\n\nexport default function createReducer(asyncReducers, history) {\n return persistReducer(\n rootPersistConfig,\n combineReducers({\n ...asyncReducers,\n router: connectRouter(history),\n app: require(\"./app/reducer\").reducer,\n auth: authReducer,\n layout: layoutReducer,\n navbar: navbarReducer,\n userManegment: require(\"./userManagement/reducer\").reducer,\n settings: require(\"./setting/reducer\").reducer,\n categories: require(\"./categories/reducer\").reducer,\n units: require(\"./unit/reducer\").reducer,\n transactions: require(\"./transactions/reducer\").reducer,\n packTypes: require(\"./packTypes/reducer\").reducer,\n lookups: require(\"./lookups/reducer\").reducer,\n companyInfos: require(\"./companyInfo/reducer\").reducer,\n advertisements: require(\"./advertisements/reducer\").reducer,\n governorates: require(\"./governorate/reducer\").reducer,\n cities: require(\"./city/reducer\").reducer,\n shops:require(\"./shop/reducer\").reducer,\n dashboard:require(\"./dashboard/reducer\").reducer,\n })\n );\n}\n","const Storage = window.localStorage;\n\nexport default Storage;","import { createLogic } from \"redux-logic\";\nimport { toast } from \"react-toastify\";\nimport { push } from \"connected-react-router\";\n// import adminActions from \"store/admin/actions\";\nimport authActions from \"src/store/auth/actions\";\nimport storage from \"src/services/storage\";\n\nconst normalizeActionName = (actionName) => {\n if (actionName == undefined) {\n console.error(\"action is not correct passed to logic generator\");\n }\n return actionName\n .toLowerCase()\n .split(\"/\")\n .pop()\n .split(\"_\")\n .map((a, i) => (i > 0 ? a.charAt(0).toUpperCase() + a.substring(1) : a))\n .join(\"\");\n};\n\nconst sleep = (ms) => {\n return new Promise((resolve) => setTimeout(resolve, ms));\n};\n\n/**\n *\n * @param {String} apiNamespace api namespace\n * @param {String{}} options options which contain all options ,\n * @param {String} options.actionName => action name which will be executed,\n * @param {Function} options.successCb => custom success callback for more custom logic,\n * @param {Function} options.failCb => custom failure call back for custom error logic,\n * @param {String} options.successMessage => success message that will show on toastr when action successeded ,\n * @param {String} options.errorMessage => error message that will show on toastr when action failed,\n * @param {Boolean} options.showSuccessMessage => boolean if you have a custom success message by default false,\n * @param {Boolean} options.showErrorMessage => boolean if you have a custom error message by default false,\n *\n */\nexport const logic = (apiNamespace, options = {}) => {\n const {\n actionName,\n successCb,\n failCb,\n successMessage,\n errorMessage,\n showSuccessMessage,\n showErrorMessage,\n } = options;\n const api_name = normalizeActionName(actionName);\n const logic = createLogic({\n type: actionName,\n latest: true,\n\n async process({ getState, action, api }, dispatch, done) {\n try {\n _validateApi(api, apiNamespace, api_name, action);\n\n //for testing\n //await sleep(5000);\n const res = await api[apiNamespace][api_name](action.payload);\n if (!res.ok) {\n if (res.status == 401) {\n storage.removeItem(\"jwtToken\");\n // dispatch(adminActions.reset());\n dispatch(authActions.reset());\n dispatch(push(\"/\"));\n } else {\n const _errorMsg =\n (res.data && (res.data.errors || res.data.errorMessage)) ||\n \"Unknown Error\";\n dispatch({\n type: `${actionName}_FAIL`,\n payload: _errorMsg,\n error: true,\n });\n\n if (failCb) {\n failCb(dispatch, res.data);\n } else if (showErrorMessage) {\n if (errorMessage) toast.error(errorMessage);\n else {\n if (res.data && res.data.errorCode == \"404\") {\n toast.error(\"No data found\");\n } else {\n toast.error(res.data.errorMessage);\n }\n }\n }\n }\n } else {\n dispatch({ type: `${actionName}_SUCCESS`, payload: res.data });\n successCb && successCb(dispatch, res.data);\n if (showSuccessMessage) toast.success(successMessage);\n }\n } catch (err) {\n console.error(\"Unhandled error in logic \", err);\n dispatch({ type: `${actionName}_FAIL`, payload: err, error: true });\n failCb && failCb(dispatch);\n }\n done();\n },\n });\n return logic;\n};\n\nfunction _validateApi(api, apiNamespace, api_name, action) {\n //todo: validatte api\n const func = api[apiNamespace][api_name];\n if (!func) {\n }\n}\n\nexport default logic;\n","import { ActionTypes } from \"./actions\";\nimport logic from \"src/utils/genLogic\";\n\nconst apiNamespace = \"app\";\n\nconst pingLogic = logic(apiNamespace, {actionName:ActionTypes.PING});\nconst getCountriesLogic = logic(apiNamespace, {actionName:ActionTypes.GET_COUNTRIES});\nconst getCitiesLogic = logic(apiNamespace, {actionName:ActionTypes.GET_CITIES});\n\nexport default [pingLogic,getCountriesLogic,getCitiesLogic];\n","import { createLogic } from \"redux-logic\";\nimport { ActionTypes } from \"./actions\";\nimport logic from \"src/utils/genLogic\";\nimport { push } from \"connected-react-router\";\nimport jwtDecode from \"jwt-decode\";\n\nconst apiNamespace = \"auth\";\nexport const getNotificationsLogic = createLogic({\n type: ActionTypes.GET_NOTIFICATIONS,\n latest: true,\n\n async process({ getState, action, api }, dispatch, done) {\n try {\n const res = await api.auth.getNotifications(action.loginRequest);\n if (!res.ok || !res.data.success) {\n dispatch({\n type: ActionTypes.GET_NOTIFICATIONS_FAIL,\n payload: res.data || \"Unknown Error\",\n error: true\n })\n ;\n } else {\n dispatch({ type: ActionTypes.GET_NOTIFICATIONS_SUCCESS, payload: res.data });\n }\n } catch (err) {\n dispatch({ type: ActionTypes.GET_NOTIFICATIONS_FAIL, payload: err, error: true });\n }\n\n done();\n } \n});\nexport const readNotificationLogic = createLogic({\n type: ActionTypes.READ_NOTIFICATION,\n latest: true,\n\n async process({ getState, action, api }, dispatch, done) {\n try {\n const res = await api.auth.readNotification(action.payload);\n if (!res.ok || !res.data.success) {\n dispatch({\n type: ActionTypes.READ_NOTIFICATION_FAIL,\n payload: res.data || \"Unknown Error\",\n error: true\n })\n ;\n } else {\n dispatch({ type: ActionTypes.READ_NOTIFICATION_SUCCESS, payload: res.data });\n }\n } catch (err) {\n dispatch({ type: ActionTypes.READ_NOTIFICATION_FAIL, payload: err, error: true });\n }\n\n done();\n } \n});\nconst loginLogic = logic(apiNamespace, {actionName:ActionTypes.LOGIN,showErrorMessage:true,errorMessage:'Invalid login ',\nshowSuccessMessage:false,\n// successMessage:\"Welcome back\",\nsuccessCb:(dispatch,payload)=>{\n const user= jwtDecode(payload.data.token); \n if(user.role.includes(\"Promoter\")){\n dispatch(push(\"/survey\"));\n\n }else\n dispatch(push(\"/home\"));\n}\n\n});\nconst changePasswordLogic = logic(apiNamespace, {actionName:ActionTypes.CHANGE_PASSWORD,showErrorMessage:true,errorMessage:'Faild to change your password ',\nshowSuccessMessage:true,\nsuccessMessage:\"Your password updated successfully\"});\nconst updateProfileLogic = logic(apiNamespace, {actionName:ActionTypes.UPDATE_PROFILE,showErrorMessage:true,errorMessage:'Faild to update your profile',\nshowSuccessMessage:true,\nsuccessMessage:\"Your profile updated successfully\"});\n\nexport default [changePasswordLogic,updateProfileLogic, loginLogic,getNotificationsLogic,readNotificationLogic];","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\nimport shopActions from \"../shop/actions\";\n\nconst apiNamespace = \"userManegment\";\nconst getCustomersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CUSTOMERS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getUsersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_USERS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_USER,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst getPermissionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_PERMISSIONS,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst createUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_USER,\n showErrorMessage: true,\n successMessage: \"user created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/users/list\"));\n },\n});\nconst createUsersLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_USERS,\n showErrorMessage: true,\n successMessage: \"users created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/users/list\"));\n },\n});\nconst createAppUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_APP_USER,\n showErrorMessage: true,\n successMessage: \"user created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/users/list\"));\n },\n});\nconst createRoleLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_ROLE,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/roles/list\"));\n },\n});\nconst getRolesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ROLES,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst getRoleLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ROLE,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst deleteUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_USER,\n showErrorMessage: true,\n successMessage: \"user Deleted successfully\",\n showSuccessMessage: true,\n});\nconst editUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_USER,\n showErrorMessage: true,\n showSuccessMessage: \"User Edited Successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/users/list\"));\n },\n});\nconst editRoleLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_ROLE,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/roles/list\"));\n },\n});\nconst deleteRoleLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_ROLE,\n showErrorMessage: true,\n successMessage: \"Role Deleted successfully\",\n showSuccessMessage: true,\n});\n\nconst getRegionManagersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_REGION_MANAGERS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getUnassignedRegionManagersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_UNASSIGNED_REGION_MANAGERS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getRegionManagerLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_REGION_MANAGER,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst createRegionManagerLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_REGION_MANAGER,\n showErrorMessage: true,\n successMessage: \"user created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/region-managers\"));\n },\n});\nconst editRegionManagerLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_REGION_MANAGER,\n showErrorMessage: true,\n showSuccessMessage: \"User Edited Successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/region-managers\"));\n },\n});\nconst deleteRegionManagerLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_REGION_MANAGER,\n showErrorMessage: true,\n successMessage: \"user Deleted successfully\",\n showSuccessMessage: true,\n});\nconst getShopConsultantsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SHOP_CONSULTANTS,\n showErrorMessage: true,\n});\n\n\n\nexport default [\n getUsersLogic,\n createUserLogic,\n createUsersLogic,\n createAppUserLogic,\n getRolesLogic,\n getUserLogic,\n deleteUserLogic,\n editUserLogic,\n createRoleLogic,\n getPermissionsLogic,\n deleteRoleLogic,\n editRoleLogic,\n getRoleLogic,\n getCustomersLogic,\n getRegionManagersLogic,\n getRegionManagerLogic,\n createRegionManagerLogic,\n editRegionManagerLogic,\n deleteRegionManagerLogic,\n getUnassignedRegionManagersLogic,\n getShopConsultantsLogic\n\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"settings\";\nconst getSettingsLogic = logic(apiNamespace, {actionName:ActionTypes.GET_SETTINGS});\n\nconst editSettingLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_SETTING,\n successCb: (dispatch) => {\n dispatch(push('/home/setting'))\n \n }});\n\n const editAllSettingsLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_ALL_SETTINGS,\n successCb: (dispatch) => {\n dispatch(push('/home/setting'))\n \n }});\n\n \n\nexport default [getSettingsLogic,editSettingLogic,editAllSettingsLogic];\n\n","import Swal from \"sweetalert2\";\nimport withReactContent from \"sweetalert2-react-content\";\n\nconst MySwal = withReactContent(Swal);\n\nexport const customSweetAlert = ({\n title,\n html,\n text,\n icon,\n confirmButtonClasses,\n confirmButtonText,\n animation = \"tada\",\n callBack = () => {},\n}) => {\n return MySwal.fire({\n title: title,\n html: html,\n text:text,\n icon: icon,\n confirmButtonText: confirmButtonText,\n customClass: {\n confirmButton: confirmButtonClasses,\n },\n showClass: {\n popup: `animate__animated animate__${animation}`,\n },\n buttonsStyling: false,\n }).then(callBack);\n};\n\n\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nimport { customSweetAlert } from \"src/components/shared/customSweetAlert\";\n\nconst apiNamespace = \"categories\";\n\n// categories\n\nconst getAllCategoriesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_CATEGORIES,\n});\nconst getCategoryWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CATEGORY_WITH_ID,\n});\nconst addCategoryLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_CATEGORY,\n successCb:()=>{\n customSweetAlert(\n {\n title: \"تم حفظ بنجاح\",\n text:\"اضغط موافق للمتابعة\",\n icon:\"success\",\n confirmButtonClasses: \"btn btn-primary\",\n confirmButtonText: \"موافق\"\n });\n }\n});\n\nconst editCategoryLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_CATEGORY,\n successCb:()=>{\n customSweetAlert(\n {\n title: \"تم حفظ بنجاح\",\n text:\"اضغط موافق للمتابعة\",\n icon:\"success\",\n confirmButtonClasses: \"btn btn-primary\",\n confirmButtonText: \"موافق\"\n });\n }\n});\n\nconst deleteCategoryLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_CATEGORY,\n});\n\n// products\n\nconst addProductLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_PRODUCT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editProductLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_PRODUCT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteProductLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_PRODUCT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n//Featuerd Pack\nconst addFeatuerdPackLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_FEATUERD_PACK,\n showErrorMessage: true,\n errorMessage: ,\n});\nconst changeTargetLogic = logic(apiNamespace, {\n actionName: ActionTypes.CHANGE_TARGET,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n // categories\n getAllCategoriesLogic,\n getCategoryWithIdLogic,\n addCategoryLogic,\n editCategoryLogic,\n deleteCategoryLogic,\n // products\n addProductLogic,\n editProductLogic,\n deleteProductLogic,\n //Featuerd Pack\n addFeatuerdPackLogic,\n changeTargetLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"units\";\n\n\nconst getAllUnitsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_UNITS,\n});\nconst addUnitLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_UNIT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editUnitLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_UNIT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteUnitLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_UNIT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n\n\nexport default [\n getAllUnitsLogic,\n addUnitLogic,\n editUnitLogic,\n deleteUnitLogic,\n\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"packTypes\";\n\n\nconst getAllPackTypesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_PACK_TYPES,\n});\nconst addPackTypeLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_PACK_TYPE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editPackTypeLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_PACK_TYPE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deletePackTypeLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_PACK_TYPE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n\n\nexport default [\n getAllPackTypesLogic,\n addPackTypeLogic,\n editPackTypeLogic,\n deletePackTypeLogic,\n\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\nimport { customSweetAlert } from \"src/components/shared/customSweetAlert\";\n\nconst apiNamespace = \"companyInfos\";\n\nconst getCompanyInfoLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_COMPANY_INFO,\n});\nconst saveCompanyInfoLogic = logic(apiNamespace, {\n actionName: ActionTypes.SAVE_COMPANY_INFO,\n successCb:()=>{\n customSweetAlert(\n {\n title: \"تم حفظ بنجاح\",\n text:\"اضغط موافق للمتابعة\",\n icon:\"success\",\n confirmButtonClasses: \"btn btn-primary\",\n confirmButtonText: \"موافق\"\n });\n },\n failCb:()=>{\n customSweetAlert(\n {\n title: \"حدث خطأ اثناء الحفظ و المحاولة مرة اخرى\",\n text:\"و اضغط موافق للمتابعة\",\n icon:\"danager\",\n confirmButtonClasses: \"btn btn-primary\",\n confirmButtonText: \"موافق\"\n });\n }\n});\n\n\n\nexport default [\n getCompanyInfoLogic,\n saveCompanyInfoLogic\n\n];\n","import logic from \"src/utils/genLogic\";\nimport actions,{ ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"lookups\";\n\nconst getUnitsTypesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_UNITS_TYPES,\n});\nconst getRegionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_REGIONS,\n});\n\nconst createRegionLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_REGION,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst editRegionLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_REGION,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst deleteRegionLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_REGION,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n\n\nexport default [\n getUnitsTypesLogic,\n getRegionsLogic,\n createRegionLogic,\n editRegionLogic,\n deleteRegionLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"advertisements\";\n\nconst getAdvertisementLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ADVERTISEMENT,\n});\n\nconst addAdvertisementLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_ADVERTISEMENT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editAdvertisementLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_ADVERTISEMENT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteAdvertisementLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_ADVERTISEMENT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAdvertisementLogic,\n addAdvertisementLogic,\n editAdvertisementLogic,\n deleteAdvertisementLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"transactions\";\n\n\nconst getTransactionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_TRANSACTIONS,\n});\nconst getShopsTransactionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SHOPS_TRANSACTIONS,\n});\nconst getExportedTransactionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_EXPORTED_TRANSACTIONS,\n});\nconst getAllTransactionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_TRANSACTIONS,\n});\nconst getTransactionWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_TRANSACTION_WITH_ID,\n});\n\n\n\n\nexport default [\n getTransactionsLogic,\n getAllTransactionsLogic,\n getShopsTransactionsLogic,\n getTransactionWithIdLogic,\n getExportedTransactionsLogic\n];\n","import logic from \"src/utils/genLogic\";\nimport actions, { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"governorates\";\n\nconst getAllGovernorateLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_GOVERNORATE,\n});\nconst getRegionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_REGIONS,\n});\nconst createGovernorateLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_GOVERNORATE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst editGovernorateLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_GOVERNORATE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst deleteGovernorateLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_GOVERNORATE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAllGovernorateLogic,\n getRegionsLogic,\n createGovernorateLogic,\n editGovernorateLogic,\n deleteGovernorateLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"shops\";\n\nconst getShopsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SHOPS,\n});\nconst getShopWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SHOP_WITH_ID,\n});\n\nconst addTargetsLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_TARGETS,\n});\nconst addTargetsListLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_TARGETS_LIST,\n});\nconst getTargetsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_TARGETS,\n});\n\nconst addShopLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_SHOP,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editShopLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_SHOP,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteShopLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_SHOP,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n//consultants\n\nconst getConsultantsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CONSULTANTS,\n showErrorMessage: true,\n});\nconst getConsultantsWithShopIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CONSULTANTS_WITH_SHOP_ID,\n showErrorMessage: true,\n showSuccessMessage: true,\n errorMessage: ,\n});\nconst addConslutantLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_CONSULTANT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editConslutantLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_CONSULTANT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteConslutantLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_CONSULTANT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nexport default [\n getShopsLogic,\n getShopWithIdLogic,\n addTargetsListLogic,\n addShopLogic,\n addTargetsLogic,\n getTargetsLogic,\n editShopLogic,\n deleteShopLogic,\n //consultants\n getConsultantsLogic,\n getConsultantsWithShopIdLogic,\n addConslutantLogic,\n editConslutantLogic,\n deleteConslutantLogic\n];\n","import logic from \"src/utils/genLogic\";\nimport actions,{ ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"Cities\";\n\nconst getAllCitiesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_CITIES,\n});\n\nconst createCityLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_CITY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst editCityLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_CITY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst deleteCityLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_CITY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n\n\nexport default [\n getAllCitiesLogic,\n createCityLogic,\n editCityLogic,\n deleteCityLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"dashboard\";\n\n// categories\n\nconst getGeneralInfoLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_GENERAL_INFO,\n});\n\nconst getTransactionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_TRANSACTIONS,\n});\nconst getProductsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_PRODUCTS,\n});\nexport default [\n getGeneralInfoLogic,\n getTransactionsLogic,\n getProductsLogic,\n];\n","import appLogic from \"./app/logic\";\nimport authLogic from \"./auth/logic\";\nimport usersLogic from \"./userManagement/logic\";\nimport settingLogic from \"./setting/logic\";\n//---------------------------\nimport categoriesLogic from \"./categories/logic\";\nimport unitsLogic from \"./unit/logic\";\nimport packTypesLogic from \"./packTypes/logic\";\nimport companyInfoLogic from \"./companyInfo/logic\";\nimport lookupsLogic from \"./lookups/logic\";\nimport advertisementsLogic from \"./advertisements/logic\";\nimport transactionsLogic from \"./transactions/logic\";\nimport governoratesLogic from \"./governorate/logic\";\nimport shopsLogic from \"./shop/logic\";\nimport citiesLogic from \"./city/logic\";\nimport dashboardLogic from \"./dashboard/logic\";\n\nexport default [\n ...appLogic,\n ...authLogic,\n ...usersLogic,\n ...settingLogic,\n ...categoriesLogic,\n ...unitsLogic,\n ...lookupsLogic,\n ...packTypesLogic,\n ...companyInfoLogic,\n ...advertisementsLogic,\n ...transactionsLogic,\n ...governoratesLogic,\n ...citiesLogic,\n ...shopsLogic,\n ...dashboardLogic,\n];\n","export default function(/**@type {ApisauceInstance} */ api) {\n const login = loginRequest => api.post(\"auth/login\", loginRequest);\n const updateProfile = loginRequest => api.post(\"auth/update-profile\", loginRequest);\n const changePassword = loginRequest => api.post(\"auth/change-password\", loginRequest);\n const logout = accessToken => api.post(\"auth/logout\", { accessToken });\n const getNotifications = paging => api.get(\"user/getnotifications\",paging); \n const readNotification = (id) => api.get(\"user/readNotify/\"+id); \n return {\n auth: {\n login,\n logout,\n getNotifications,\n readNotification,\n updateProfile,\n changePassword,\n }\n };\n }","export default function (/**@type {ApisauceInstance} */ api) {\n const getUsers = (paging) => api.get(\"user-management/users\", paging);\n const getPermissions = () => api.get(\"user-management/permissions\");\n const createUser = (payload) => api.post(\"user-management/users\", payload);\n const createUsers = (payload) =>\n api.post(\"user-management/add-users\", payload);\n const createAppUser = (payload) =>\n api.post(\"user-management/users/app-user\", payload);\n const getUser = (id) => api.get(`user-management/users/${id}`);\n const getRoles = (paging) => api.get(\"user-management/roles\", paging);\n const deleteUser = (id) =>\n api.delete(`user-management/users/delete-user/${id}`);\n const createRole = (payload) =>\n api.post(\"user-management/roles/add-role\", payload);\n const editUser = ({ payload, id }) =>\n api.put(`user-management/users/edit-user/${id}`, payload);\n const deleteRole = (id) =>\n api.delete(`user-management/roles/delete-role/${id}`);\n const editRole = ({ payload, id }) =>\n api.put(`user-management/roles/edit-role/${id}`, payload);\n const getRole = (id) => api.get(`user-management/roles/${id}`);\n const getCustomers = (paging) => api.get(\"user-management/customers\", paging);\n\n const getRegionManagers = (paging) =>\n api.get(\"user-management/region-manager\", paging);\n const getUnassignedRegionManagers = (payload) =>\n api.get(`user-management/unassigned-region-manager`, payload);\n const createRegionManager = (payload) =>\n api.post(\"user-management/region-manager\", payload);\n const editRegionManager = ({ payload, id }) =>\n api.put(`user-management/region-manager/${id}`, payload);\n const getRegionManager = (id) =>\n api.get(`user-management/region-manager/${id}`);\n const deleteRegionManager = (id) =>\n api.delete(`user-management/region-manager/${id}`);\n\n\n const getShopConsultants = (paging) =>\n api.get(\"user-management/consultant\", paging);\n return {\n userManegment: {\n getUsers,\n getUser,\n createUser,\n createUsers,\n createAppUser,\n deleteUser,\n getRoles,\n editUser,\n createRole,\n getPermissions,\n deleteRole,\n editRole,\n getRole,\n getCustomers,\n getRegionManagers,\n createRegionManager,\n editRegionManager,\n getRegionManager,\n deleteRegionManager,\n getUnassignedRegionManagers,\n getShopConsultants\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getTransactions = (payload) => api.get(`transactions`, payload);\n const getExportedTransactions= (payload) => api.get(`transactions/get-transaction-with-details`,payload);\n const getShopsTransactions= (payload) => api.get(`transactions/get-shop-transaction-pivot-categories`,payload);\n const getAllTransactions = () => api.get(`transactions/my-transactions-all`);\n const getTransactionWithId = (id) => api.get(`transactions/${id}`);\n\n return {\n transactions: {\n getTransactions,\n getAllTransactions,\n getShopsTransactions,\n getTransactionWithId,\n getExportedTransactions\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n // categories\n\n const getAllCategories = (paging) => api.get(`categories/categories`, paging);\n const getCategoryWithId = (id) => api.get(`categories/category/${id}`);\n const addCategory = (payload) => api.post(`categories/add-category`, payload);\n\n const editCategory = ({ payload, id }) =>\n api.put(`categories/edit-category/${id}`, payload);\n\n const deleteCategory = (id) => api.delete(`categories/delete-category/${id}`);\n\n // products\n const addProduct = ({ payload }) => api.post(`products/add-product`, payload);\n\n const editProduct = ({ payload, id }) =>\n api.put(`products/edit-product/${id}`, payload);\n\n const deleteProduct = (id) => api.delete(`products/delete-product/${id}`);\n\n //Featuerd Pack\n const addFeatuerdPack = ({ payload }) =>\n api.post(`products/add-featured-pack`, payload);\n const changeTarget = ({ payload }) =>\n api.post(`products/pack-target`, payload);\n return {\n categories: {\n // categories\n getAllCategories,\n getCategoryWithId,\n addCategory,\n editCategory,\n deleteCategory,\n // products\n addProduct,\n editProduct,\n deleteProduct,\n //Featuerd Pack\n addFeatuerdPack,\n changeTarget,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n\n \n const getAllPackTypes = (paging) => api.get(`PackTypes/pack-types`,paging);\n\n const addPackType = (payload) => api.post(`PackTypes/add-pack-type`, payload);\n \n const editPackType = ({ payload, id }) =>api.put(`PackTypes/edit-pack-type/${id}`, payload);\n \n const deletePackType = (id) => api.delete(`PackTypes/delete-pack-type/${id}`);\n\n return {\n packTypes: {\n getAllPackTypes,\n addPackType,\n editPackType,\n deletePackType\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n\n \n const getAllUnits = (paging) => api.get(`Units/units`,paging);\n\n const addUnit = (payload ) =>api.post(`Units/add-unit`, payload);\n \n const editUnit = ({ payload, id }) =>api.put(`Units/edit-unit/${id}`, payload);\n \n const deleteUnit = (id) => api.delete(`Units/delete-unit/${id}`);\n\n return {\n units: {\n getAllUnits,\n addUnit,\n editUnit,\n deleteUnit\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n const getCompanyInfo = () => api.get(`CompanyInfo/companyInfo`);\n const saveCompanyInfo = (payload) => api.post(`CompanyInfo/save-company-info`, payload);\n return {\n companyInfos: {\n saveCompanyInfo,\n getCompanyInfo\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getUnitsTypes = (paging) => api.get(`lookups/units-types`, paging);\n const getRegions = (paging) => {\n console.log(paging);\n return api.get(`region`, paging);\n };\n const createRegion = (payload) => api.post(`region`, payload);\n const editRegion = ({ id, payload }) => api.put(`region/${id}`, payload);\n const deleteRegion = (id) => api.delete(`region/${id}`);\n\n return {\n lookups: {\n getUnitsTypes,\n getRegions,\n createRegion,\n editRegion,\n deleteRegion,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getAdvertisement = () => api.get(`advertisement/`);\n const addAdvertisement = (payload) =>\n api.post(`advertisement/add-advertisement`, payload);\n const editAdvertisement = ({ payload, id }) =>\n api.put(`advertisement/edit-advertisement/${id}`, payload);\n const deleteAdvertisement = (id) =>\n api.delete(`advertisement/delete-advertisement/${id}`);\n\n return {\n advertisements: {\n getAdvertisement,\n addAdvertisement,\n editAdvertisement,\n deleteAdvertisement,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getAllGovernorate = (paging) => api.get(`Governorate`, paging);\n const getRegions = () => api.get(`Region`);\n const createGovernorate = (payload) => api.post(`Governorate`, payload);\n const editGovernorate = ({ id, payload }) => api.put(`Governorate/${id}`, payload);\n const deleteGovernorate = (id) => api.delete(`Governorate/${id}`);\n\n return {\n governorates: {\n getAllGovernorate,\n getRegions,\n createGovernorate,\n editGovernorate,\n deleteGovernorate,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getShops = (paging) => api.get(`Shop`, paging);\n const getShopWithId = (id) => api.get(`Shop/${id}`);\n const addShop = (payload) => api.post(`Shop`, payload);\n const editShop = ({ payload, id }) => api.put(`Shop/${id}`, payload);\n const deleteShop = (id) => api.delete(`Shop/${id}`);\n\n //**consultants\n const getConsultants = (paging) =>\n api.get(\"user-management/consultant\", paging);\n const getConsultantsWithShopId = (id) =>\n api.get(`user-management/consultants/${id}`);\n const addConsultant = (payload) =>\n api.post(\"user-management/consultant\", payload);\n const addTargets = (payload) =>\n api.post(\"/Shop/targets\", payload);\n const addTargetsList = (payload) =>\n api.post(\"/Shop/targets-list\", payload);\n const getTargets = (id) =>\n api.get(\"/Shop/targets/\"+id);\n const editConsultant = ({ payload, id }) =>\n api.put(`user-management/consultant/${id}`, payload);\n\n const deleteConsultant = (id) =>\n api.delete(`user-management/consultant/${id}`);\n\n return {\n shops: {\n getShops,\n getShopWithId,\n addShop,\n editShop,\n addTargets,\n getTargets,\n deleteShop,\n addTargetsList,\n //**consultants\n getConsultants,\n getConsultantsWithShopId,\n addConsultant,\n editConsultant,\n deleteConsultant,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getAllGovernorate = () => api.get(`Governorate`);\n const getAllCities = (paging) => api.get(`City`,paging);\n const createCity = (payload) => api.post(`City`, payload);\n const editCity = ({ id, payload }) => api.put(`City/${id}`, payload);\n const deleteCity = (id) => api.delete(`City/${id}`);\n\n return {\n Cities: {\n getAllGovernorate,\n getAllCities,\n createCity,\n editCity,\n deleteCity,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getGeneralInfo = () => api.get(`dashboard/general-info`);\n const getTransactions = () => api.get(`dashboard/transactions`);\n const getProducts = () => api.get(`dashboard/most-sell-products`);\n return {\n dashboard: {\n getGeneralInfo,\n getTransactions,\n getProducts,\n },\n };\n }","import apisauce from \"apisauce\";\nimport config from \"../configs\";\n\nimport authApi from \"./auth\";\nimport usersApi from \"./userManagement\";\nimport settingsApi from \"./setting\";\n\n//---------------------\nimport transactionsApi from \"./transactions\";\nimport categoriesApi from \"./categories\";\nimport packTypesApi from \"./packTypes\";\nimport unitApi from \"./unit\";\nimport companyInfoApi from \"./companyInfo\";\nimport lookupsApi from \"./lookups\";\nimport advertisementApi from \"./advertisement\";\nimport governorateApi from \"./governorate\";\nimport shopApi from \"./shop\";\nimport cityApi from \"./city\";\nimport dashboardApi from \"./dashboard\";\n\n// const apiURI = config.useLocalApi ? config.devApiRoot : config.apiRoot;\nconst apiURI = process.env.REACT_APP_BASE_API_URL;\nconst create = (baseURL = apiURI) => {\n const api = apisauce.create({\n baseURL,\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n timeout: 1200000, //30 sec\n });\n //add access token on each request\n\n api.addAsyncResponseTransform((response) => async () => {\n if (!response.ok) {\n const customeError = {\n errors: response.data.errors || [\n { errorMessage: response.data.errorMessage },\n ],\n // title: response.data.title,\n errorMessage: response.data.errorMessage,\n // details: response.data.details,\n // data: response.data.result,\n status: response.status,\n code: response.data.errorCode,\n };\n response.data = customeError;\n }\n });\n\n api.addAsyncRequestTransform((request) => async () => {\n const token = localStorage.getItem(\"jwtToken\");\n const culture = localStorage.getItem(\"culture\");\n const cultureCode = localStorage.getItem(\"cultureCode\");\n const userIp = localStorage.getItem(\"userIp\");\n\n request.headers[\"culture\"] = culture || \"en\";\n request.headers[\"cultureCode\"] = cultureCode || \"en-US\";\n request.headers[\"userIp\"] = userIp || \"\";\n\n if (token) {\n request.headers[\"Authorization\"] = `Bearer ${token}`;\n } else {\n delete request.headers[\"Authorization\"];\n }\n });\n\n const auth = authApi(api);\n const users = usersApi(api);\n const settings = settingsApi(api);\n // --------------------\n const categories = categoriesApi(api);\n const packTypes = packTypesApi(api);\n const units = unitApi(api);\n const transactions = transactionsApi(api);\n const companyInfos = companyInfoApi(api);\n const lookups = lookupsApi(api);\n const advertisements = advertisementApi(api);\n const governorates = governorateApi(api);\n const cities = cityApi(api);\n const shops=shopApi(api);\n const dashboard=dashboardApi(api);\n\n // const transactions = transactionsApi(api);\n return {\n setHeader: api.setHeader,\n setHeaders: api.setHeaders,\n ...auth,\n ...users,\n ...settings,\n ...categories,\n ...packTypes,\n ...units,\n ...companyInfos,\n ...lookups,\n ...advertisements,\n ...transactions,\n ...governorates,\n ...shops,\n ...cities,\n ...dashboard,\n };\n};\n\nexport default { create };\n","import configureStore from \"./configureStore\";\n\n// Create redux store with history\nimport { createBrowserHistory } from \"history\";\nconst initialState = {};\nexport const history = createBrowserHistory();\nexport const { store, persistedStore } = configureStore(initialState, history);","import { createStore, applyMiddleware, compose } from \"redux\";\nimport { routerMiddleware } from \"connected-react-router\";\nimport { createLogicMiddleware } from \"redux-logic\";\nimport { persistStore } from \"redux-persist\";\n\n// import { loadingBarMiddleware } from \"./middlewares\";\nimport createReducer from \"./reducers\";\nimport logics from \"./logics\";\nimport API from \"../services\";\n\nexport default function configureStore(initialState, history) {\n // inject helpers, make requestUtil available to all logic\n const api = API.create();\n const injectedApi = { api };\n const logicMiddleware = createLogicMiddleware([...logics], injectedApi);\n\n // Create the store with two middlewares\n // 1. logicMiddleware: enables redux-logic\n // 2. routerMiddleware: Syncs the location/URL path to the state\n const middlewares = [\n //NOTE: later I will use this middleware to automate loading pattern, however this need to maintain a good name conventions for action that will cause this loading mechanism, not every async operation should display this loading screen\n //loadingBarMiddleware,\n logicMiddleware,\n routerMiddleware(history) // for dispatching history actions\n ];\n\n const enhancers = [applyMiddleware(...middlewares)];\n\n // If Redux DevTools Extension is installed use it, otherwise use Redux compose\n /* eslint-disable no-underscore-dangle */\n const composeEnhancers =\n process.env.NODE_ENV !== \"production\" && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n : compose;\n /* eslint-enable */\n\n const rootReducer = createReducer(/* asyncReducers */ {}, history);\n \n const store = createStore(rootReducer, initialState, composeEnhancers(...enhancers));\n const persistedStore = persistStore(store);\n\n // Extensions\n store.logicMiddleware = logicMiddleware;\n store.asyncReducers = {}; // Async reducer registry\n store.history = history; //pass history singleton to store for async reloading\n\n // Make reducers hot reloadable, see http://mxs.is/googmo\n /* istanbul ignore next */\n if (module.hot) {\n module.hot.accept(\"./reducers\", () => {\n import(\"./reducers\").then(reducerModule => {\n const createReducers = reducerModule.default;\n const nextReducers = createReducers(store.asyncReducers, store.history);\n\n store.replaceReducer(nextReducers);\n });\n });\n }\n\n return { store, persistedStore };\n}\n","// ** React Imports\nimport { useState, useEffect } from 'react'\n\n// ** Third Party Components\nimport { Button } from 'reactstrap'\nimport classnames from 'classnames'\n\n// ** Styles\nimport './ripple-button.scss'\n\nconst RippleButton = ({ className, children, onClick, ...rest }) => {\n // ** States\n const [mounted, setMounted] = useState(false)\n const [isRippling, setIsRippling] = useState(false)\n const [coords, setCoords] = useState({ x: -1, y: -1 })\n\n // ** Toggle mounted on mount & unmount\n useEffect(() => {\n setMounted(true)\n return () => setMounted(false)\n }, [])\n\n // ** Check for coords and set ripple\n useEffect(() => {\n if (mounted) {\n if (coords.x !== -1 && coords.y !== -1) {\n setIsRippling(true)\n setTimeout(() => setIsRippling(false), 500)\n } else {\n setIsRippling(false)\n }\n }\n }, [coords])\n\n // ** Reset Coords on ripple end\n useEffect(() => {\n if (mounted) {\n if (!isRippling) setCoords({ x: -1, y: -1 })\n }\n }, [isRippling])\n\n return (\n {\n const rect = e.target.getBoundingClientRect()\n setCoords({ x: e.clientX - rect.left, y: e.clientY - rect.top })\n if (onClick) {\n onClick(e)\n }\n }}\n {...rest}\n >\n {children}\n {isRippling ? (\n \n ) : null}\n \n )\n}\n\n// ** PropTypes\nRippleButton.propTypes = {\n ...Button.propTypes\n}\n\nButton.Ripple = RippleButton\n","/*eslint-disable */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n)\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets see https://github.com/facebook/create-react-app/issues/2374\n return\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config)\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n )\n })\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config)\n }\n })\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing\n if (installingWorker === null) {\n return\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n )\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration)\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.')\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration)\n }\n }\n }\n }\n }\n })\n .catch(error => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type')\n if (response.status === 404 || (contentType !== null && contentType.indexOf('javascript') === -1)) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload()\n })\n })\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config)\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.')\n })\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister()\n })\n }\n}\n","import { Permission } from \"./userPermission\";\n\nexport default new Permission()","export class Permission {\n user = null;\n permissions = [];\n roles = [];\n constructor() {\n this.updateValues();\n }\n\n updateValues() {\n let u = localStorage.getItem('userData');\n this.user = u ? JSON.parse(u) : null\n this.permissions = this.user ? JSON.parse(this.user.permissions) : []\n this.roles = this.user &&this.user.role &&JSON.parse(this.user.role)||[]\n }\n can(permission) {\n if (!this.user){\n this.updateValues();\n }\n return this.permissions.includes(permission);\n }\n}\n\n// export const useCurrentUser=()=>{\n// let user = null;\n// let permissions = [];\n// let roles = [];\n\n// function updateValues() {\n// let u = localStorage.getItem('userData');\n// user = u ? JSON.parse(u) : null\n// permissions = user ? JSON.parse(user.permissions) : []\n// roles = user &&user.role &&JSON.parse(user.role)||[]\n// }\n\n// if(!user){\n// updateValues();\n// }\n// return {\n// user,\n// permissions,\n// roles\n// }\n\n// }\n","import React from 'react'\nimport { useSelector } from 'react-redux';\nimport { useSignalR } from '../hooks/useSignalR';\n\n\nexport const SignalProvider = React.createContext();\n\nfunction SignalRProvider({ children, ...props }) {\n\n const { startHub, onReceiveNotify ,closeHub} = useSignalR();\n const {\n user\n } = useSelector(state => state.auth)\n React.useEffect(() => {\n if (user) {\n const token = localStorage.getItem(\"jwtToken\");\n\n startHub(token);\n onReceiveNotify();\n return;\n }\n closeHub();\n }, [user])\n\n\n return (\n \n {children}\n \n )\n}\n\nexport default SignalRProvider\n","import * as signalR from '@microsoft/signalr'\nimport config from 'src/configs'\nimport { AuthActions } from 'src/store/auth/actions';\nimport { useDispatch } from 'react-redux';\n\nexport const useSignalR = () => {\n const hub = new signalR.HubConnectionBuilder();\n let connection = hub\n .withUrl(`${config.baseUrl}/notificationHub`,\n {\n accessTokenFactory: () => localStorage.getItem(\"jwtToken\"),\n\n })\n .withAutomaticReconnect()\n .configureLogging(signalR.LogLevel.Debug)\n .build();\n const startHub = (token) => {\n if (!config.signalR) return;\n try {\n\n connection.start()\n .then()\n .catch(err => {\n // console.log('Error while starting connection' + err)\n\n })\n } catch (error) {\n // console.log(\"start the hub error\", error)\n }\n\n connection.onclose((error) => {\n // console.log(\"connection closed\")\n connect(connection);\n })\n\n\n }\n\n async function connect(conn) {\n if (!config.signalR) return;\n conn.start().catch(e => {\n sleep(5000);\n // console.log(\"Reconnecting Socket\");\n connect(conn);\n }\n )\n }\n async function sleep(msec) {\n return new Promise(resolve => setTimeout(resolve, msec));\n }\n\n const closeHub = () => {\n if (connection)\n connection.stop();\n\n }\n\n const dispatch = useDispatch();\n const onReceiveNotify = () => {\n if (!config.signalR) return;\n connection.on(\"ReceiveMessage\", (message) => {\n dispatch(AuthActions.updateToken(message))\n // dispatch(AuthActions.addNotification({ ...message, createdDate: new Date() }))\n })\n }\n return {\n startHub,\n onReceiveNotify,\n closeHub\n }\n\n}\n\n","import { Trans } from \"@lingui/react\";\nimport React from \"react\";\n\nfunction TransKeyNotFound() {\n return (\n
\n \n
\n );\n}\n\nexport default TransKeyNotFound;\n","// ** React Imports\nimport { Suspense, lazy } from 'react'\nimport ReactDOM from 'react-dom'\n\n// ** Redux Imports\nimport { Provider } from 'react-redux'\n// import { store } from './redux/storeConfig/store'\nimport { history, store } from './store'\n\n// ** Toast & ThemeColors Context\nimport { ToastContainer } from 'react-toastify'\nimport { ThemeContext } from './utility/context/ThemeColors'\n\nimport { AbilityContext } from 'src/utility/context/Can'\n// ** Spinner (Splash Screen)\nimport Spinner from './@core/components/spinner/Fallback-spinner'\n\n// ** Ripple Button\nimport './@core/components/ripple-button'\n\n// ** PrismJS\nimport 'prismjs'\nimport 'prismjs/themes/prism-tomorrow.css'\nimport 'prismjs/components/prism-jsx.min'\n\n// ** React Perfect Scrollbar\nimport 'react-perfect-scrollbar/dist/css/styles.css'\n\n// ** React Toastify\nimport '@styles/react/libs/toastify/toastify.scss'\n\n// ** Core styles\nimport './@core/assets/fonts/feather/iconfont.css'\nimport './@core/scss/core.scss'\nimport './assets/scss/style.scss'\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\n// ** Service Worker\nimport * as serviceWorker from './serviceWorker'\nimport { IntlProviderWrapper } from './utility/context/Internationalization'\n// import ability from './configs/acl/ability';\nimport userAbility from 'src/configs/permission/userAbitlity';\nimport { ConnectedRouter } from 'connected-react-router'\nimport { Router } from 'react-router-dom'\nimport SignalRProvider from './utility/providers/SignalRProvider'\nimport TransKeyNotFound from './components/TransKeyNotFound'\n\n// ** Lazy load app\nconst LazyApp = lazy(() => import('./App'))\n\nReactDOM.render(\n \n \n }>\n \n \n \n \n\n {/* */}\n \n \n \n {/* */}\n \n \n \n \n \n \n ,\n document.getElementById('root')\n)\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister()\n","import { DIRECTIONS } from \"react-with-direction/dist/DirectionProvider\";\n\nexport const DEFAULT_DIRECTION = DIRECTIONS.LTR;\nexport const DEFAULT_LOCALE = \"en\";\nexport const DEFAULT_CURRENCY = \"SAR\";\n","import createReducer from \"src/utils/reduxsauce/createReducer\";\nimport { DEFAULT_LOCALE, DEFAULT_DIRECTION, getLocaleDirection, DEFAULT_CURRENCY } from \"../constants\";\nimport { ActionTypes } from \"./actions\";\nimport {locales} from \"../SupportedLocales\";\n\nimport { defaultState, bindReducers } from \"src/utils/genState\";\n\nconst initialState = {\n supportedLocales: locales,\n locale: locales[DEFAULT_LOCALE],\n direction: DEFAULT_DIRECTION,\n defaultCurrency: DEFAULT_CURRENCY,\n priceDisplay: \"baseprice\", //allawed values: baseprice, fees, prepayamount, totalamount\n lastPing: \"\",\n isLoadingHotels: false,\n layout: \"vertical\", // options[String]: \"vertical\"(default), \"horizontal\"\n theme: \"light\", // options[String]: 'light'(default), 'dark', 'semi-dark'\n sidebarCollapsed: false, // options[Boolean]: true, false(default)\n navbarColor: \"default\", // options[String]: default / primary / success / danger / info / warning / dark\n navbarType: \"floating\", // options[String]: floating(default) / static / sticky / hidden\n footerType: \"static\", // options[String]: static(default) / sticky / hidden\n disableCustomizer: true, // options[Boolean]: true, false(default)\n hideScrollToTop: false, // options[Boolean]: true, false(default)\n menuTheme: \"primary\", // options[String]: primary / success / danger / info / warning / dark\n extraStarred: [],\n suggestions: [],\n starred: [],\n defaultLat:21.4233733,\n defaultLong:39.821831,\n defaultZoom:12.5,\n ...defaultState(\"isoCountries\"),\n};\n\nconst changeLocale = (state, draft, locale) => {\n\n let _locale = locales[locale.code];\n if (!_locale) _locale = locales[DEFAULT_LOCALE];\n\n draft.locale = _locale;\n draft.direction = _locale.direction.toLowerCase() === \"rtl\" ? \"rtl\" : \"ltr\";\n localStorage.setItem(\"culture\", _locale.code);\n localStorage.setItem(\"language\", _locale.code);\n localStorage.setItem(\"cultureCode\", _locale.culture);\n localStorage.setItem(\"isRTL\", _locale.isRTL);\n\n // window.recaptchaOptions = {\n // lang: locale,\n // };\n\n document.getElementsByTagName(\"html\")[0].setAttribute(\"dir\", _locale.direction);\n document.getElementsByTagName(\"body\")[0].setAttribute(\"dir\", _locale.direction);\n document.getElementsByTagName(\"body\")[0].setAttribute(\"direction\", _locale.direction);\n document.getElementsByTagName(\"body\")[0].style.direction=_locale.direction;\n document.getElementsByTagName(\"body\")[0].style.textAlign=_locale.direction===\"RTL\"?\"right\":\"unset\";\n};\nconst changeCurrencySuccess = (state, draft, payload ) => {\n // const { currency } = payload;\n // draft.currency = SupportedCurrencies[currency];\n // storage.setItem(\"currency\", currency);\n};\n\nconst changePriceDisplay = (state, draft,{ priceDisplay }) => {\n draft.priceDisplay = priceDisplay;\n};\n\nconst ping = (state,draft, payload) => {\n draft.lastPing = payload;\n};\n\nconst setIsLoading = (state,draft, payload) => {\n draft.isLoadingHotels = true;\n};\n\nconst clearIsLoading = (state,draft, payload) => {\n draft.isLoadingHotels = false;\n};\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {action:\"setIsLoading\",async:false,successCb:setIsLoading}),\n ...bindReducers(ActionTypes, {action:\"clearIsLoading\",async:false,successCb:clearIsLoading}),\n ...bindReducers(ActionTypes, {action:\"changeLocale\",async:false,successCb:changeLocale}),\n});\n","import { createActions } from \"src/utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n ping: { args: [], meta: { async: true } },\n changeLocale: { args: [\"payload\"] },\n changeCurrency: { args: [\"payload\"], meta: { async: true } },\n changePriceDisplay: { args: [\"payload\"] },\n setIsLoading: { args: [] },\n clearIsLoading: { args: [] },\n getCountries:{ args: [], meta: { async: true } },\n getCities:{ args: [], meta: { async: true } }\n },\n {\n prefix: \"@app/app/\"\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const AppActions = Creators;\n","// import { toAbsoluteUrl } from \"src/_metronic/_helpers\";\n\nexport const locales = {\n \"ar\": {\n \"code\": \"ar\",\n \"name\": \"العربية\",\n \"direction\": \"RTL\",\n // \"flag\": toAbsoluteUrl(\"/media/svg/flags/158-egypt.svg\"),\n \"culture\": \"ar-SA\",\n flag:\"eg\",\n isRTL:true,\n default: true\n },\n // \"en\": {\n // \"code\": \"en\",\n // \"name\": \"English\",\n // \"direction\": \"LTR\",\n // // \"flag\": toAbsoluteUrl(\"/media/svg/flags/226-united-states.svg\"),\n // \"culture\": \"en-US\",\n // flag:\"us\",\n // default: false\n // }\n}","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getSettings: { args: [], meta: { async: true } },\n editSetting:{ args: [\"payload\"], meta: { async: true } },\n editAllSettings:{ args: [\"payload\"], meta: { async: true } },\n },\n {\n prefix: \"@app/settings/\"\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n // categories\n getGeneralInfo: { args: [\"payload\"], meta: { async: true } },\n getTransactions: { args: [\"payload\"], meta: { async: true } },\n getProducts: { args: [\"payload\"], meta: { async: true } },\n },\n {\n prefix: \"@app/dashboard/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","// You can customize the template with the help of this file\n\n//Template config options\nconst themeConfig = {\n app: {\n appName: '',\n appLogoImage: require('@src/assets/images/logo/mainlogoCrop.png').default\n },\n layout: {\n isRTL: true,\n skin: 'light', // light, dark, bordered, semi-dark\n routerTransition: 'fadeIn', // fadeIn, fadeInLeft, zoomIn, none or check this for more transition https://animate.style/\n type: 'vertical', // vertical, horizontal\n contentWidth: 'full', // full, boxed\n menu: {\n isHidden: true,\n isCollapsed: false,\n },\n navbar: {\n // ? For horizontal menu, navbar type will work for navMenu type\n type: 'sticky', // static , sticky , floating, hidden\n backgroundColor: 'white' // BS color options [primary, success, etc]\n },\n footer: {\n type: 'static' // static, sticky, hidden\n },\n customizer: false,\n scrollTop: true // Enable scroll to top button\n }\n}\n\nexport default themeConfig\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getUsers: { args: [\"payload\"], meta: { async: true } },\n getUser: { args: [\"payload\"], meta: { async: true } },\n getPermissions: { args: [], meta: { async: true } },\n createUser: { args: [\"payload\"], meta: { async: true } },\n createUsers: { args: [\"payload\"], meta: { async: true } },\n createAppUser: { args: [\"payload\"], meta: { async: true } },\n deleteUser: { args: [\"payload\"], meta: { async: true } },\n setUser: { args: [\"payload\"], meta: { async: false } },\n createRole: { args: [\"payload\"], meta: { async: true } },\n getRoles: { args: [\"payload\"], meta: { async: true } },\n getRole: { args: [\"payload\"], meta: { async: true } },\n editUser: { args: [\"payload\"], meta: { async: true } },\n editRole: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n deleteRole: { args: [\"payload\"], meta: { async: true } },\n getCustomers: { args: [\"payload\"], meta: { async: true } },\n\n getRegionManagers: { args: [\"payload\"], meta: { async: true } },\n getRegionManager: { args: [\"payload\"], meta: { async: true } },\n createRegionManager: { args: [\"payload\"], meta: { async: true } },\n deleteRegionManager: { args: [\"payload\"], meta: { async: true } },\n editRegionManager: { args: [\"payload\"], meta: { async: true } },\n getUnassignedRegionManagers: { args: [\"payload\"], meta: { async: true } },\n getShopConsultants: { args: [\"payload\"], meta: { async: true } },\n },\n {\n prefix: \"@app/users/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","export default {\n useLocalApi: true,\n appName: \"Razy\",\n appTitle: \"Razy\",\n appDescription: \"razytech\",\n signalR:true,\n baseUrl:\"\",\n // baseUrl:\"https://www.nileappco.com/\",\n // apiRoot: \"https://www.nileappco.com/api\",\n // devApiRoot: \"http://localhost:5000/api\",\n devApiRoot: \"https://localhost:5260/\",\n // devApiRoot: \"https://www.nileappco.com/api\",\n pageOptions:[5,10,50,100], \n contactPhone: \"\",\n contactMail:\"\",\n addressOnMap:\"\",\n gen_password_length:10,\n gen_password_characters:'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijaklmnopqrstuvwxyz1234567890'\n};\n"],"sourceRoot":""}