{"version":3,"sources":["ui/assets/images/menu/sales-and-stock.svg","ui/assets/images/menu/sales-by-brick.svg","ui/assets/images/menu/show-chart.svg","common/Components/PrivateLayout/Footer/PrivateLayoutFooter.module.scss","features/statistics/api.ts","core/index.ts","app/constants/language-keys.ts","app/constants/index.ts","features/auth/api.ts","routes/set-supplier/api.ts","ui/assets/images/menu/customize-reports.svg","routes/set-supplier/SetSupplier.tsx","common/Components/PrivateLayout/Header/PrivateLayoutHeader.module.scss","features/auth/slice.ts","app/hooks.ts","core/localization/languages lazy /^/.//.*/.json$/ groupOptions: {} namespace object","common/Layouts/AuthLayout/index.tsx","ui/assets/images/user/user-placeholder.png","ui/assets/images/dropdown/settings.svg","ui/assets/images/dropdown/lock.svg","ui/assets/images/dropdown/work_history.svg","ui/assets/images/dropdown/logout.svg","common/Components/PrivateLayout/Header/index.tsx","common/Components/PrivateLayout/Footer/index.tsx","common/Components/PrivateLayout/Sidebar/index.tsx","common/Layouts/PrivateLayout/index.tsx","routes/login/index.tsx","routes/registration/index.tsx","routes/registration-success/index.tsx","routes/forgot-password/index.tsx","routes/forgot-password-success/index.tsx","routes/privacy/index.tsx","routes/terms/index.tsx","routes/update-user/index.tsx","routes/change-password/index.tsx","routes/reset-password/index.tsx","routes/dashboard/index.tsx","routes/report/index.tsx","routes/set-supplier/index.tsx","routes/tender/index.tsx","routes/customize-reports/index.tsx","routes/my-requests/index.tsx","routes/index.ts","ui/assets/images/menu/home.svg","ui/assets/images/menu/teams.svg","common/Layouts/index.tsx","common/App.tsx","app/store.ts","serviceWorker.ts","index.tsx","utils/api.ts","common/Layouts/AuthLayout/AuthLayout.module.scss","routes/set-supplier/SetSupplier.module.scss","features/layout/slice.tsx","common/Components/PrivateLayout/Sidebar/PrivateLayoutSidebar.module.scss","features/alert/slice.ts","features/report/slice.tsx","ui/assets/images/menu/sales-by-client.svg","ui/assets/images/home/dashboard.svg","core/localization/LanguageContext.ts","core/localization/Localize.tsx","app/constants/api.ts","common/Layouts/PrivateLayout/PrivateLayout.module.scss","features/statistics/types.ts"],"names":["module","exports","addStatistic","params","API","post","loginBtnTxt","loginFormTitle","loginSignupMessage","loginSignupLink","loginRememberDevice","registerHeaderTitle","registerHeaderDescription","registerLoginLink","registerFirstNameLabel","registerFirstNamePlaceHolder","registerLastNameLabel","registerLastNamePlaceHolder","registerEmailLabel","registerEmailPlaceHolder","registerPhoneNumberLabel","registerPhoneNumberPlaceHolder","registerCompanyInfoTxt","registerSupplierTitleLabel","registerSupplierTitlePlaceHolder","registerSupplierCompanyLabel","registerSupplierCompanyPlaceHolder","registerBtnTxt","forgetPasswordHeaderTitle","forgetPasswordHeaderDescription","forgetPasswordLoginLink","forgetPasswordEmailLabel","forgetPasswordEmailPlaceHolder","forgetPasswordBtnTxt","updateUserFirstNameLabel","updateUserFirstNamePlaceHolder","updateUserLastNameLabel","updateUserLastNamePlaceHolder","updateUserEmailLabel","updateUserEmailPlaceHolder","updateUserPhoneNumberLabel","updateUserPhoneNumberPlaceHolder","updateUserCompanyInfoTxt","updateUserSupplierTitleLabel","updateUserSupplierTitlePlaceHolder","updateUserSupplierCompanyLabel","updateUserSupplierCompanyPlaceHolder","updateUserBtnTxt","updateUserCancelBtnTxt","changePasswordFormTitle","changePasswordCurrentPasswordLabel","changePasswordCurrentPasswordPlaceHolder","changePasswordNewPasswordLabel","changePasswordNewPasswordPlaceHolder","changePasswordConfirmPasswordLabel","changePasswordConfirmPasswordPlaceHolder","changePasswordBtnTxt","resetPasswordFormTitle","resetPasswordNewPasswordLabel","resetPasswordNewPasswordPlaceHolder","resetPasswordConfirmPasswordLabel","resetPasswordConfirmPasswordPlaceHolder","resetPasswordBtnTxt","footerCopyrightTxt","validationFirstNameRequired","validationFirstNameLength","validationFirstNameRegex","validationLastNameRequired","validationLastNameLength","validationLastNameRegex","validationEmailRequired","validationEmailRegex","validationPhoneNumberRequired","validationPhoneNumberRegex","validationSupplierTitleRequired","validationSupplierTitleLength","validationSupplierTitleRegex","validationSupplierCompanyRequired","validationSupplierCompanyLength","validationSupplierCompanyRegex","validationPasswordRequired","validationPasswordRegex","validationCurrentPasswordRequired","validationCurrentPasswordRegex","validationNewPasswordRequired","validationNewPasswordRegex","validationConfirmPasswordRequired","validationConfirmPasswordRegex","reportTotalsItemsText","reportTotalsClientsText","reportTotalsSalesText","reportTotalsQuantitiesText","reportTotalsBranchesText","reportTotalsStocksText","reportTotalsBricksText","LanguageKeys","Language","login","forgotPassword","updateUser","put","changePassword","resetPassword","checkCustomizeReport","SetSupplier","handleClose","navigate","useNavigate","user","useAppSelector","selectUser","supplierId","selectSupplierId","useState","defaultValue","setDefaultValue","dispatch","useAppDispatch","option","userSuppliers","map","supplier","value","label","englishDescrption","businessType","useEffect","supplierVal","find","x","length","onChange","a","setSupplierInfo","checkCustomize","setSupplierHaveCustomizeReports","data","reportExist","className","styles","classNamePrefix","components","DropdownIndicator","props","type","SingleValue","children","singleValue","icon","supplierWrap","singleValue_title","result","isSearchable","name","options","menuPlacement","initialState","JSON","parse","localStorage","getItem","token","status","parseInt","undefined","HaveCustomizeReports","loginApi","createAsyncThunk","response","authSlice","createSlice","reducers","updateUserFun","state","action","payload","fullName","mobileNumber","supplierCompany","supplierTitle","picture","setItem","stringify","logOutFun","removeItem","toString","extraReducers","builder","addCase","pending","fulfilled","actions","auth","selectStatus","selectBusinessType","selectSupplierHaveCustomizeReports","useDispatch","useSelector","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","t","keys","Object","randomImages","randomNumber","Math","floor","random","AuthLayout","src","loading","alt","source","paperType","paperSize","text","url","PrivateLayoutHeader","userData","selectHeader","title","layout","theme","description","buttons","tabButtons","dropdownLinks","settingsIcon","isRoute","onClick","setIsDropdownOpen","passwordIcon","historyIcon","logoutIcon","linkColor","Action","StatisticActions","SignOut","FunctionId","StatisticFunctions","SupplierId","avatar","defaultAvatar","isDropdownOpen","dropDownToggleButton","useRef","userWrapper","HeaderClasses","classNames","header","layout_default","layout_large","theme_default","theme_team","clickOutside","current","contains","target","document","addEventListener","removeEventListener","content_wrapper","content_icon","content_icon_img","content","content_title","content_description","content_buttons","tabButton","idx","button","isActive","active","color","size","design","setActiveFrequency","frequency","speed","width","height","viewBox","backgroundColor","foregroundColor","y","rx","ry","user_wrapper","ref","firstName","lastName","user_avatar","open","arrow","links","process","PrivateLayoutFooter","year","Date","getFullYear","messages","useContext","LanguageContext","footer","footer_content","replace","PrivateLayoutSidebar","menu","sidebar","logo","suppliers","seperator_line","PrivateLayout","container","Login","lazy","LoginRoute","path","element","Registration","RegistrationRoute","RegistrationSuccess","RegistrationSuccessRoute","ForgotPassword","ForgotPasswordRoute","ForgotPasswordSuccess","ForgotPasswordSuccessRoute","Privacy","PrivacyRoute","Terms","TermsRoute","UpdateUser","UpdateUserRoute","ChangePassword","ChangePasswordRoute","ResetPassword","ResetPasswordRoute","Dashboard","Report","ReportRoute","SetSupplierRoute","Tender","TenderRoute","CustomizeReports","CustomizeReportsRoute","MyRequests","MyRequestsRoute","commonRoutes","authRoutes","ForgetPassword","privateRoutes","PrivateRoute","checkCustomizeReports","reports","reportsIcon","isParent","items","salesAndStockIcon","salesByClientIcon","salesByBrickIcon","customizedIcon","homeIcon","teamsIcon","privateRoute","AuthRoute","authRoute","LayoutManager","setHeader","HomeSVG","commonRoute","App","Api","interceptors","request","use","config","auth_token","headers","Authorization","error","reject","ex","message","errors","err","join","showAlert","setTimeout","hideAlert","fallback","store","configureStore","reducer","alert","alertReducer","authReducer","layoutReducer","report","reportReducer","Boolean","window","location","hostname","match","ReactDOM","render","StrictMode","Localize","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","console","instance","axios","create","baseURL","BASE_URL","timeout","layoutSlice","alertSlice","hidden","selectHidden","selectMessage","selectTitle","reportSlice","activeFrequency","shortcutFrequency","activeTab","charts","resetCharts","excelLastFileUrl","itemSummaryLastFileUrl","setShortcutFrequency","setActiveTab","setExcelLastFileUrl","setItemSummaryLastFileUrl","setCharts","sort","b","order","updateChart","tempCharts","i","findIndex","tc","splice","initiateCharts","clearCharts","selectActiveFrequency","selectShortcutFrequency","selectActiveTab","selectCharts","selectResetCharts","selectExcelLastFileUrl","selectItemSummaryLastFileUrl","React","createContext","changeLanguage","Provider","setMessages","language","setLanguage","setupLanguageMessagesCallback","useCallback","default","setupLanguageMessages","LOCALIZATION_API"],"mappings":"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","file":"static/js/main.1e3b143a.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/sales-and-stock.da501c7f.svg\";","export default __webpack_public_path__ + \"static/media/sales-by-brick.3c5d2071.svg\";","export default __webpack_public_path__ + \"static/media/show-chart.b50bbf5d.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"PrivateLayoutFooter_footer__sUhBh\",\"footer_content\":\"PrivateLayoutFooter_footer_content__2Jrxb\"};","import API from 'utils/api';\n\nimport { AddStatisticsRequest, AddStatisticsResponse } from './types';\n\nexport const addStatistic = (params: AddStatisticsRequest) => {\n return API.post(`Statistics/AddStatistic`, params);\n};\n","export { LanguageContext } from './localization/LanguageContext';\n\nexport * as Localize from './localization/Localize';\n","export const loginBtnTxt = 'login-btn-txt';\nexport const loginFormTitle = 'login-form-title';\nexport const loginSignupMessage = 'login-signup-message';\nexport const loginSignupLink = 'login-signup-link';\nexport const loginRememberDevice = 'login-remember-device';\nexport const registerHeaderTitle = 'register-header-title';\nexport const registerHeaderDescription = 'register-header-description';\nexport const registerLoginLink = 'register-login-link';\nexport const registerFirstNameLabel = 'register-first-name-label';\nexport const registerFirstNamePlaceHolder = 'register-first-name-place-holder';\nexport const registerLastNameLabel = 'register-last-name-label';\nexport const registerLastNamePlaceHolder = 'register-last-name-place-holder';\nexport const registerEmailLabel = 'register-email-label';\nexport const registerEmailPlaceHolder = 'register-email-place-holder';\nexport const registerPhoneNumberLabel = 'register-phone-number-label';\nexport const registerPhoneNumberPlaceHolder =\n 'register-phone-number-place-holder';\nexport const registerCompanyInfoTxt = 'register-company-info-txt';\nexport const registerSupplierTitleLabel = 'register-supplier-title-label';\nexport const registerSupplierTitlePlaceHolder =\n 'register-supplier-title-place-holder';\nexport const registerSupplierCompanyLabel = 'register-supplier-company-label';\nexport const registerSupplierCompanyPlaceHolder =\n 'register-supplier-company-place-holder';\nexport const registerBtnTxt = 'register-btn-txt';\nexport const forgetPasswordHeaderTitle = 'forget-password-header-title';\nexport const forgetPasswordHeaderDescription =\n 'forget-password-header-description';\nexport const forgetPasswordLoginLink = 'forget-password-login-link';\nexport const forgetPasswordEmailLabel = 'forget-password-email-label';\nexport const forgetPasswordEmailPlaceHolder =\n 'forgetPassword-email-place-holder';\nexport const forgetPasswordBtnTxt = 'forget-password-btn-txt';\nexport const updateUserFirstNameLabel = 'update-user-first-name-label';\nexport const updateUserFirstNamePlaceHolder =\n 'update-user-first-name-place-holder';\nexport const updateUserLastNameLabel = 'update-user-last-name-label';\nexport const updateUserLastNamePlaceHolder =\n 'update-user-last-name-place-holder';\nexport const updateUserEmailLabel = 'update-user-email-label';\nexport const updateUserEmailPlaceHolder = 'update-user-email-place-holder';\nexport const updateUserPhoneNumberLabel = 'update-user-phone-number-label';\nexport const updateUserPhoneNumberPlaceHolder =\n 'update-user-phone-number-place-holder';\nexport const updateUserCompanyInfoTxt = 'update-user-company-info-txt';\nexport const updateUserSupplierTitleLabel = 'update-user-supplier-title-label';\nexport const updateUserSupplierTitlePlaceHolder =\n 'update-user-supplier-title-place-holder';\nexport const updateUserSupplierCompanyLabel =\n 'update-user-supplier-company-label';\nexport const updateUserSupplierCompanyPlaceHolder =\n 'update-user-supplier-company-place-holder';\nexport const updateUserBtnTxt = 'update-user-btn-txt';\nexport const updateUserCancelBtnTxt = 'update-user-cancel-btn-txt';\nexport const changePasswordFormTitle = 'change-password-form-title';\nexport const changePasswordCurrentPasswordLabel =\n 'change-password-current-password-label';\nexport const changePasswordCurrentPasswordPlaceHolder =\n 'change-password-current-password-place-holder';\nexport const changePasswordNewPasswordLabel =\n 'change-password-new-password-label';\nexport const changePasswordNewPasswordPlaceHolder =\n 'change-password-new-password-place-holder';\nexport const changePasswordConfirmPasswordLabel =\n 'change-password-confirm-password-label';\nexport const changePasswordConfirmPasswordPlaceHolder =\n 'change-password-confirm-password-place-holder';\nexport const changePasswordBtnTxt = 'change-password-btn-txt';\nexport const resetPasswordFormTitle = 'reset-password-form-title';\nexport const resetPasswordNewPasswordLabel =\n 'reset-password-new-password-label';\nexport const resetPasswordNewPasswordPlaceHolder =\n 'reset-password-new-password-place-holder';\nexport const resetPasswordConfirmPasswordLabel =\n 'reset-password-confirm-password-label';\nexport const resetPasswordConfirmPasswordPlaceHolder =\n 'reset-password-confirm-password-place-holder';\nexport const resetPasswordBtnTxt = 'reset-password-btn-txt';\nexport const footerCopyrightTxt = 'footer-copyright-txt';\nexport const validationFirstNameRequired = 'validation-first-name-required';\nexport const validationFirstNameLength = 'validation-first-name-length';\nexport const validationFirstNameRegex = 'validation-last-name-regex';\nexport const validationLastNameRequired = 'validation-first-name-required';\nexport const validationLastNameLength = 'validation-last-name-length';\nexport const validationLastNameRegex = 'validation-last-name-regex';\nexport const validationEmailRequired = 'validation-email-required';\nexport const validationEmailRegex = 'validation-email-regex';\nexport const validationPhoneNumberRequired = 'validation-phone-number-required';\nexport const validationPhoneNumberRegex = 'validation-phone-number-regex';\nexport const validationSupplierTitleRequired =\n 'validation-supplier-title-required';\nexport const validationSupplierTitleLength = 'validation-supplier-title-length';\nexport const validationSupplierTitleRegex = 'validation-supplier-title-regex';\nexport const validationSupplierCompanyRequired =\n 'validation-supplier-company-required';\nexport const validationSupplierCompanyLength =\n 'validation-supplier-company-length';\nexport const validationSupplierCompanyRegex =\n 'validation-supplier-company-regex';\nexport const validationPasswordRequired = 'validation-password-required';\nexport const validationPasswordRegex = 'validation-password-regex';\nexport const validationCurrentPasswordRequired =\n 'validation-current-password-required';\nexport const validationCurrentPasswordRegex =\n 'validation-current-password-regex';\nexport const validationNewPasswordRequired = 'validation-new-password-required';\nexport const validationNewPasswordRegex = 'validation-new-password-regex';\nexport const validationConfirmPasswordRequired =\n 'validation-confirm-password-required';\nexport const validationConfirmPasswordRegex =\n 'validation-confirm-password-regex';\n\nexport const reportTotalsItemsText = 'report-totals-items-text';\nexport const reportTotalsClientsText = 'report-totals-clients-text';\nexport const reportTotalsSalesText = 'report-totals-sales-text';\nexport const reportTotalsQuantitiesText = 'report-totals-quantities-text';\n\nexport const reportTotalsBranchesText = 'report-totals-branches-text';\nexport const reportTotalsStocksText = 'report-totals-stocks-text';\nexport const reportTotalsBricksText = 'report-totals-bricks-text';\n","import * as Language from './language-keys';\n\nimport * as ApiConstants from './api';\n\nexport const LanguageKeys: { [key: string]: string } = Language;\nexport const Api = ApiConstants;\n","import {\n UpdateUserResponse,\n ForgotPasswordRequest,\n ForgotPasswordResponse,\n LoginBody,\n LoginResponse,\n ChangePasswordRequest,\n ChangePasswordResponse,\n ResetPasswordRequest,\n ResetPasswordResponse,\n} from './types';\n\nimport API from 'utils/api';\n\nexport function login(params: LoginBody) {\n return API.post(`Users/LoginByEmail`, params);\n}\n\nexport const forgotPassword = (params: ForgotPasswordRequest) => {\n return API.post(`Users/ForgetPassword`, params);\n};\n\nexport function updateUser(params: FormData) {\n return API.put(`Users/UpdateUser`, params);\n}\n\nexport function changePassword(params: ChangePasswordRequest) {\n return API.put(`Users/ChangePassword`, params);\n}\n\nexport function resetPassword(params: ResetPasswordRequest) {\n return API.put(`Users/ResetPassword`, params);\n}\n","import API from 'utils/api';\nimport { CheckCustomizeReportRequest, CheckCustomizeReportResponse } from './type';\n\nexport const checkCustomizeReport = (params: CheckCustomizeReportRequest) => {\n return API.post(`Reports/CheckCustomizeReportBySupplier`, params);\n};\n","export default __webpack_public_path__ + \"static/media/customize-reports.b0721ff5.svg\";","import { useState, useEffect } from 'react';\nimport styles from './SetSupplier.module.scss';\nimport { useAppDispatch, useAppSelector } from 'app/hooks';\nimport {\n selectSupplierId,\n selectUser,\n setSupplierHaveCustomizeReports,\n setSupplierInfo,\n} from 'features/auth/slice';\nimport Select, {\n SingleValue,\n components,\n SingleValueProps,\n DropdownIndicatorProps,\n} from 'react-select';\nimport { useNavigate } from 'react-router';\nimport { SupplierDropOption } from './type';\nimport { checkCustomizeReport } from './api';\n\nexport interface handleCloseInterface {\n handleClose?: () => void;\n}\n\nexport default function SetSupplier({\n handleClose,\n}: handleCloseInterface): JSX.Element {\n const navigate = useNavigate();\n\n const user = useAppSelector(selectUser);\n\n const supplierId = useAppSelector(selectSupplierId);\n\n const [defaultValue, setDefaultValue] = useState();\n\n const dispatch = useAppDispatch();\n\n const option: SupplierDropOption[] | undefined = user?.userSuppliers.map(\n (supplier) => ({\n value: supplier.supplierId,\n label: supplier.englishDescrption,\n businessType: supplier.businessType,\n }),\n );\n\n useEffect(() => {\n if (option) {\n if (supplierId && supplierId > 0) {\n const supplierVal = option.find((x) => x.value === supplierId);\n if (supplierVal) {\n setDefaultValue(supplierVal);\n }\n } else {\n setDefaultValue(option[0]);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [supplierId]);\n\n if (!user || !user.userSuppliers || user.userSuppliers.length === 1) {\n return <>;\n }\n\n const onChange = async (supplier: SingleValue) => {\n if (supplier) {\n dispatch(setSupplierInfo(supplier));\n\n if (supplier.businessType === 10) {\n var checkCustomize = await checkCustomizeReport({\n supplierId: supplier.value,\n });\n\n dispatch(\n setSupplierHaveCustomizeReports(\n checkCustomize.data.reportExist,\n ),\n );\n }\n\n navigate('/');\n\n if (handleClose) {\n handleClose();\n }\n }\n };\n\n const DropdownIndicator = (\n props: DropdownIndicatorProps,\n ) => {\n return (\n \n \n \n );\n };\n\n const SingleValue = ({\n children,\n ...props\n }: SingleValueProps) => (\n \n
\n \n \n \n
\n
\n Change Supplier\n
\n
{children}
\n
\n
\n
\n );\n\n return (\n <>\n {option ? (\n onChange(value)}\n value={defaultValue}\n />\n ) : null}\n \n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"PrivateLayoutHeader_header__1Rtja\",\"content_wrapper\":\"PrivateLayoutHeader_content_wrapper__3EHgh\",\"content_title\":\"PrivateLayoutHeader_content_title__2o6V-\",\"tab-buttons\":\"PrivateLayoutHeader_tab-buttons__2u6Uw\",\"button\":\"PrivateLayoutHeader_button__2bgi6\",\"active\":\"PrivateLayoutHeader_active__2VN0X\",\"user\":\"PrivateLayoutHeader_user__mSdDY\",\"user_wrapper\":\"PrivateLayoutHeader_user_wrapper__2Kyce\",\"user_avatar\":\"PrivateLayoutHeader_user_avatar__22yHC\",\"layout_default\":\"PrivateLayoutHeader_layout_default__2puWv\",\"content_icon\":\"PrivateLayoutHeader_content_icon__2iiTm\",\"layout_large\":\"PrivateLayoutHeader_layout_large__Rkna1\",\"theme_default\":\"PrivateLayoutHeader_theme_default__1s7a_\",\"theme_team\":\"PrivateLayoutHeader_theme_team__2Uh9Z\",\"content_icon_img\":\"PrivateLayoutHeader_content_icon_img__3rgX2\",\"content_description\":\"PrivateLayoutHeader_content_description__3Lrv2\",\"content_buttons\":\"PrivateLayoutHeader_content_buttons__3Lox1\"};","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { SupplierDropOption } from 'routes/set-supplier/type';\nimport { RootState } from '../../app/store';\n\nimport { login } from './api';\n\nimport { AuthState, UpdateUserResponse, LoginBody } from './types';\n\nconst initialState: AuthState = {\n user: JSON.parse(localStorage.getItem('user') ?? 'null'),\n token: localStorage.getItem('auth_token'),\n status: 'idle',\n supplierId: parseInt(localStorage.getItem('supplier_id') ?? '0') || undefined,\n businessType: parseInt(localStorage.getItem('business-type') ?? '0') || undefined,\n HaveCustomizeReports: localStorage.getItem('have-customize-reports') === 'true'\n};\n\nexport const loginApi = createAsyncThunk(\n 'auth/login',\n async (params: LoginBody) => {\n const response = await login(params);\n\n return response.data;\n },\n);\n\nexport const authSlice = createSlice({\n name: 'auth',\n initialState: initialState,\n reducers: {\n updateUserFun: (state, action: PayloadAction) => {\n state.token = action.payload.token;\n\n if(state.user){\n state.user.fullName = action.payload.user.fullName;\n state.user.mobileNumber = action.payload.user.mobileNumber;\n state.user.supplierCompany = action.payload.user.supplierCompany;\n state.user.supplierTitle = action.payload.user.supplierTitle;\n state.user.picture = action.payload.user.picture;\n } \n\n localStorage.setItem('user', JSON.stringify(state.user));\n\n localStorage.setItem('access_token', action.payload.token);\n },\n logOutFun: (state) => {\n state.token = null;\n state.user = undefined;\n state.supplierId = undefined;\n state.businessType = undefined;\n localStorage.removeItem('access_token');\n localStorage.removeItem('user');\n localStorage.removeItem('supplier_id');\n localStorage.removeItem('business-type');\n localStorage.removeItem('have-customize-reports');\n },\n setSupplierInfo: (state, action: PayloadAction) => {\n state.supplierId = action.payload?.value;\n state.businessType = action.payload?.businessType;\n\n localStorage.setItem('supplier_id', action.payload?.value?.toString() ?? '0');\n localStorage.setItem('business-type', action.payload?.businessType?.toString() ?? '10');\n },\n setSupplierHaveCustomizeReports: (state, action: PayloadAction) => {\n state.HaveCustomizeReports = action.payload;\n\n localStorage.setItem('have-customize-reports', action.payload ? 'true' : 'false');\n },\n },\n extraReducers: (builder) => {\n builder\n .addCase(loginApi.pending, (state) => {\n state.status = 'loading';\n })\n .addCase(loginApi.fulfilled, (state, action) => {\n state.status = 'idle';\n state.user = action.payload.user;\n state.token = action.payload.token;\n\n localStorage.setItem(\n 'user',\n JSON.stringify(action.payload.user),\n );\n\n localStorage.setItem('access_token', action.payload.token);\n });\n },\n});\n\nexport const { updateUserFun, logOutFun, setSupplierInfo, setSupplierHaveCustomizeReports } = authSlice.actions;\n\nexport const selectUser = (state: RootState) => state.auth.user;\nexport const selectStatus = (state: RootState) => state.auth.status;\nexport const selectSupplierId = (state: RootState) => state.auth.supplierId;\nexport const selectBusinessType = (state: RootState) => state.auth.businessType;\nexport const selectSupplierHaveCustomizeReports = (state: RootState) => state.auth.HaveCustomizeReports;\n\nexport default authSlice.reducer;\n","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\nimport type { RootState, AppDispatch } from './store';\n\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch();\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n","var map = {\n\t\"./ar.json\": [\n\t\t287,\n\t\t24\n\t],\n\t\"./en.json\": [\n\t\t288,\n\t\t25\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, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 273;\nmodule.exports = webpackAsyncContext;","import React from 'react';\n\nimport { Paper, Link, Logo } from 'ibnsina-ui';\n\nimport styles from './AuthLayout.module.scss';\n\nconst randomImages = [\n '/assets/images/guest-randoms/1.jpg',\n '/assets/images/guest-randoms/2.jpg',\n '/assets/images/guest-randoms/3.jpg',\n '/assets/images/guest-randoms/4.jpg',\n '/assets/images/guest-randoms/5.jpg',\n '/assets/images/guest-randoms/6.jpg',\n '/assets/images/guest-randoms/7.jpg',\n '/assets/images/guest-randoms/8.jpg',\n '/assets/images/guest-randoms/9.jpg',\n '/assets/images/guest-randoms/10.jpg',\n '/assets/images/guest-randoms/11.jpg',\n '/assets/images/guest-randoms/12.jpg',\n '/assets/images/guest-randoms/13.jpg',\n '/assets/images/guest-randoms/14.jpg',\n];\n\nconst randomNumber = Math.floor(Math.random() * randomImages.length);\n\nexport default function AuthLayout({\n children,\n}: {\n children: React.ReactNode;\n}): JSX.Element {\n return (\n
\n
\n \n
\n
\n \n
\n \n {children}\n \n
\n \n By continuing you accept our{' '}\n {' '}\n and{' '}\n \n .\n \n
\n
\n
\n
\n );\n}\n","export default __webpack_public_path__ + \"static/media/user-placeholder.e477199f.png\";","export default __webpack_public_path__ + \"static/media/settings.06fb4553.svg\";","export default __webpack_public_path__ + \"static/media/lock.183a538c.svg\";","export default __webpack_public_path__ + \"static/media/work_history.5b5707d7.svg\";","export default __webpack_public_path__ + \"static/media/logout.64c5e525.svg\";","import { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\n\nimport ContentLoader from 'react-content-loader';\n\nimport {\n DropDownLinkAsRoute,\n DropDownLinkCommon,\n PrivateLayoutHeaderProps,\n} from './types';\nimport styles from './PrivateLayoutHeader.module.scss';\n\nimport { useNavigate } from 'react-router-dom';\n\nimport defaultAvatar from 'ui/assets/images/user/user-placeholder.png';\nimport { Avatar, DropdownMenu } from 'ibnsina-ui';\n\nimport { useAppDispatch, useAppSelector } from 'app/hooks';\nimport { selectHeader } from 'features/layout/slice';\nimport { Button } from 'ibnsina-ui';\nimport { setActiveFrequency } from 'features/report/slice';\n\nimport settingsIcon from 'ui/assets/images/dropdown/settings.svg';\nimport passwordIcon from 'ui/assets/images/dropdown/lock.svg';\nimport historyIcon from 'ui/assets/images/dropdown/work_history.svg';\nimport logoutIcon from 'ui/assets/images/dropdown/logout.svg';\nimport { logOutFun, selectSupplierId, selectUser } from 'features/auth/slice';\nimport { addStatistic } from 'features/statistics/api';\nimport {\n StatisticActions,\n StatisticFunctions,\n} from 'features/statistics/types';\n\nconst PrivateLayoutHeader = () => {\n const dispatch = useAppDispatch();\n\n let navigate = useNavigate();\n\n const userData = useAppSelector(selectUser);\n\n const supplierId = useAppSelector(selectSupplierId);\n\n const {\n icon,\n title,\n layout,\n theme,\n user,\n description,\n buttons,\n tabButtons,\n }: PrivateLayoutHeaderProps = useAppSelector(selectHeader);\n\n const dropdownLinks: (DropDownLinkCommon & DropDownLinkAsRoute)[] = [\n {\n icon: settingsIcon,\n label: 'Profile Settings',\n //href: '/update-user',\n isRoute: false,\n onClick: async () => {\n setIsDropdownOpen(false);\n\n navigate('/update-user');\n },\n },\n {\n icon: passwordIcon,\n label: 'Change Password',\n // href: '/change-password',\n isRoute: false,\n onClick: async () => {\n setIsDropdownOpen(false);\n\n navigate('/change-password');\n },\n },\n {\n icon: historyIcon,\n label: 'My Requests',\n // href: '/myrequests/list',\n isRoute: false,\n onClick: async () => {\n setIsDropdownOpen(false);\n\n navigate('/myrequests/list');\n },\n },\n {\n icon: logoutIcon,\n label: 'Logout',\n linkColor: 'red' as const,\n isRoute: false,\n onClick: async () => {\n await addStatistic({\n Action: StatisticActions.SignOut,\n FunctionId: StatisticFunctions.SignOut,\n SupplierId: supplierId ?? 0,\n });\n\n navigate('/');\n dispatch(logOutFun());\n },\n },\n ];\n\n const avatar = userData?.picture || defaultAvatar;\n\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\n const dropDownToggleButton = useRef(null);\n const userWrapper = useRef(null);\n\n const HeaderClasses = classNames(styles.header, {\n [styles.layout_default]: layout === 'default' || !layout,\n [styles.layout_large]: layout === 'large',\n [styles.theme_default]: theme === 'default' || 'home' || !theme,\n [styles.theme_team]: theme === 'team',\n });\n\n const toggleDropdown = () => {\n setIsDropdownOpen(!isDropdownOpen);\n };\n\n useEffect(() => {\n const clickOutside = (e: MouseEvent) => {\n if (\n !dropDownToggleButton?.current?.contains(\n e.target as Node | null,\n ) &&\n !userWrapper?.current?.contains(e.target as Node | null)\n ) {\n if (isDropdownOpen) {\n setIsDropdownOpen(false);\n }\n } else {\n return true;\n }\n };\n\n document.addEventListener('mousedown', clickOutside);\n\n return () => {\n document.removeEventListener('mousedown', clickOutside);\n };\n }, [isDropdownOpen]);\n\n return (\n
\n
\n
\n \n
\n
\n

{title}

\n {description && layout === 'large' ? (\n

\n {description}\n

\n ) : null}\n {buttons && layout === 'large' ? (\n
{buttons}
\n ) : null}\n
\n {tabButtons ? (\n
\n {tabButtons.map((tabButton, idx) => (\n \n {\n {\n dispatch(\n setActiveFrequency(\n tabButton.frequency,\n ),\n );\n }}>\n {tabButton.text}\n \n }\n
\n ))}\n {tabButtons.length ? null : (\n \n \n \n \n \n )}\n
\n ) : null}\n \n
\n \n \n \n \n
\n {/*
\n \"\"\n
*/}\n\n {layout === 'large' ? (\n \n ) : null}\n
\n );\n};\n\nexport default PrivateLayoutHeader;\n","import { useContext } from 'react';\nimport { LanguageContext } from 'core';\nimport { LanguageKeys } from 'app/constants';\n\nimport styles from './PrivateLayoutFooter.module.scss';\n\n\nfunction PrivateLayoutFooter() {\n const year = new Date().getFullYear();\n const messages = useContext(LanguageContext).messages;\n\n return (\n
\n
\n \n {messages[LanguageKeys.footerCopyrightTxt].replace(\n '{year}',\n year.toString(),\n )}\n \n
\n
\n );\n}\n\nexport default PrivateLayoutFooter;\n","import { ReactSVG } from 'react-svg';\n\nimport SetSupplier from 'routes/set-supplier/SetSupplier';\nimport styles from './PrivateLayoutSidebar.module.scss';\n\nfunction PrivateLayoutSidebar({ menu }: { menu: JSX.Element }) {\n return (\n \n );\n}\n\nexport default PrivateLayoutSidebar;\n","import {\n PrivateLayoutFooter,\n PrivateLayoutHeader,\n PrivateLayoutSidebar,\n} from 'common/Components/PrivateLayout';\n\nimport { PrivateLayoutProps } from './types';\n\nimport styles from './PrivateLayout.module.scss';\n\nconst PrivateLayout = ({ children, menu }: PrivateLayoutProps) => {\n return (\n
\n \n
\n \n
{children}
\n \n
\n
\n );\n};\n\nexport default PrivateLayout;\n","/**\n * User account login route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst Login = lazy(() => import('./Login'));\n\nconst LoginRoute = } />;\n\nexport default LoginRoute;\n","/**\n * User account registration route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst Registration = lazy(() => import('./Registration'));\n\nconst RegistrationRoute = (\n } />\n);\n\nexport default RegistrationRoute;\n","/**\n * Registration success route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst RegistrationSuccess = lazy(() => import('./RegistrationSuccess'));\n\nconst RegistrationSuccessRoute = (\n }\n />\n);\n\nexport default RegistrationSuccessRoute;\n","/**\n * User account forget password route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst ForgotPassword = lazy(() => import('./ForgotPassword'));\n\nconst ForgotPasswordRoute = (\n }\n />\n);\n\nexport default ForgotPasswordRoute;\n","import React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst ForgotPasswordSuccess = lazy(() => import('./ForgotPasswordSuccess'));\n\nconst ForgotPasswordSuccessRoute = (\n }\n />\n);\n\nexport default ForgotPasswordSuccessRoute;\n","/**\n * Privacy route.\n */\nimport { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst Privacy = lazy(() => import('./Privacy'));\n\nconst PrivacyRoute = (\n } />\n);\n\nexport default PrivacyRoute;\n","/**\n * Terms route.\n */\nimport { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst Terms = lazy(() => import('./Terms'));\n\nconst TermsRoute = } />;\n\nexport default TermsRoute;\n","/**\n * Edit profile route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst UpdateUser = lazy(() => import('./UpdateUser'));\n\nconst UpdateUserRoute = (\n } />\n);\n\nexport default UpdateUserRoute;\n","/**\n * User account change password route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst ChangePassword = lazy(() => import('./ChangePassword'));\n\nconst ChangePasswordRoute = (\n }\n />\n);\n\nexport default ChangePasswordRoute;\n","/**\n * User account reset password route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst ResetPassword = lazy(() => import('./ResetPassword'));\n\nconst ResetPasswordRoute = (\n }\n />\n);\n\nexport default ResetPasswordRoute;\n","/**\n * User account forget password route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst Dashboard = lazy(() => import('./Dashboard'));\n\nconst ForgotPasswordRoute = (\n } />\n);\n\nexport default ForgotPasswordRoute;\n","/**\n * User account forget password route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst Report = lazy(() => import('./Report'));\n\nconst ReportRoute = (\n } />\n);\n\nexport default ReportRoute;\n","/**\n * User account set supplier route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst SetSupplier = lazy(() => import('./SetSupplier'));\n\nconst SetSupplierRoute = (\n } />\n);\n\nexport default SetSupplierRoute;\n","/**\n * Tenders route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst Tender = lazy(() => import('./Tender'));\n\nconst TenderRoute = } />;\n\nexport default TenderRoute;\n","/**\n * Customize reports route.\n */\nimport React, { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst CustomizeReports = lazy(() => import('./CustomizeReports'));\n\nconst CustomizeReportsRoute = (\n }\n />\n);\n\nexport default CustomizeReportsRoute;\n","/**\n * MyRequests route.\n */\nimport { lazy } from 'react';\n\nimport { Route } from 'react-router-dom';\n\nconst MyRequests = lazy(() => import('./MyRequests'));\n\nconst MyRequestsRoute = (\n }\n />\n);\n\nexport default MyRequestsRoute;\n","import Login from './login';\nimport Registration from './registration';\nimport RegistrationSuccess from './registration-success';\nimport ForgetPassword from './forgot-password';\nimport ForgotPasswordSuccess from './forgot-password-success';\nimport Privacy from './privacy';\nimport Terms from './terms';\nimport UpdateUser from './update-user';\nimport ChangePassword from './change-password';\nimport ResetPassword from './reset-password';\nimport Dashboard from './dashboard';\nimport Report from './report';\nimport SetSupplier from './set-supplier';\nimport Tender from './tender';\nimport CustomizeReports from './customize-reports';\nimport MyRequests from './my-requests';\n\nexport const commonRoutes = [\n Terms,\n ForgotPasswordSuccess,\n RegistrationSuccess,\n Privacy,\n SetSupplier\n];\n\nexport const authRoutes = [\n Login,\n Registration,\n ForgetPassword,\n ResetPassword,\n];\n\nexport const privateRoutes = [UpdateUser, ChangePassword, Dashboard, Report,Tender, CustomizeReports, MyRequests];\n","export default __webpack_public_path__ + \"static/media/home.c2597b54.svg\";","export default __webpack_public_path__ + \"static/media/teams.d07bc7ff.svg\";","import { Route, Routes } from 'react-router';\n\nimport { Menu } from 'ibnsina-ui';\n\nimport AuthLayout from './AuthLayout';\nimport PrivateLayout from './PrivateLayout';\n\nimport { commonRoutes, privateRoutes, authRoutes } from 'routes';\n\nimport { useAppDispatch, useAppSelector } from 'app/hooks';\nimport {\n selectBusinessType,\n selectSupplierHaveCustomizeReports,\n selectSupplierId,\n selectUser,\n} from 'features/auth/slice';\n\nimport homeIcon from 'ui/assets/images/menu/home.svg';\nimport reportsIcon from 'ui/assets/images/menu/show-chart.svg';\nimport salesAndStockIcon from 'ui/assets/images/menu/sales-and-stock.svg';\nimport salesByClientIcon from 'ui/assets/images/menu/sales-by-client.svg';\nimport salesByBrickIcon from 'ui/assets/images/menu/sales-by-brick.svg';\nimport teamsIcon from 'ui/assets/images/menu/teams.svg';\nimport customizedIcon from 'ui/assets/images/menu/customize-reports.svg';\n\nimport HomeSVG from 'ui/assets/images/home/dashboard.svg';\n\nimport { useEffect } from 'react';\nimport { setHeader } from 'features/layout/slice';\nimport { ItemsType } from 'ibnsina-ui/dist/components/Menu/types';\n\nconst PrivateRoute = () => {\n const businessType = useAppSelector(selectBusinessType);\n\n const checkCustomizeReports = useAppSelector(\n selectSupplierHaveCustomizeReports,\n );\n\n let reports: ItemsType[] = [];\n\n switch (businessType) {\n case 10:\n reports = [\n {\n title: 'Reports',\n icon: reportsIcon,\n isParent: true,\n items: checkCustomizeReports\n ? [\n {\n url: 'report/sas',\n title: 'Sales & Stock',\n icon: salesAndStockIcon,\n },\n {\n url: 'report/sbc',\n title: 'Sales by Client',\n icon: salesByClientIcon,\n },\n {\n url: 'report/sbb',\n title: 'Sales by Brick',\n icon: salesByBrickIcon,\n },\n {\n url: 'customized-reports',\n title: 'Customized',\n icon: customizedIcon,\n },\n ]\n : [\n {\n url: 'report/sas',\n title: 'Sales & Stock',\n icon: salesAndStockIcon,\n },\n {\n url: 'report/sbc',\n title: 'Sales by Client',\n icon: salesByClientIcon,\n },\n {\n url: 'report/sbb',\n title: 'Sales by Brick',\n icon: salesByBrickIcon,\n },\n ],\n },\n ];\n break;\n case 20:\n reports = [\n {\n title: 'Reports',\n icon: reportsIcon,\n isParent: true,\n items: [\n {\n url: 'tender',\n title: 'Tenders',\n icon: salesByClientIcon,\n },\n ],\n },\n ];\n break;\n }\n\n const menu = (\n \n );\n\n return (\n \n \n {[privateRoutes, ...commonRoutes].map(\n (privateRoute) => privateRoute,\n )}\n \n \n );\n};\n\nconst AuthRoute = () => {\n return (\n \n \n {[authRoutes, ...commonRoutes].map((authRoute) => authRoute)}\n \n \n );\n};\n\nexport default function LayoutManager() {\n const dispatch = useAppDispatch();\n const user = useAppSelector(selectUser);\n const supplier = useAppSelector(selectSupplierId);\n\n useEffect(() => {\n dispatch(\n setHeader({\n icon: HomeSVG,\n title: 'Page Title',\n user: {\n id: '1',\n firstName: '',\n lastName: '',\n avatar: '',\n },\n layout: 'default' as const,\n theme: 'default' as const,\n }),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n : }\n />\n {[commonRoutes].map((commonRoute) => commonRoute)}\n \n );\n}\n","import { Suspense, useEffect } from 'react';\n\nimport { logOutFun } from 'features/auth/slice';\nimport { hideAlert, showAlert } from 'features/alert/slice';\nimport { useAppDispatch } from 'app/hooks';\n\nimport LayoutManager from './Layouts';\n\nimport Api from 'utils/api';\n\nfunction App() {\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n Api.interceptors.request.use(\n (config) => {\n const auth_token = localStorage.getItem('access_token') || '';\n\n if (config.headers && auth_token) {\n config.headers.Authorization = `Bearer ${auth_token}`;\n }\n\n return config;\n },\n (error) => {\n return Promise.reject(error);\n },\n );\n\n Api.interceptors.response.use(\n (response) => {\n return response;\n },\n (ex) => {\n if (ex.response.status === 401) {\n dispatch(logOutFun());\n\n return Promise.reject(ex);\n }\n\n let message = ex.message;\n\n if (\n ex &&\n ex.response &&\n ex.response.data &&\n ex.response.data.error\n ) {\n message = ex.response.data.error;\n }\n\n if (\n ex &&\n ex.response &&\n ex.response.data &&\n ex.response.data.errors\n ) {\n message = Object.keys(ex.response.data.errors)\n .map((err) => {\n return ex.response.data.errors[err].join('\\n');\n })\n .join('\\n');\n }\n\n dispatch(\n showAlert({\n status: 'error',\n title: 'Failed',\n message: message,\n }),\n );\n\n setTimeout(() => {\n dispatch(hideAlert());\n }, 5000);\n\n return Promise.reject(ex);\n },\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n Loading...}>\n \n \n );\n}\n\nexport default App;\n","import { configureStore, ThunkAction, Action } from '@reduxjs/toolkit';\nimport authReducer from '../features/auth/slice';\nimport alertReducer from '../features/alert/slice';\nimport layoutReducer from '../features/layout/slice';\nimport reportReducer from '../features/report/slice';\n\nexport const store = configureStore({\n reducer: {\n alert: alertReducer,\n auth: authReducer,\n layout: layoutReducer,\n report: reportReducer,\n },\n});\n\nexport type AppDispatch = typeof store.dispatch;\nexport type RootState = ReturnType;\n\nexport type AppThunk = ThunkAction<\n ReturnType,\n RootState,\n unknown,\n Action\n>;\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.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: 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: string, config?: 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: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\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 (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\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(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport App from './common/App';\nimport { store } from './app/store';\nimport { Provider } from 'react-redux';\nimport * as serviceWorker from './serviceWorker';\nimport { ThemeProvider } from 'ibnsina-ui';\nimport Localize from 'core/localization/Localize';\n\nReactDOM.render(\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 axios from 'axios';\n\nimport { BASE_URL } from 'app/constants/api';\n\nconst instance = axios.create({\n baseURL: BASE_URL,\n timeout: 1000000,\n});\n\nexport default instance;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"app-container\":\"AuthLayout_app-container__1VX8n\",\"random-image\":\"AuthLayout_random-image__3FfNp\",\"page-wrapper\":\"AuthLayout_page-wrapper__1uOth\",\"guest-header\":\"AuthLayout_guest-header__2OCY5\",\"page-content\":\"AuthLayout_page-content__2LhFb\",\"smalls\":\"AuthLayout_smalls__26xIm\",\"link\":\"AuthLayout_link__1ewL3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"drop-down-container\":\"SetSupplier_drop-down-container__1_BEC\",\"basic-single\":\"SetSupplier_basic-single__1rO5u\",\"singleValue\":\"SetSupplier_singleValue__24Y24\",\"singleValue_title\":\"SetSupplier_singleValue_title__1LriO\",\"result\":\"SetSupplier_result__3ZvdS\"};","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { PrivateLayoutHeaderProps } from 'common/Components/PrivateLayout/Header/types';\nimport { RootState } from '../../app/store';\n\nimport { LayoutState } from './types';\n\nimport HomeSVG from 'ui/assets/images/home/dashboard.svg';\n\nconst initialState: LayoutState = {\n header: {\n icon: HomeSVG,\n title: 'Page Title',\n user: {\n id: '1',\n firstName: '',\n lastName: '',\n avatar: '',\n },\n layout: 'default' as const,\n theme: 'default' as const,\n },\n};\n\nexport const layoutSlice = createSlice({\n name: 'layout',\n initialState: initialState,\n reducers: {\n setHeader: (state, action: PayloadAction) => {\n state.header = action.payload;\n },\n },\n});\n\nexport const { setHeader } = layoutSlice.actions;\n\nexport const selectHeader = (state: RootState) => state.layout.header;\n\nexport default layoutSlice.reducer;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sidebar\":\"PrivateLayoutSidebar_sidebar__2m0YS\",\"logo\":\"PrivateLayoutSidebar_logo__xxtdC\",\"menu\":\"PrivateLayoutSidebar_menu__2XhbN\",\"suppliers\":\"PrivateLayoutSidebar_suppliers__2NW04\",\"seperator_line\":\"PrivateLayoutSidebar_seperator_line__1eL06\"};","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { RootState } from '../../app/store';\n\nimport { AlertState } from './types';\n\nconst initialState: AlertState = {\n message: '',\n title: '',\n status: 'success',\n hidden: true,\n};\n\nexport const alertSlice = createSlice({\n name: 'alert',\n initialState,\n reducers: {\n showAlert: (state, action: PayloadAction) => {\n state.message = action.payload.message;\n state.title = action.payload.title;\n state.status = action.payload.status;\n state.hidden = false;\n },\n hideAlert: (state) => {\n state.hidden = true;\n state.message = '';\n state.title = '';\n state.status = 'error';\n },\n },\n});\n\nexport const { showAlert, hideAlert } = alertSlice.actions;\n\nexport const selectHidden = (state: RootState) => state.alert.hidden;\nexport const selectStatus = (state: RootState) => state.alert.status;\nexport const selectMessage = (state: RootState) => state.alert.message;\nexport const selectTitle = (state: RootState) => state.alert.title;\n\nexport default alertSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { ChartData } from 'common/Components/Report/ChartsManager/types';\nimport { RootState } from '../../app/store';\n\nimport { ReportState } from './types';\n\nconst initialState: ReportState = {\n activeFrequency: 0,\n shortcutFrequency: null,\n activeTab: 0,\n charts: null,\n resetCharts: false,\n excelLastFileUrl: null,\n itemSummaryLastFileUrl: null,\n};\n\nexport const reportSlice = createSlice({\n name: 'report',\n initialState: initialState,\n reducers: {\n setActiveFrequency: (state, action: PayloadAction) => {\n state.activeFrequency = action.payload;\n state.excelLastFileUrl = null;\n state.itemSummaryLastFileUrl = null;\n },\n setShortcutFrequency: (state, action: PayloadAction) => {\n state.shortcutFrequency = action.payload;\n },\n setActiveTab: (state, action: PayloadAction) => {\n state.activeTab = action.payload;\n },\n setExcelLastFileUrl: (state, action: PayloadAction) => {\n state.excelLastFileUrl = action.payload;\n },\n setItemSummaryLastFileUrl: (state, action: PayloadAction) => {\n state.itemSummaryLastFileUrl = action.payload;\n },\n setCharts: (state, action: PayloadAction) => {\n state.resetCharts = false;\n\n state.charts = [\n ...(state.charts ? state.charts : []),\n action.payload,\n ].sort(function (a, b) {\n return a.order - b.order;\n });\n },\n updateChart: (state, action: PayloadAction) => {\n let tempCharts = [...(state.charts ? state.charts : [])];\n\n for (let i = 0; i < action.payload.length; i++) {\n let idx = tempCharts.findIndex(\n (tc) => tc.order === action.payload[i],\n );\n\n tempCharts.splice(idx, 1);\n }\n\n state.charts = tempCharts;\n },\n initiateCharts: (state) => {\n state.charts = [];\n },\n clearCharts: (state) => {\n state.charts = null;\n state.resetCharts = true;\n },\n },\n});\n\nexport const { setActiveFrequency } = reportSlice.actions;\nexport const { setShortcutFrequency } = reportSlice.actions;\nexport const { setActiveTab } = reportSlice.actions;\nexport const { setExcelLastFileUrl } = reportSlice.actions;\nexport const { setItemSummaryLastFileUrl } = reportSlice.actions;\nexport const { setCharts } = reportSlice.actions;\nexport const { clearCharts } = reportSlice.actions;\nexport const { initiateCharts } = reportSlice.actions;\nexport const { updateChart } = reportSlice.actions;\n\nexport const selectActiveFrequency = (state: RootState) =>\n state.report.activeFrequency;\n\nexport const selectShortcutFrequency = (state: RootState) =>\n state.report.shortcutFrequency;\n\nexport const selectActiveTab = (state: RootState) => state.report.activeTab;\n\nexport const selectCharts = (state: RootState) => state.report.charts;\n\nexport const selectResetCharts = (state: RootState) => state.report.resetCharts;\n\nexport const selectExcelLastFileUrl = (state: RootState) =>\n state.report.excelLastFileUrl;\n\nexport const selectItemSummaryLastFileUrl = (state: RootState) =>\n state.report.itemSummaryLastFileUrl;\n\nexport default reportSlice.reducer;\n","export default __webpack_public_path__ + \"static/media/sales-by-client.3348b16e.svg\";","export default __webpack_public_path__ + \"static/media/dashboard.e2f88508.svg\";","import React from 'react';\n\ninterface ChangeLanguageFunctionInterface {\n (language: string): void;\n}\n\ninterface Map {\n [key: string]: string;\n}\n\ninterface LanguageContextInterface {\n changeLanguage: ChangeLanguageFunctionInterface | undefined;\n messages: Map;\n}\n\nexport const LanguageContext: React.Context =\n React.createContext({\n changeLanguage: undefined,\n messages: {},\n });\n\nexport const Provider = LanguageContext.Provider;\n","import React, { useState, useCallback, useEffect } from 'react';\n// import { LOCALIZATION_API } from 'app/constants/api';\nimport { Provider as LanguageProvider } from './LanguageContext';\n\nfunction Localize({ children }: { children: React.ReactNode }) {\n const [messages, setMessages] = useState({});\n const [language, setLanguage] = useState('en');\n\n const setupLanguageMessages = (language: string) => {\n return import(`./languages/${language}.json`).then((messages) => {\n setMessages(messages.default);\n });\n };\n\n const setupLanguageMessagesCallback = useCallback(() => {\n setupLanguageMessages(language);\n }, [language]);\n\n useEffect(() => {\n setupLanguageMessagesCallback();\n }, [setupLanguageMessagesCallback]);\n\n return (\n {\n setLanguage(language);\n setupLanguageMessagesCallback();\n },\n messages,\n }}>\n {Object.keys(messages).length ? children : null}\n \n );\n}\n\nexport default Localize;\n","export const BASE_URL = process.env.REACT_APP_BASE_URL;\nexport const LOCALIZATION_API = 'http://localhost:3033/localize';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PrivateLayout_container__MO7RZ\",\"content_wrapper\":\"PrivateLayout_content_wrapper__2hlIO\",\"content\":\"PrivateLayout_content__10qcA\"};","\nexport interface AddStatisticsRequest {\n SupplierId: number;\n FunctionId: string;\n Action: string;\n ReportTypeId?: number;\n FrequencyId?: number;\n}\n\nexport interface AddStatisticsResponse {\n status: boolean;\n}\n\nexport enum StatisticFunctions{\n SignIn= '1000001', //done\n SignOut= '1000044', //done\n Home= '1000009', //done\n UpdateProfile= '1000032', //done\n ForgetPassword= '1000002', //done\n ChangePassword= '1000008', //done\n MyRequests= '1000020',\n SubscribeRequest= '1000022', //done\n SubscribeRequestSuccess= '1000023',\n SupplierReportHistory= '1000021', //done\n SalesByClientCharts= '1000014', //done\n SalesByClientReports= '1000011', //done\n SalesByBrickCharts= '1000015', //done\n SalesByBrickReports= '1000012', //done\n SalesAndStockCharts= '1000013', //done\n SalesAndStockReports= '1000010', //done\n SupplierReport= '1000016', //done\n SupplierReportFrequency= '1000019', //done\n}\n \nexport enum StatisticActions{\n SignIn = 'SignIn',\n SignOut = 'SignOut',\n Unauthorized = 'Unauthorized',\n Idle = 'Idle',\n Visit = 'Visit',\n Download = 'Download',\n Subscribe = 'Subscribe'\n}\n"],"sourceRoot":""}