{"version":3,"sources":["components/utils/misc.js","redux/le/le.selector.js","redux/user/user.selector.js","redux/leads/leads.selector.js","redux/customer/customer.types.js","redux/customer/customer.action.js","redux/leads/leads.type.js","redux/dl/dl.type.js","redux/product/product.type.js","assets/logo.png","redux/push-subs/push-subs.action.js","redux/library/library.type.js","redux/leads/leads.action.js","common/api.js","redux/user/user.type.js","redux/user/user.reducer.js","redux/le/le.reducer.js","redux/customer/customer.reducer.js","redux/customer/custActivityExt.reducer.js","redux/order/order.reducer.js","redux/statement/statement.reducer.js","redux/dl/dl.reducer.js","redux/conference/conference.reducer.js","redux/account-summary/account-summary.reducer.js","redux/leads/leads.reducer.js","redux/modal/modal.reducer.js","redux/push-subs/push-subs.reducer.js","redux/econtract/econtract.reducer.js","redux/product/product.reducer.js","redux/library/library.reducer.js","redux/state-tax-master-setup/state-tax-master-setup.reducer.js","redux/root-reducer.js","redux/store.js","redux/modal/modal.selector.js","components/diaglog/modal-popup.jsx","components/diaglog/modal.js","routes/components/PrivateRoute/PrivateRoute.jsx","routes/components/PublicRoute/PublicRoute.jsx","components/menu-dropdown/menu-dropdown.jsx","components/header/header.jsx","layouts/Main/Main.jsx","layouts/Minimal/Minimal.jsx","layouts/Dashboard/Dashboard.jsx","components/error-boundry/error-boundry.jsx","routes/index.js","theme/palette.js","theme/typography.js","theme/overrides/index.js","theme/overrides/MuiButton.js","theme/overrides/MuiIconButton.js","theme/overrides/MuiPaper.js","theme/overrides/MuiTableCell.js","theme/overrides/MuiTableHead.js","theme/overrides/MuiTypography.js","theme/overrides/MuiTextField.js","theme/index.js","App.js","serviceWorkerRegistration.js","index.js","redux/push-subs/push-subs.type.js","redux/state-tax-master-setup/state-tax-master-setup.type.js","redux/modal/modal.action.js","components/custom-button/custom-button.jsx","redux/user/user.action.js","redux/conference/conference.types.js","redux/econtract/econtract.types.js","utils/sw.js","redux/order/order.type.js","redux/statement/statement.type.js","redux/account-summary/account-summary.action-types.js","redux/le/le.action.js","components/react-notification/react-notification.jsx","redux/le/le.type.js","components/spinner/spinner.jsx"],"names":["browser","tem","userAgent","navigator","match","result","test","exec","name","indexOf","replace","length","version","Number","onRouteChange","route","setCurrentUser","history","window","localStorage","removeItem","push","getScreenWidth","innerWidth","calcSubTotal","booksData","reduce","accumulator","book","price","quantity","randomQuoteGenerator","quoteArray","Math","floor","random","removeTrailingSpace","dataToBeTrimmed","Array","isArray","trim","data","Object","keys","map","k","d","getFirstAndLastInitial","split","i","initials","charAt","toUpperCase","toString","capitatlizeFirstLetter","slice","toLowerCase","join","addDollarSign","amt","amount","checkamountSign","sign","checkAmoutSign","toFixed","abs","convertExponentialToDecimal","exponentialNumber","str","exponent","parseInt","round","getCurrentCommissionMonth","monthNo","month","mapMonthToString","substr","STORAGE_KEY","setLeids","leids","key","setItem","JSON","stringify","getLeids","getItem","parse","getCurrentYear","Date","getFullYear","currentYear","prevYear","selectLe","state","le","selectLeSales","leSales","selectLeHistory","createSelector","leHistory","selectLesHistory","lesHistory","filter","self","findIndex","LEID","selectCurrentLeHistory","lesHistoryCurrentYear","fiscyr","currentyearLeHistory","leData","selectCommissionAndBonusYearToDate","leSalesStats","isLeHistoryFetching","isLesHistoryFetching","isLeSalesStatsFetching","commission_ytd","commissions_ytd","basic_ytd","bonus2Per_ytd","bonus3year_ytd","licensed_ytd","selectLeProfile","currentMonth","toLocaleString","today","lastMonthInNo","getMonth","lastMonth","setMonth","sales_jan","sales_feb","sales_mar","sales_apr","sales_may","sales_jun","sales_jul","sales_aug","sales_sep","sales_oct","sales_nov","sales_dec","profile","selectLeUser","user","selectLeLoader","loading","selectWTDsalesFromLeProfile","leProfile","weekToDateSales","User2","selectMTDsalesFromLeProfile","monthToDateSales","User3","selectYTDsalesFromLeProfile","yearToDateSales","User4","selectIsLeProfileLoaded","selectLeProfiles","profiles","selectActiveLeProfile","le_status","selectLEProfilesByDistrict","district","leProfiles","acc","dist","leader_status","concat","leProfilesByDistrict","selectCurrentMonthCommission","currcommpct","selectNextMonthCommission","nextcommpct","selectCommissionCurrentYear","commissioncurryr","selectCommissionNextYear","commissionnextyr","selectLeWrittenOffPct","WriteOffPercent","selectWeekToDateSalesOfLesFromSameDistrict","selectMTDSalesOfLesFromSameDistrict","selectYTDSalesOfLesFromSameDistrict","selectWeekToDateSalesOfConference","districts","selectMonthToDateSalesOfConference","selectYearToDateSalesOfConference","selectUser","selectCurrentUser","currentUser","selectTempUser","tempUser","selectIsUserLoggedIn","isLoggedIn","selectIsUserFetching","isUserFetching","leaderStatus","currentMonthCommission","nextMonthCommission","currentMonthCommissionData","nextMonthCommissionData","writtenOffPct","selectLeads","leads","selectLeadsData","leadsData","selectIsLeadsFetching","isLeadsFetching","selectLeadActionMode","mode","selectLeadData","leadData","selectLeadDataByConfID","lead","conf_id","selectMapDistrictToConfID","customerActionTypes","FETCH_CUSTOMER_START","FETCH_CUSTOMER_SUCCESS","FETCH_CUSTOMER_FAILED","FETCH_CUSTOMERS_START","FETCH_CUSTOMERS_SUCCESS","FETCH_CUSTOMERS_FAILED","FETCH_CUSTOMEREXT_START","FETCH_CUSTOMEREXT_SUCCESS","FETCH_CUSTOMEREXT_FAILED","API_URL","api","apiUrl","fetchCustomerStartAsync","leid","token","dispatch","type","fetch","method","headers","Authorization","then","resp","json","customerActivity","customernbr","payload","fetchCustomerSuccess","catch","err","errorMessage","message","fetchCustomerExtStartAsync","console","log","customerActivityExt","fetchCustomersOfLesFromSameDistrictStartAsync","body","fetchCustomersSuccess","leadsActionType","FETCH_LEAD_START","FETCH_LEAD_SUCCESS","FETCH_LEAD_FAILED","FETCH_ASSIGNED_LEAD_START","FETCH_ASSIGNED_LEAD_SUCCESS","SET_LEAD_ACTION_MODE","ADD_LEAD","UPDATE_LEAD","DELETE_LEAD","RESET_LEADS","RESET_ASSIGNED_LEADS","dlActionTypes","FETCH_DL_PROFILES_START","FETCH_DL_PROFILES_SUCCESS","FETCH_DL_PROFILES_FAILED","SET_DL_PROFILES","productActionTypes","FETCH_PRODUCT_START","FETCH_PRODUCT_SUCCESS","FETCH_PRODUCT_FAILED","UPDATE_PRODUCT_START","UPDATE_PRODUCT_SUCCESS","UPDATE_PRODUCT_FAILED","POST_PRODUCT_START","POST_PRODUCT_SUCCESS","POST_PRODUCT_FAILED","DELETE_PRODUCT_START","DELETE_PRODUCT_SUCCESS","DELETE_PRODUCT_FAILED","HIDE_ALERT","fetchPushSubsStartAsync","ok","sendLeadNotificationEmail","pushSubsTypes","FETCH_PUSH_SUBS_PENDING","subs","id","sendPushNotification","subscriptions","FETCH_PUSH_SUBS_SUCCESS","errMessage","FETCH_PUSH_SUBS_FAILED","libraryActionTypes","FETCH_LIBRARY_START","FETCH_LIBRARY_SUCCESS","FETCH_LIBRARY_FAILED","UPDATE_LIBRARY_START","UPDATE_LIBRARY_SUCCESS","UPDATE_LIBRARY_FAILED","POST_LIBRARY_START","POST_LIBRARY_SUCCESS","POST_LIBRARY_FAILED","DELETE_LIBRARY_START","DELETE_LIBRARY_SUCCESS","DELETE_LIBRARY_FAILED","fetchLeadsFailed","setLeadActionMode","resetLeads","resetAssignedLeads","fetchLeadsStartAsync","retriveLimit","confId","a","limit","request","status","fetchLeadsAssignedStartAsync","addLeadAsync","firstName","value","lastName","email","address1","address2","city","zip","phone","leadSource","booksInterested","notes","updateLeadAsync","leadId","leads_id","deleteLeadAsync","ob","googleMapUrl","googleApiKey","process","userActionTypes","FETCH_USER_START","FETCH_USER_SUCCESS","FETCH_USER_FAILED","SET_CURRENT_USER","SET_TEMP_USER","INITIAL_STATE","undefined","paBalance","LEID_Name","CurrentBalance","isUserLoggedIn","userReducer","action","LE_HISTORY_INITIAL_STATE","profileErrorMessage","isLeProfilesFetching","profilesErrorMessage","lesHistoryErrorMessage","leReducer","leActionTypes","LE_FETCH_START","LE_FETCH_SUCCESS","LE_FETCH_FAILED","LES_FETCH_START","LES_FETCH_SUCCESS","LES_FETCH_FAILED","FETCH_LE_PROFILE_SUCCESS","FETCH_LE_PROFILE_FAILED","paylaod","FETCH_LE_PROFILES_START","FETCH_LE_PROFILES_SUCCESS","FETCH_LE_PROFILES_FAILED","LE_FETCH_USER","isCustomerFetching","isCustomersActivityFetching","customersActivityOfLesFromSameDistrict","customerActivityErrorMessage","customerReducer","custActivityExt","isCustActivityExtFetching","iscustActivityFetchingError","isOrderFetching","orderDetails","orderDetailsReducer","orderActionTypes","FETCH_ORDER_DETAILS_START","FETCH_ORDER_DETAILS_SUCCESS","FETCH_ORDER_DETAILS_FAILED","isStatementFetching","customerStatement","customerStatementReducer","statementActionType","FETCH_CUSTOMER_STATEMENT_START","FETCH_CUSTOMER_STATEMENT_SUCCESS","FETCH_CUSTOMER_STATEMENT_FAILED","initialState","dlProfiles","dlReducer","lesHistorybydistrictObj","leProfilesbydistrictObj","conferenceReducer","conferenceActionTypes","FETCH_LES_HISTORY_START","FETCH_LES_HISTORY_SUCCESS","FETCH_LES_HISTORY_FAILED","TRANSFORM_LES_PROFILE_BY_DISTRICT","isAccountSummaryFetching","accountSummary","accountSummaryReducer","accountSummaryActionTypes","FETCH_ACCOUNT_SUMMARY_START","FETCH_ACCOUNT_SUMMARY_SUCCESS","FETCH_ACCOUNT_SUMMARY_FAILED","assignedLeads","leadsReducer","showModal","modalContent","actionMode","actionFunc","modalReducer","modalActionType","OPEN_MODAL","CLOSE_MODAL","isSubsFetching","userSubs","pushSubsReducer","contractList","customer","updateOrder","viewReference","orderedBooks","completedOrderLists","viewPayment","ccResponse","alert","severity","econtractReducer","contractActionType","CC_POST_START","CC_POST_SUCCESS","titleMessage","subMessage","CC_POST_SUCCESS_STATUS","CC_POST_FAILURE_STATUS","CC_POST_FAILURE","FETCH_CONTRACT_START","FETCH_CONTRACT_SUCCESS","FETCH_CONTRACT_FAILED","SET_CUSTOMER_INFO","contract","payment","orders","RESET_CUSTOMER_INFO","VIEW_UPDATE_ORDER_START","VIEW_UPDATE_ORDER_SUCCESS","VIEW_UPDATE_ORDER_FAILURE","VIEW_REFERENCE_START","VIEW_REFERENCE_SUCCESS","VIEW_REFERENCE_FAILURE","VIEW_PAYMENT_START","VIEW_PAYMENT_SUCCESS","VIEW_PDFLINK_FAILURE","VIEW_PDFLINK_START","VIEW_PDFLINK_SUCCESS","viewPdfLink","VIEW_PAYMENT_FAILURE","MARK_AS_PAID_START","MARK_AS_PAID_SUCCESS","MARK_AS_PAID_FAILURE","GET_BOOK_OORDER_START","GET_BOOK_ORDER_SUCCESS","GET_BOOK_ORDER_FAILURE","DELETE_ORDER_FAILURE","DELETE_ORDER_SUCCESS","DELETE_ORDER_START","START_LOADER","STOP_LOADER","SHOW_ALERT","POST_UPDATE_ORDER_START","POST_UPDATE_ORDER_FAILED","POST_UPDATE_ORDER_SUCCESS","FETCH_COMPLETED_ORDER_START","FETCH_COMPLETED_ORDER_SUCCESS","FETCH_COMPLETED_ORDER_FAILED","CANCEL_SUBSCRIPTIONS_START","CANCEL_SUBSCRIPTIONS_SUCCESS","CANCEL_SUBSCRIPTIONS_FAILED","isLoading","productList","productReducers","index","product","p_id","newProductList","libraryList","libraryReducers","library","l_id","newLibraryList","stateList","isRequestingForToggle","stateTaxMasterSetupReducer","stateTaxMasterSetupType","FETCH_STATE_DATA_START","FETCH_STATE_DATA_FAILED","FETCH_STATE_DATA_SUCCESS","TOGGLE_STATE_TAX_INCLUDED_FLAG_START","TOGGLE_STATE_TAX_INCLUDED_FLAG_SUCCESS","newStateLists","tax_flag","taxFlag","TOGGLE_STATE_TAX_INCLUDED_FLAG_FAILED","rootReducer","combineReducers","customerExt","order","statement","dl","conference","account","modal","econtract","productReducer","libraryReducer","stateTaxMasterSetup","middlewares","thunk","store","createStore","composeWithDevTools","applyMiddleware","selectModal","selectShowModal","selectModalContent","selectModalActionMode","selectModalActionFunc","mapStateToProps","createStructuredSelector","modalActionFunc","connect","props","className","onClick","closeModal","inverted","bgColor","modalRoot","document","getElementById","Modal","el","createElement","appendChild","this","removeChild","ReactDOM","createPortal","children","React","Component","Layout","layout","component","rest","render","to","pathname","from","location","matchProps","includes","toggleDropdownMenu","parent","useHistory","useState","menuDropdownWidth","setMenuDropdownWidth","useEffect","assignWidthOnWindowResize","addEventListener","removeEventListener","style","left","top","position","width","padding","backgroundColor","webBrowser","Header","updateCurrentWindowWidth","setState","currentWindowWidth","toggleBellIcon","askForNotificationPermission","showDropdownMenu","showDropdownProfileMenu","showEcontractMenu","showProductAndLibraryMenu","showResourcesMenu","showDropdownNotification","ClickAwayListener","onClickAway","src","Logo","alt","justifyContent","cursor","fontSize","Fragment","size","fetchUserSubs","withRouter","Minimal","ErrorBoundry","hasError","error","info","DashboardPage","lazy","SignInPage","RegisterPage","CustomerPreviewPage","CustomerDetailPage","LeadsPage","AssignedLeadsPage","TrainingAndSalesAidsPage","VideoProjectPage","AudioResourcePage","MyAccountPage","OrderFormPage","DownPaymentPage","ResetPasswordPage","ContractPage","Reciept","HistoryPage","CompletedOrderPage","ProductPage","LibraryPage","StateTaxMasterSetupPage","Routes","fallback","exact","path","MainLayout","MinimalLayout","DashboardLayout","white","black","primary","contrastText","dark","colors","indigo","main","light","secondary","blue","success","green","warning","orange","red","text","blueGrey","link","background","default","paper","icon","divider","grey","h1","color","palette","fontWeight","letterSpacing","lineHeight","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline","textTransform","MuiButton","contained","boxShadow","label","MuiIconButton","root","MuiPaper","elevation1","MuiTableCell","typography","borderBottom","MuiTableHead","MuiTypography","gutterBottom","marginBottom","MuiTextField","borderColor","theme","createMuiTheme","overrides","zIndex","appBar","drawer","fetchUser","fetchUserStartAsync","fetchLeProfile","fetchLeProfileStartAsync","setTempUser","fetchLeProfiles","fetchLeProfilesStartAsync","fetchCustomerActivity","ThemeProvider","isLocalhost","Boolean","hostname","registerValidSW","swUrl","config","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","URL","href","origin","response","contentType","get","ready","unregister","reload","checkValidServiceWorker","serviceWorkerRegistration","DELETE_PUSH_SUBS","SET_MODAL_ACTION_MODE","openModal","CustomButton","toggleButton","right","leadsOnly","disabled","otherButtonProps","fetchUserFailed","GET_CONTRACT_START","GET_CONTRACT_SUCCESS","GET_CONTRACT_FAIL","VIEW_PDF","POST_BOOKS_ORDER_START","POST_BOOKS_ORDER_SUCCESS","POST_BOOKS_ORDER_FAILED","subscription","title","Accept","configurePushSub","userId","reg","swreg","pushManager","getSubscription","sub","createNotification","convertedVapidPublicKey","base64String","base64","repeat","rawData","atob","outputArray","Uint8Array","charCodeAt","urlBase64ToUint8Array","subscribe","userVisibleOnly","applicationServerKey","newSub","leId","subData","Notification","requestPermission","fetchLeHistoryStartAsync","fetchLeHistorySuccess","fetchLesHistoryStart","fetchLesHistorySuccess","fetchLesHistoryFailed","fetchLesHistoryStartAsync","forEach","fetchLeProfileSuccess","fetchLeProfilesSuccess","fetchUserAsync","timeout","NotificationManager","assign","FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_START","FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_SUCCESS","FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_FAILED","Spinner"],"mappings":"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","file":"static/js/main.b0ddc804.chunk.js","sourcesContent":["//returns browser info with name and version object\nexport const browser = () => {\n var userAgent = navigator.userAgent,\n match = userAgent.match(/(opera|chrome|crios|safari|ucbrowser|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [],\n result = {},\n tem;\n\n if (/trident/i.test(match[1])) {\n tem = /\\brv[ :]+(\\d+)/g.exec(userAgent) || [];\n result.name = 'Internet Explorer';\n } else if (match[1] === 'Chrome') {\n tem = userAgent.match(/\\b(OPR|Edge)\\/(\\d+)/);\n\n if (tem && tem[1]) {\n result.name = tem[0].indexOf('Edge') === 0 ? 'Edge' : 'Opera';\n }\n }\n if (!result.name) {\n tem = userAgent.match(/version\\/(\\d+)/i); // iOS support\n result.name = match[0].replace(/\\/.*/, '');\n\n if (result.name.indexOf('MSIE') === 0) {\n result.name = 'Internet Explorer';\n }\n if (userAgent.match('CriOS')) {\n result.name = 'Chrome';\n }\n }\n if (tem && tem.length) {\n match[match.length - 1] = tem[tem.length - 1];\n }\n\n result.version = Number(match[match.length - 1]);\n\n return result;\n};\n\n// this function uses reg exp to replace all the spaces and nonalphanumeric chars with '-'\nexport const routeGenerator = (menuData) => {\n const { menuName, route } = menuData;\n console.log();\n\n return route.includes('http') ? route : encodeURI(menuName.replace(/\\W+/g, '-').toLowerCase());\n};\n\n//can perform certain actions depending upton different routes\nexport const onRouteChange = (route, setCurrentUser, history) => {\n switch (route) {\n case 'signout':\n window.localStorage.removeItem('token');\n\n return setCurrentUser(null);\n case '/dashboard':\n return history.push('/dashboard');\n default:\n return;\n }\n};\n\n//get current screen width\nexport const getScreenWidth = () => {\n return window.innerWidth;\n};\n\n//calculate sub total amount\n\nexport const calcSubTotal = (booksData) => {\n return booksData.reduce((accumulator, book) => {\n const { price, quantity } = book;\n accumulator = accumulator + quantity * price;\n\n return accumulator;\n }, 0);\n};\n\n//random quotes generator\n\nexport const randomQuoteGenerator = (quoteArray) => {\n const quoteIndex = Math.floor(Math.random() * quoteArray.length);\n\n return quoteArray[quoteIndex];\n};\n\n//trim database query response object and remove trailing white spaces, also return data as it is if the data is other than string.\nexport const removeTrailingSpace = (dataToBeTrimmed) => {\n if (Array.isArray(dataToBeTrimmed)) {\n dataToBeTrimmed.map((d) => {\n const trimmedData = Object.keys(d).map((k) => (d[k] = typeof d[k] === 'string' ? d[k].trim() : d[k]));\n\n return trimmedData;\n });\n } else if (typeof dataToBeTrimmed === 'string') {\n return dataToBeTrimmed.trim();\n } else {\n const data = dataToBeTrimmed;\n Object.keys(data).map((k) => (data[k] = typeof data[k] === 'string' ? data[k].trim() : data[k]));\n\n return data;\n }\n\n return dataToBeTrimmed;\n};\n\n//Returns first and last name initials.\nexport const getFirstAndLastInitial = (name) => {\n if (name) {\n const splitName = name.split(' '); //returns an array of first and last name\n const firstAndLastInitialsArray = splitName.map((name) => {\n let i;\n let initials;\n for (i = 0; i < name.length; i++) {\n initials = name.charAt(0).toUpperCase();\n }\n\n return initials;\n });\n const firstAndLastInitialsString = firstAndLastInitialsArray.toString();\n const FirstAndLastInitials = firstAndLastInitialsString.replace(/,/g, '.');\n\n return FirstAndLastInitials;\n }\n\n return;\n};\n\n//Capitatlize first letter of given string and only retuns first word\nexport const capitatlizeFirstNameFirstLetter = (name) => {\n if (name) {\n const splitName = name.split(' '); //returns an array of first and last name\n const firstAndLastNameArray = splitName.map((name) => {\n let newName = name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();\n\n return newName;\n });\n const getFirstNameOnly = firstAndLastNameArray.splice(0, 1);\n\n return getFirstNameOnly.toString();\n }\n};\n\n//Capitatlize first letter of given string\nexport const capitatlizeFirstLetter = (name) => {\n if (name) {\n const splitName = name.split(' '); //returns an array of first and last name\n const firstAndLastNameArray = splitName.map((name) => {\n let newName = name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();\n\n return newName;\n });\n\n return firstAndLastNameArray.join(' ');\n }\n};\n\n// returns 1 for + amount or -1 for or - amount or 0 for 0 amount.\nexport const checkAmoutSign = (amount) => {\n const num = Math.sign(amount);\n\n return num;\n};\n\n// this function checks sign of given amount, roundup the amount and adds dollar sign infront.\nexport const addDollarSign = (amt) => {\n const amount = (amt * 100) / 100;\n //check if the amount is positive or negative value\n const checkamountSign = checkAmoutSign(Number(amount));\n\n let dollarAmt;\n let absAmount;\n\n if (checkamountSign >= 0 && amount % 1 !== 0) {\n dollarAmt = '$' + amount.toFixed(2);\n } else if (checkamountSign >= 0 && amount % 1 === 0) {\n dollarAmt = '$' + amount + '.00';\n } else if (checkamountSign < 0 && amount % 1 !== 0) {\n absAmount = Math.abs(amount);\n dollarAmt = '- $' + absAmount.toFixed(2);\n } else {\n absAmount = Math.abs(amount);\n dollarAmt = '- $' + absAmount + '.00';\n }\n\n return dollarAmt;\n};\n\n//parse number to Integer value and convert it to user readable string\n// export const parseInteger = (number) => {\n// let Num = Number(number);\n// if(Number.isInteger(Num)) {\n// return parseInt(Num);\n// }\n// return parseFloat(Num);\n// }\n\n// //converts exponential no to user readable float value\n// export const convertExponentialToDecimal = (exponentialNumber) => {\n// // sanity check - is it exponential number\n// const str = exponentialNumber.toString();\n// let num;\n// let result;\n// if (str.indexOf('e') !== -1) {\n// const exponent = parseInt(str.split('-')[1], 15);\n// // Unfortunately I can not return 1e-8 as 0.00000001, because even if I call parseFloat() on it,\n// // it will still return the exponential representation\n// // So I have to use .toFixed()\n// if(Math.sign(exponentialNumber) === 1 && Math.sign(exponentialNumber) !== 0) {\n// num = exponentialNumber.toFixed(exponent);\n// result = Number(num);\n// return parseInt(result);\n// }else {\n// num = exponent;\n// result = parseInt(num)\n// return result.toFixed(2)\n// }\n// }else {\n// return exponentialNumber.toFixed(2);\n// }\n// }\n\nexport const convertExponentialToDecimal = (exponentialNumber) => {\n // sanity check - is it exponential number\n const str = exponentialNumber.toString();\n if (str.indexOf('e') !== -1) {\n const exponent = parseInt(str.split('-')[1], 14); // Unfortunately I can not return 1e-8 as 0.00000001, because even if I call parseFloat() on it, // it will still return the exponential representation // So I have to use .toFixed()\n const result = exponentialNumber.toFixed(exponent);\n\n return Math.round(result);\n } else {\n return exponentialNumber;\n }\n};\n\nexport const mapMonthToString = (monthNo) => {\n if (monthNo) {\n const month = [];\n month[1] = 'January';\n month[2] = 'February';\n month[3] = 'March';\n month[4] = 'April';\n month[5] = 'May';\n month[6] = 'June';\n month[7] = 'July';\n month[8] = 'August';\n month[9] = 'September';\n month[10] = 'October';\n month[11] = 'November';\n month[12] = 'December';\n\n return month[monthNo];\n }\n};\n\nexport const getCurrentCommissionMonth = (data) => {\n const newData = data.trim();\n const getMonthNum = newData.substr(4, 2) * 1;\n const month = mapMonthToString(getMonthNum);\n\n return month;\n};\n\nconst STORAGE_KEY = 'leids';\n\nexport const setLeids = (leids, key = STORAGE_KEY) => {\n if (localStorage) {\n return localStorage.setItem(key, JSON.stringify(leids));\n }\n};\n\nexport const getLeids = (key = STORAGE_KEY) => {\n if (localStorage && localStorage.getItem(key)) {\n return JSON.parse(localStorage.getItem(key));\n }\n};\n\nexport const getCurrentYear = () => {\n const todaysDate = new Date();\n const currentYear = todaysDate.getFullYear();\n\n return currentYear;\n};\n","import { createSelector } from 'reselect';\nimport { setLeids } from '../../components/utils/misc';\n\nconst currentYear = new Date().getFullYear().toString();\nconst prevYear = (currentYear - 1).toString();\n\nexport const selectLe = (state) => state.le;\n\nexport const selectLeSales = (state) => state.leSales;\n\n//select is individual lehistory\nexport const selectLeHistory = createSelector([selectLe], (le) => (le.leHistory ? le.leHistory : []));\n\n//select all le'shistory in a district\nexport const selectLesHistory = createSelector([selectLe], (le) => {\n if (le.lesHistory) {\n return le.lesHistory.filter(\n (leHistory, i, self) => self.findIndex((history) => history.LEID.toString() === leHistory.LEID.toString()) === i\n );\n }\n\n return [];\n});\n\n//select all le'shistory in a district of current Year\nexport const selectLesHistoryCurrentYear = createSelector([selectLe], (le) => {\n let lesHistoryCurrentYear = le.lesHistory ? le.lesHistory.filter((le) => le.fiscyr === currentYear) : [];\n\n if (lesHistoryCurrentYear.length === 0) {\n lesHistoryCurrentYear = le.lesHistory ? le.lesHistory.filter((le) => le.fiscyr === prevYear) : [];\n }\n\n return lesHistoryCurrentYear;\n});\n\nexport const selectCurrentLeHistory = createSelector([selectLeHistory], (leHistory) => {\n let currentyearLeHistory = leHistory.filter((leData) => leData.fiscyr === currentYear);\n if (currentyearLeHistory.length === 0) {\n currentyearLeHistory = leHistory.filter((leData) => leData.fiscyr === prevYear);\n }\n\n return currentyearLeHistory[0];\n});\n\nexport const selectLeSalesStats = createSelector([selectLeSales], (leSales) =>\n leSales.leSalesStats ? leSales.leSalesStats : []\n);\n\n//select is individual lehistory fetching\nexport const selectIsLeFetching = createSelector([selectLe], (le) => le.isLeHistoryFetching);\n//select all le'shistory in a district fetching\nexport const selectIsLesFetching = createSelector([selectLe], (le) => le.isLesHistoryFetching);\n\nexport const selectIsLeSalesStatsFetching = createSelector(\n [selectLeSales],\n (leSales) => leSales.isLeSalesStatsFetching\n);\n\nexport const selectYearToDateCommission = createSelector([selectCurrentLeHistory], (leHistory) => {\n if (leHistory) {\n const { commission_ytd } = leHistory;\n\n return (Math.round(commission_ytd * 100) / 100).toFixed(2);\n }\n});\n\n//calculates commission-and-bonus-year-to-date from each le's history data\nexport const selectCommissionAndBonusYearToDate = createSelector([selectCurrentLeHistory], (leHistory) => {\n if (leHistory) {\n const { commissions_ytd, basic_ytd, bonus2Per_ytd, bonus3year_ytd, licensed_ytd } = leHistory;\n const totalCommissionAndBounus = Number(commissions_ytd + basic_ytd + bonus2Per_ytd + bonus3year_ytd, licensed_ytd);\n\n return ((totalCommissionAndBounus * 100) / 100).toFixed(2);\n }\n});\n\n//returns month-to-date sales of individual le's\n\nexport const selectMonthToDateSales = createSelector([selectCurrentLeHistory], (leHistory) => {\n if (leHistory) {\n const date = new Date();\n const currentMonth = date.toLocaleString('default', { month: 'short' });\n const month = `sales_${currentMonth}`;\n const monthToDateSales = leHistory[month.toLowerCase()];\n\n return monthToDateSales.toFixed(2);\n }\n});\n\n// //returns month-to-date sales of all the le's under same district\n// export const selectMonthToDateSalesOfLesFromSameDistrict = createSelector(\n// [selectLesHistoryCurrentYear],\n// leHistoryCurrentYearArray => {\n// const monthToDateSalesArray = leHistoryCurrentYearArray.map(leHistory => {\n// const date = new Date();\n// const currentMonth = date.toLocaleString(\"default\", { month: \"short\" });\n// const month = `sales_${currentMonth}`;\n// const monthToDateSales = leHistory[month.toLowerCase()];\n// return monthToDateSales;\n// })\n// const totalMonthToDateSalesOfAllLes = monthToDateSalesArray.reduce((acc, monthToDateSale) => {\n// acc += monthToDateSale;\n// return acc;\n// }, 0)\n// return totalMonthToDateSalesOfAllLes.toFixed(2);\n// }\n// )\n\n//returns last-month-to-date sales of all the le's under same district\n// export const selectLastMonthToDateSalesOfLesFromSameDistrict = createSelector(\n// [selectLesHistoryCurrentYear],\n// leHistoryCurrentYearArray => {\n// const lastMonthToDateSalesArray = leHistoryCurrentYearArray.map(leHistory => {\n// const today = new Date();\n// const lastMonthInNo = today.getMonth() - 1;\n// let lastMonthDate = new Date(today.setMonth(lastMonthInNo));\n\n// const lastMonth = lastMonthDate.toLocaleString(\"default\", {\n// month: \"short\",\n// });\n// const month = `sales_${lastMonth}`;\n// const lastMonthSales = leHistory[month.toLowerCase()];\n// return lastMonthSales;\n// })\n// const totalLastMonthToDateSalesOfAllLes = lastMonthToDateSalesArray.reduce((acc, monthToDateSale) => {\n// acc += monthToDateSale;\n// return acc;\n// }, 0)\n// return totalLastMonthToDateSalesOfAllLes.toFixed(2);\n// }\n// )\n\nexport const selectPrevMonthSales = createSelector([selectCurrentLeHistory], (leHistory) => {\n if (leHistory) {\n const today = new Date();\n const lastMonthInNo = today.getMonth() - 1;\n let lastMonthDate = new Date(today.setMonth(lastMonthInNo));\n const lastMonth = lastMonthDate.toLocaleString('default', {\n month: 'short',\n });\n const month = `sales_${lastMonth}`;\n const lastMonthSales = leHistory[month.toLowerCase()];\n\n return lastMonthSales.toFixed(2);\n }\n});\n\n//select year-to-date-sales of individual LE\n\nexport const selectYearToDateSales = createSelector([selectCurrentLeHistory], (leHistory) => {\n if (leHistory) {\n const {\n sales_jan,\n sales_feb,\n sales_mar,\n sales_apr,\n sales_may,\n sales_jun,\n sales_jul,\n sales_aug,\n sales_sep,\n sales_oct,\n sales_nov,\n sales_dec,\n } = leHistory;\n const totalMonthToDateSales = Number(\n sales_jan +\n sales_feb +\n sales_mar +\n sales_apr +\n sales_may +\n sales_jun +\n sales_jul +\n sales_aug +\n sales_sep +\n sales_oct +\n sales_nov +\n sales_dec\n );\n\n return ((totalMonthToDateSales * 100) / 100).toFixed(2);\n }\n});\n\n//select year-to-date-sales of all LE's under same district\n\n// export const selectYearToDateSalesOfLesFromSameDistrict = createSelector(\n// [selectLesHistoryCurrentYear],\n// lesHistoryCurrentYearArray => {\n// const yearToDateSalesArray = lesHistoryCurrentYearArray.map(leHistory => {\n// const {\n// sales_jan,\n// sales_feb,\n// sales_mar,\n// sales_apr,\n// sales_may,\n// sales_jun,\n// sales_jul,\n// sales_aug,\n// sales_sep,\n// sales_oct,\n// sales_nov,\n// sales_dec,\n// } = leHistory;\n// const totalMonthToDateSales = Number(\n// sales_jan +\n// sales_feb +\n// sales_mar +\n// sales_apr +\n// sales_may +\n// sales_jun +\n// sales_jul +\n// sales_aug +\n// sales_sep +\n// sales_oct +\n// sales_nov +\n// sales_dec\n// );\n// return ((totalMonthToDateSales * 100) / 100);\n// })\n// const totalYearToDateSales = yearToDateSalesArray.reduce((acc, yearToDateSale) => {\n// acc = acc += yearToDateSale\n// return acc;\n// },0)\n// return totalYearToDateSales.toFixed(2);\n// }\n// );\n\n//select le profile\nexport const selectLeProfile = createSelector([selectLe], (le) => (le ? le.profile : []));\n\n//select le user\nexport const selectLeUser = createSelector([selectLe], (le) => (le ? le.user : {}));\n\nexport const selectLeLoader = createSelector([selectLe], (le) => (le ? le.loading : true));\n\n//select WTD sales from leProfile\nexport const selectWTDsalesFromLeProfile = createSelector([selectLeProfile], (leProfile) => {\n let weekToDateSales = 0;\n if (leProfile) {\n weekToDateSales = Number(leProfile.User2);\n }\n\n return weekToDateSales;\n});\n\n//Select MTD sales from leProfile\nexport const selectMTDsalesFromLeProfile = createSelector([selectLeProfile], (leProfile) => {\n let monthToDateSales = 0;\n if (leProfile) {\n monthToDateSales = Number(leProfile.User3);\n }\n\n return monthToDateSales;\n});\n\n//select YTD sales from leProfile\nexport const selectYTDsalesFromLeProfile = createSelector([selectLeProfile], (leProfile) => {\n let yearToDateSales = 0;\n if (leProfile) {\n yearToDateSales = Number(leProfile.User4);\n }\n\n return yearToDateSales;\n});\n\nexport const selectIsLeProfileLoaded = createSelector([selectLe], (le) => !!le.profile);\n\n//select all le profiles\nexport const selectLeProfiles = createSelector([selectLe], (le) => (le ? le.profiles : []));\n\n//select active le profile\nexport const selectActiveLeProfile = createSelector([selectLeProfiles], (profiles) =>\n profiles ? profiles.filter((profile) => profile.le_status.toLowerCase() === 'active') : []\n);\n\n//select all les of given district\nexport const selectLEProfilesByDistrict = (district) =>\n createSelector([selectLeProfiles], (leProfiles) => {\n if (Array.isArray(district)) {\n const leProfilesUnderDLs = district.reduce((acc, dist) => {\n const profiles = leProfiles.filter(\n (leProfile) => leProfile.district === dist && leProfile.leader_status.toLowerCase() !== 'publishing director'\n );\n acc = acc.concat(profiles);\n\n return acc;\n }, []);\n\n return leProfilesUnderDLs;\n } else {\n const leProfilesByDistrict = leProfiles.filter(\n (leProfile) =>\n leProfile.district === district && leProfile.leader_status.toLowerCase() !== 'publishing director'\n );\n const leids = leProfilesByDistrict.map((leProfile) => leProfile.LEID);\n setLeids(leids);\n\n return leProfilesByDistrict;\n }\n });\n\n//selects leProfile (leProfile) and retuns currentCommisionPercentange for current Month\nexport const selectCurrentMonthCommission = createSelector(\n [selectLeProfile],\n (leProfile) => leProfile && leProfile.currcommpct\n);\n\n//selects leProfile (leProfile) and retuns nextCommisionPercentange for next Month\nexport const selectNextMonthCommission = createSelector(\n [selectLeProfile],\n (leProfile) => leProfile && leProfile.nextcommpct\n);\n\n//selects leProfile (leProfile) and retuns currentCommisionPercentange for current Month\nexport const selectCommissionCurrentYear = createSelector([selectLeProfile], (leProfile) =>\n leProfile ? leProfile.commissioncurryr : []\n);\n\n//selects leProfile (leProfile) and retuns nextCommisionPercentange for next Month\nexport const selectCommissionNextYear = createSelector(\n [selectLeProfile],\n (leProfile) => leProfile && leProfile.commissionnextyr\n);\n\n//select le written off percentage i.e. WriteOffPercent column from le_profiles\n\nexport const selectLeWrittenOffPct = createSelector(\n [selectLeProfile],\n (leProfile) => leProfile && leProfile.WriteOffPercent\n);\n\n//selects leProfiles of same district and retuns nextCommision Average Percentange for next Month\nexport const selectNextMonthAvgCommissionPctOfLesFromSameDistrict = (district) =>\n createSelector([selectLEProfilesByDistrict(district)], (leProfiles) => {\n let totalCommisionAvgRatePct;\n if (leProfiles) {\n const filterActiveLesProfile = leProfiles.filter(\n (profile) => profile.le_status.toLowerCase() === 'active' && profile.LEID_Name.toLowerCase() !== 'hhes'\n );\n const totalCommission = filterActiveLesProfile.reduce((acc, leProfile) => {\n acc += leProfile.nextcommpct;\n\n return acc;\n }, 0);\n totalCommisionAvgRatePct = totalCommission / filterActiveLesProfile.length;\n\n return Math.round(totalCommisionAvgRatePct);\n }\n\n return;\n });\n\n// calculate Week To Date sales of les from same district\nexport const selectWeekToDateSalesOfLesFromSameDistrict = (district) =>\n createSelector([selectLEProfilesByDistrict(district)], (leProfilesByDistrict) => {\n let totalWeekToDateSalesOfAllLes = 0;\n\n if (leProfilesByDistrict) {\n totalWeekToDateSalesOfAllLes = leProfilesByDistrict.reduce((acc, leProfile) => {\n const { User2 } = leProfile;\n let wtdSalesAmt = Number(User2);\n acc += wtdSalesAmt;\n\n return acc;\n }, 0);\n\n return totalWeekToDateSalesOfAllLes;\n }\n });\n\n// calculate Month To Date sales of les from same district\nexport const selectMTDSalesOfLesFromSameDistrict = (district) =>\n createSelector([selectLEProfilesByDistrict(district)], (leProfilesByDistrict) => {\n let totalMonthToDateSalesOfAllLes = 0;\n\n if (leProfilesByDistrict) {\n totalMonthToDateSalesOfAllLes = leProfilesByDistrict.reduce((acc, leProfile) => {\n const { User3 } = leProfile;\n let mtdSalesAmt = Number(User3);\n acc += mtdSalesAmt;\n\n return acc;\n }, 0);\n\n return totalMonthToDateSalesOfAllLes;\n }\n });\n\n// calculate Year To Date sales of les from same district\nexport const selectYTDSalesOfLesFromSameDistrict = (district) =>\n createSelector([selectLEProfilesByDistrict(district)], (leProfilesByDistrict) => {\n let totalYearToDateSalesOfAllLes = 0;\n\n if (leProfilesByDistrict) {\n totalYearToDateSalesOfAllLes = leProfilesByDistrict.reduce((acc, leProfile) => {\n const { User4 } = leProfile;\n let ytdSalesAmt = Number(User4);\n acc += ytdSalesAmt;\n\n return acc;\n }, 0);\n\n return totalYearToDateSalesOfAllLes;\n }\n });\n\n// calculate Week To Date sales of conference\nexport const selectWeekToDateSalesOfConference = (districts) =>\n createSelector([selectLEProfilesByDistrict(districts)], (leProfiles) => {\n return leProfiles.reduce((acc, leProfile) => {\n const { User2 } = leProfile;\n let WTDSalesAmt = Number(User2);\n acc += WTDSalesAmt;\n\n return acc;\n }, 0);\n });\n\n// calculate Week To Date sales of conference\nexport const selectMonthToDateSalesOfConference = (districts) =>\n createSelector([selectLEProfilesByDistrict(districts)], (leProfiles) => {\n return leProfiles.reduce((acc, leProfile) => {\n const { User3 } = leProfile;\n let MTDSalesAmt = Number(User3);\n acc += MTDSalesAmt;\n\n return acc;\n }, 0);\n });\n\n// calculate Week To Date sales of conference\nexport const selectYearToDateSalesOfConference = (districts) =>\n createSelector([selectLEProfilesByDistrict(districts)], (leProfiles) => {\n return leProfiles.reduce((acc, leProfile) => {\n const { User4 } = leProfile;\n let YTDSalesAmt = Number(User4);\n acc += YTDSalesAmt;\n\n return acc;\n }, 0);\n });\n","import { createSelector } from 'reselect';\n\nexport const selectUser = (state) => state.user;\n\nexport const selectCurrentUser = createSelector([selectUser], (user) => user.currentUser);\n\nexport const selectTempUser = createSelector([selectUser], (user) => user.tempUser);\n\nexport const selectIsUserLoggedIn = createSelector([selectUser], (user) => user.isLoggedIn);\n\nexport const selectIsUserFetching = createSelector([selectUser], (user) => user.isUserFetching);\n\nexport const selectLeaderStatus = createSelector(\n [selectCurrentUser],\n (currentUser) => currentUser && currentUser.leaderStatus.trim().toLowerCase()\n);\n\n//selects currentUser(leProfile) and retuns currentCommisionPercentange for current Month\nexport const selectCurrentMonthCommission = createSelector(\n [selectCurrentUser],\n (currentUser) => currentUser && currentUser.currentMonthCommission\n);\n\n//selects currentUser(leProfile) and retuns nextCommisionPercentange for next Month\nexport const selectNextMonthCommission = createSelector(\n [selectCurrentUser],\n (currentUser) => currentUser && currentUser.nextMonthCommission\n);\n\n//selects currentUser(leProfile) and retuns currentCommisionPercentange for current Month\nexport const selectCommissionCurrentYear = createSelector(\n [selectCurrentUser],\n (currentUser) => currentUser && currentUser.currentMonthCommissionData\n);\n\n//selects currentUser(leProfile) and retuns nextCommisionPercentange for next Month\nexport const selectCommissionNextYear = createSelector(\n [selectCurrentUser],\n (currentUser) => currentUser && currentUser.nextMonthCommissionData\n);\n\n//select le written off percentage i.e. WriteOffPercent column from le_profiles\n\nexport const selectLeWrittenOffPct = createSelector([selectCurrentUser], (currentUser) => currentUser.writtenOffPct);\n","import { createSelector } from 'reselect';\n\nconst selectLeads = (state) => state.leads;\n\nexport const selectLeadsData = createSelector([selectLeads], (leadsData) => (leadsData.leads ? leadsData.leads : []));\n\nexport const selectIsLeadsFetching = createSelector([selectLeads], (leadsData) => leadsData.isLeadsFetching);\n\nexport const selectLeadActionMode = createSelector([selectLeads], (leadsData) => leadsData.mode);\n\nexport const selectLeadData = createSelector([selectLeads], (data) => (data.leadData ? data.leadData : ''));\n\nexport const selectLeadDataByConfID = (state) => {\n const { district } = state.user.currentUser;\n const { leads } = state.leads;\n if (leads) {\n if (district === '410' || district === '430' || district === '480') {\n return leads.filter((lead) => lead.conf_id === '400');\n } else if (district === '210' || district === '220') {\n return leads.filter((lead) => lead.conf_id === '200');\n } else if (district === '510') {\n return leads.filter((lead) => lead.conf_id === '500');\n } else if (district === '110') {\n return leads.filter((lead) => lead.conf_id === '100');\n } else {\n return leads.filter((lead) => lead.conf_id === '900');\n }\n }\n\n return;\n};\n\nexport const selectMapDistrictToConfID = (state) => {\n const { district } = state.user.currentUser;\n if (district) {\n switch (district) {\n case '110':\n return '100';\n case '410':\n return '400';\n case '430':\n return '400';\n case '480':\n return '400';\n case '210':\n return '200';\n case '220':\n return '200';\n case '510':\n return '500';\n default:\n return '900';\n }\n }\n\n return;\n};\n","export const customerActionTypes = {\n FETCH_CUSTOMER_START: 'FETCH_CUSTOMER_START',\n FETCH_CUSTOMER_SUCCESS: 'FETCH_CUSTOMER_SUCCESS',\n FETCH_CUSTOMER_FAILED: 'FETCH_CUSTOMER_FAILED',\n FETCH_CUSTOMERS_START: 'FETCH_CUSTOMERS_START',\n FETCH_CUSTOMERS_SUCCESS: 'FETCH_CUSTOMERS_SUCCESS',\n FETCH_CUSTOMERS_FAILED: 'FETCH_CUSTOMERS_FAILED',\n FETCH_CUSTOMEREXT_START: 'FETCH_CUSTOMEREXT_START',\n FETCH_CUSTOMEREXT_SUCCESS: 'FETCH_CUSTOMEREXT_SUCCESS',\n FETCH_CUSTOMEREXT_FAILED: 'FETCH_CUSTOMEREXT_FAILED',\n};\n","import { customerActionTypes } from './customer.types';\nimport { removeTrailingSpace } from '../../components/utils/misc';\nimport api from '../../common/api';\n\nconst API_URL = api.apiUrl;\nexport const fetchCustomerStart = () => {\n return {\n type: customerActionTypes.FETCH_CUSTOMER_START,\n };\n};\n\nexport const fetchCustomerSuccess = (customerActivity) => {\n return {\n type: customerActionTypes.FETCH_CUSTOMER_SUCCESS,\n payload: removeTrailingSpace(customerActivity),\n };\n};\n\nexport const fetchCustomerFailed = (errorMessage) => {\n return {\n type: customerActionTypes.FETCH_CUSTOMER_FAILED,\n payload: errorMessage,\n };\n};\n\nexport const fetchCustomerStartAsync = (leid) => {\n const token = window.localStorage.getItem('token');\n\n return (dispatch) => {\n dispatch(fetchCustomerStart());\n fetch(`${API_URL}/customerActivity/${leid}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((customerActivity) => customerActivity[0].customernbr && dispatch(fetchCustomerSuccess(customerActivity)))\n .catch((err) => dispatch(fetchCustomerFailed(err.message)));\n };\n};\n\nexport const fetchCustomerExtStart = () => {\n return {\n type: customerActionTypes.FETCH_CUSTOMEREXT_START,\n };\n};\n\nexport const fetchCustomerExtSuccess = (customerActivityExt) => {\n return {\n type: customerActionTypes.FETCH_CUSTOMEREXT_SUCCESS,\n payload: removeTrailingSpace(customerActivityExt),\n };\n};\n\nexport const fetchCustomerExtFailed = (errorMessage) => {\n return {\n type: customerActionTypes.FETCH_CUSTOMEREXT_FAILED,\n payload: errorMessage,\n };\n};\n\nexport const fetchCustomerExtStartAsync = (customernbr) => {\n const token = window.localStorage.getItem('token');\n\n return (dispatch) => {\n dispatch(fetchCustomerExtStart());\n fetch(`${API_URL}/customeractivityext/${customernbr}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then('resp', console.log)\n .then((customerActivity) => customerActivity && dispatch(fetchCustomerExtSuccess(customerActivity)))\n .catch((err) => dispatch(fetchCustomerExtFailed(err.message)));\n };\n};\n\n//fetch customers for given leids array\n\nexport const fetchCustomersStart = () => {\n return {\n type: customerActionTypes.FETCH_CUSTOMERS_START,\n };\n};\n\nexport const fetchCustomersSuccess = (customerActivity) => {\n return {\n type: customerActionTypes.FETCH_CUSTOMERS_SUCCESS,\n payload: removeTrailingSpace(customerActivity),\n };\n};\n\nexport const fetchCustomersFailed = (errorMessage) => {\n return {\n type: customerActionTypes.FETCH_CUSTOMERS_FAILED,\n payload: errorMessage,\n };\n};\n\nexport const fetchCustomersOfLesFromSameDistrictStartAsync = (leids) => {\n const token = window.localStorage.getItem('token');\n\n return (dispatch) => {\n dispatch(fetchCustomersStart());\n fetch(`${API_URL}/customerActivity`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n body: JSON.stringify({\n leids,\n }),\n })\n .then((resp) => resp.json())\n .then((customerActivity) => dispatch(fetchCustomersSuccess(customerActivity)))\n .catch((err) => dispatch(fetchCustomersFailed(err.message)));\n };\n};\n","export const leadsActionType = {\n FETCH_LEAD_START: ' FETCH_LEAD_START',\n FETCH_LEAD_SUCCESS: 'FETCH_LEAD_SUCCESS',\n FETCH_LEAD_FAILED: 'FETCH_LEAD_FAILED',\n FETCH_ASSIGNED_LEAD_START: ' FETCH_ASSIGNED_LEAD_START',\n FETCH_ASSIGNED_LEAD_SUCCESS: 'FETCH_ASSIGNED_LEAD_SUCCESS',\n SET_LEAD_ACTION_MODE: 'SET_LEAD_ACTION_MODE',\n ADD_LEAD: 'ADD_LEAD',\n UPDATE_LEAD: 'UPDATE_LEAD',\n DELETE_LEAD: 'DELETE_LEAD',\n RESET_LEADS: 'RESET_LEADS',\n RESET_ASSIGNED_LEADS: 'RESET_ASSIGNED_LEADS',\n};\n","export const dlActionTypes = {\n FETCH_DL_PROFILES_START: 'FETCH_DL_PROFILES_START',\n FETCH_DL_PROFILES_SUCCESS: 'FETCH_DL_PROFILES_SUCCESS',\n FETCH_DL_PROFILES_FAILED: 'FETCH_DL_PROFILES_FAILED',\n SET_DL_PROFILES: 'SET_DL_PROFILES',\n};\n","export const productActionTypes = {\n FETCH_PRODUCT_START: 'FETCH_PRODUCT_START',\n FETCH_PRODUCT_SUCCESS: 'FETCH_PRODUCT_SUCCESS',\n FETCH_PRODUCT_FAILED: 'FETCH_PRODUCT_FAILED',\n\n UPDATE_PRODUCT_START: 'UPDATE_PRODUCT_START',\n UPDATE_PRODUCT_SUCCESS: 'UPDATE_PRODUCT_SUCCESS',\n UPDATE_PRODUCT_FAILED: 'UPDATE_PRODUCT_FAILED',\n\n POST_PRODUCT_START: 'POST_PRODUCT_START',\n POST_PRODUCT_SUCCESS: 'POST_PRODUCT_SUCCESS',\n POST_PRODUCT_FAILED: 'POST_PRODUCT_FAILED',\n\n DELETE_PRODUCT_START: 'DELETE_PRODUCT_START',\n DELETE_PRODUCT_SUCCESS: 'DELETE_PRODUCT_SUCCESS',\n DELETE_PRODUCT_FAILED: 'DELETE_PRODUCT_FAILED',\n\n HIDE_ALERT: 'HIDE_ALERT',\n};\n","export default __webpack_public_path__ + \"static/media/logo.b73732eb.png\";","import { pushSubsTypes } from './push-subs.type';\nimport api from '../../common/api';\nimport { sendPushNotification } from '../../utils/sw';\n\nconst API_URL = api.apiUrl;\n\nconst fetchPushSubsPending = () => {\n return {\n type: pushSubsTypes.FETCH_PUSH_SUBS_PENDING,\n };\n};\n\nconst fetchPushSubsSuccess = (subscriptions) => {\n return {\n type: pushSubsTypes.FETCH_PUSH_SUBS_SUCCESS,\n payload: subscriptions,\n };\n};\n\nconst fetchPushSubsFailed = (errMessage) => {\n return {\n type: pushSubsTypes.FETCH_PUSH_SUBS_FAILED,\n payload: errMessage,\n };\n};\n\nconst sendLeadNotificationEmail = (leid) => {\n fetch(`${API_URL}/notify`, {\n method: 'post',\n headers: {\n 'Content-Type': 'Application/json',\n },\n body: JSON.stringify({\n leid,\n }),\n })\n .then((resp) => resp.ok && console.log('Succefully notified LE via Email'))\n .catch((err) => console.log(err));\n};\n\n// export const deletePushSubs = async (leid) => {\n// const token = window.localStorage.getItem('token');\n// if(token) {\n// const request = await fetch(`${API_URL}/deleteSubs`, {\n// method: 'post',\n// headers: {\n// 'Content-Type' : 'applicatoin/json',\n// 'Authorization' : token\n// },\n// body: JSON.stringify({\n// leId: leid\n// })\n// })\n// .then(resp => {\n// if(resp.ok && resp.json() === 'success') {\n// alert('You are unsubscribed!')\n// }\n// })\n// .catch(err => console.log(err))\n// }\n// }\n\n//Async Actions\n\nexport const fetchPushSubsStartAsync = (leid) => {\n //send email notificaiton\n sendLeadNotificationEmail(leid);\n const token = window.localStorage.getItem('token');\n if (token) {\n return (dispatch) => {\n dispatch(fetchPushSubsPending());\n fetch(`${API_URL}/subs/${leid}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'applicatoin/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((subs) => {\n if (subs.length !== 0 && subs[0].id) {\n sendPushNotification(subs, 'New Lead Assigned!', 'You have been assigned a new lead.');\n\n return dispatch(fetchPushSubsSuccess(subs));\n }\n })\n .catch((err) => dispatch(fetchPushSubsFailed(err.message)));\n };\n }\n};\n","export const libraryActionTypes = {\n FETCH_LIBRARY_START: 'FETCH_LIBRARY_START',\n FETCH_LIBRARY_SUCCESS: 'FETCH_LIBRARY_SUCCESS',\n FETCH_LIBRARY_FAILED: 'FETCH_LIBRARY_FAILED',\n\n UPDATE_LIBRARY_START: 'UPDATE_LIBRARY_START',\n UPDATE_LIBRARY_SUCCESS: 'UPDATE_LIBRARY_SUCCESS',\n UPDATE_LIBRARY_FAILED: 'UPDATE_LIBRARY_FAILED',\n\n POST_LIBRARY_START: 'POST_LIBRARY_START',\n POST_LIBRARY_SUCCESS: 'POST_LIBRARY_SUCCESS',\n POST_LIBRARY_FAILED: 'POST_LIBRARY_FAILED',\n\n DELETE_LIBRARY_START: 'DELETE_LIBRARY_START',\n DELETE_LIBRARY_SUCCESS: 'DELETE_LIBRARY_SUCCESS',\n DELETE_LIBRARY_FAILED: 'DELETE_LIBRARY_FAILED',\n\n HIDE_ALERT: 'HIDE_ALERT',\n};\n","import api from '../../common/api';\nimport { leadsActionType } from './leads.type';\n\nconst API_URL = api.apiUrl;\n\nconst fetchLeadsStart = () => {\n return {\n type: leadsActionType.FETCH_LEAD_START,\n };\n};\n\nconst fetchLeadsSuccess = (leadData) => {\n return {\n type: leadsActionType.FETCH_LEAD_SUCCESS,\n payload: leadData,\n };\n};\n\nconst fetchAssignedLeadsStart = () => {\n return {\n type: leadsActionType.FETCH_ASSIGNED_LEAD_START,\n };\n};\n\nconst fetchAssignedLeadsSuccess = (leadData) => {\n return {\n type: leadsActionType.FETCH_ASSIGNED_LEAD_SUCCESS,\n payload: leadData,\n };\n};\n\nconst fetchLeadsFailed = (errorMessage) => {\n return {\n type: leadsActionType.FETCH_LEAD_FAILED,\n payload: errorMessage,\n };\n};\n\nexport const setLeadActionMode = (mode, lead) => {\n return {\n type: leadsActionType.SET_LEAD_ACTION_MODE,\n payload: {\n mode,\n lead,\n },\n };\n};\n\nconst addLead = () => {\n return {\n type: leadsActionType.ADD_LEAD,\n };\n};\n\nconst updateLead = () => {\n return {\n type: leadsActionType.UPDATE_LEAD,\n };\n};\n\nconst deleteLead = () => {\n return {\n type: leadsActionType.DELETE_LEAD,\n };\n};\n\nexport const resetLeads = () => {\n return { type: leadsActionType.RESET_LEADS };\n};\n\nexport const resetAssignedLeads = () => {\n return { type: leadsActionType.RESET_ASSIGNED_LEADS };\n};\n\n// Async Actions\n\nexport const fetchLeadsStartAsync = (retriveLimit, confId) => {\n const token = localStorage.getItem('token');\n\n return async (dispatch) => {\n try {\n dispatch(fetchLeadsStart());\n const request = await fetch(`${API_URL}/leads`, {\n method: 'post',\n headers: {\n 'content-type': 'application/json',\n Authorization: token,\n },\n body: JSON.stringify({\n limit: retriveLimit,\n confId: confId,\n }),\n });\n if (request.status === 200) {\n const data = await request.json();\n dispatch(fetchLeadsSuccess(data));\n } else {\n dispatch(fetchLeadsFailed('error fetching leads data from the server'));\n }\n } catch (error) {\n if (error) {\n dispatch(fetchLeadsFailed(error.message));\n console.log(error.message);\n }\n }\n };\n};\n\nexport const fetchLeadsAssignedStartAsync = (leid) => {\n const token = localStorage.getItem('token');\n\n return async (dispatch) => {\n dispatch(fetchAssignedLeadsStart());\n\n try {\n const request = await fetch(`${API_URL}/assignedLeads/${leid}`, {\n method: 'get',\n\n headers: {\n 'content-type': 'application/json',\n\n Authorization: token,\n },\n });\n\n if (request.status === 200) {\n const data = await request.json();\n\n dispatch(fetchAssignedLeadsSuccess(data));\n } else {\n dispatch(fetchLeadsFailed('error fetching the data'));\n }\n } catch (error) {\n dispatch(fetchLeadsFailed(error.message));\n }\n };\n};\n\n//Add Lead\n\nexport const addLeadAsync = (leadData, conf_id) => {\n const token = localStorage.getItem('token');\n\n return async (dispatch) => {\n dispatch(addLead());\n try {\n const request = await fetch(`${API_URL}/lead/add`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n body: JSON.stringify({\n firstName: leadData.firstName.value,\n lastName: leadData.lastName.value,\n email: leadData.email.value,\n address1: leadData.address1.value,\n address2: leadData.address2.value,\n city: leadData.city.value,\n state: leadData.state.value,\n zip: leadData.zip.value,\n phone: leadData.phone.value,\n leadSource: leadData.leadSource.value,\n booksInterested: leadData.booksInterested.value,\n notes: leadData.notes.value,\n conf_id,\n }),\n });\n const data = await request.json();\n\n return { status: request.status, data };\n } catch (error) {\n console.log(error);\n }\n };\n};\n\n//Update Lead\n\nexport const updateLeadAsync = (leadData, lead) => {\n const token = localStorage.getItem('token');\n\n return async (dispatch) => {\n dispatch(updateLead());\n try {\n const request = await fetch(`${API_URL}/lead/update`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n body: JSON.stringify({\n leadId: lead.leads_id,\n firstName: leadData.firstName.value,\n lastName: leadData.lastName.value,\n email: leadData.email.value,\n address1: leadData.address1.value,\n address2: leadData.address2.value,\n city: leadData.city.value,\n state: leadData.state.value,\n zip: leadData.zip.value,\n phone: leadData.phone.value,\n leadSource: leadData.leadSource.value,\n booksInterested: leadData.booksInterested.value,\n notes: leadData.notes.value,\n status: leadData.status.value,\n district: leadData.district.value,\n }),\n });\n const data = await request.json();\n\n return data;\n } catch (error) {\n console.log(error);\n }\n };\n};\n\n//Delete Lead\n\nexport const deleteLeadAsync = (lead) => {\n const token = localStorage.getItem('token');\n\n return async (dispatch) => {\n dispatch(deleteLead());\n try {\n const request = await fetch(`${API_URL}/lead/delete`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n body: JSON.stringify({\n leadId: lead.leads_id,\n }),\n });\n const data = await request.json();\n\n return data;\n } catch (error) {\n console.log(error);\n }\n };\n};\n","/**\n * Url to api endpoint\n * https://create-react-app.dev/docs/adding-custom-environment-variables/\n * > Note: You must create custom environment variables beginning with REACT_APP_. Any other variables except NODE_ENV\n * will be ignored to avoid accidentally exposing a private key on the machine that could have the same name. Changing\n * any environment variables will require you to restart the development server if it is running.\n * @type {string}\n */\nconst API_URL = 'https://api.hhesle.com';\nconst GOOGLE_MAP_URL = 'https://www.google.com/maps/search/?api=1&query=';\n\nconst GOOGLE_API_KEY = process.env.REACT_APP_GOOGLE_API_KEY;\n\nconst ob = {\n apiUrl: API_URL,\n googleMapUrl: GOOGLE_MAP_URL,\n googleApiKey: GOOGLE_API_KEY,\n};\n\nexport default ob;\n","export const userActionTypes = {\n FETCH_USER_START: 'FETCH_USER_START',\n FETCH_USER_SUCCESS: 'FETCH_USER_SUCCESS',\n FETCH_USER_FAILED: 'FETCH_USER_FAILED',\n SET_CURRENT_USER: 'SET_CURRENT_USER',\n SET_TEMP_USER: 'SET_TEMP_USER',\n};\n","import { userActionTypes } from './user.type';\n\nconst INITIAL_STATE = {\n isLoggedIn: false,\n isUserFetching: false,\n errorMessage: undefined,\n tempUser: null,\n currentUser: {\n leid: '',\n name: '',\n leaderStatus: '',\n status: '',\n district: '',\n currentMonthCommission: '',\n currentMonthCommissionData: '',\n nextMonthCommission: '',\n nextMonthCommissionData: '',\n writtenOffPct: '',\n paBalance: '',\n },\n};\n\nconst setCurrentUser = (user) => {\n if (user !== null && user.LEID) {\n return {\n leid: user.LEID,\n name: user.LEID_Name,\n leaderStatus: user.leader_status,\n district: user.district,\n currentMonthCommission: user.currcommpct,\n nextMonthCommission: user.nextcommpct,\n currentMonthCommissionData: user.commissioncurryr,\n nextMonthCommissionData: user.commissionnextyr,\n writtenOffPct: user.WriteOffPercent,\n status: user.le_status,\n paBalance: user.CurrentBalance,\n };\n }\n\n return { leid: '', name: ' ' };\n};\n\nconst isUserLoggedIn = (user) => {\n return user ? true : false;\n};\n\nconst userReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case userActionTypes.FETCH_USER_START:\n return {\n ...state,\n isUserFetching: true,\n };\n case userActionTypes.FETCH_USER_SUCCESS:\n return {\n ...state,\n currentUser: setCurrentUser(action.payload),\n isLoggedIn: isUserLoggedIn(action.payload),\n isUserFetching: false,\n };\n case userActionTypes.FETCH_USER_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isUserFetching: false,\n };\n case userActionTypes.SET_CURRENT_USER:\n return {\n ...state,\n currentUser: setCurrentUser(action.payload),\n isLoggedIn: isUserLoggedIn(action.payload),\n };\n case userActionTypes.SET_TEMP_USER:\n return {\n ...state,\n tempUser: action.payload,\n };\n\n default:\n return state;\n }\n};\n\nexport default userReducer;\n","import { leActionTypes } from './le.type';\n\nconst LE_HISTORY_INITIAL_STATE = {\n isLeHistoryFetching: false,\n profile: null,\n profileErrorMessage: null,\n isLeProfilesFetching: false,\n profiles: null,\n profilesErrorMessage: null,\n leHistory: null,\n errorMessage: null,\n isLesHistoryFetching: false,\n lesHistory: null,\n lesHistoryErrorMessage: null,\n user: null,\n loading: true,\n};\n\nconst leReducer = (state = LE_HISTORY_INITIAL_STATE, action) => {\n switch (action.type) {\n //fetch individual le\n case leActionTypes.LE_FETCH_START:\n return {\n ...state,\n isLeHistoryFetching: true,\n };\n case leActionTypes.LE_FETCH_SUCCESS:\n return {\n ...state,\n leHistory: action.payload,\n isLeHistoryFetching: false,\n };\n case leActionTypes.LE_FETCH_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isLeHistoryFetching: false,\n };\n //fetch all le's under same district only if the user is logged in as DL or PD\n case leActionTypes.LES_FETCH_START:\n return {\n ...state,\n isLesHistoryFetching: true,\n };\n case leActionTypes.LES_FETCH_SUCCESS:\n return {\n ...state,\n lesHistory: action.payload,\n isLesHistoryFetching: false,\n };\n case leActionTypes.LES_FETCH_FAILED:\n return {\n ...state,\n lesHistoryErrorMessage: action.payload,\n isLesHistoryFetching: false,\n };\n\n //fetch le profile\n case leActionTypes.FETCH_LE_PROFILE_SUCCESS:\n return {\n ...state,\n profile: action.payload,\n };\n\n case leActionTypes.FETCH_LE_PROFILE_FAILED:\n return {\n ...state,\n profileErrorMessage: action.paylaod,\n };\n\n //fetch all le profiles\n case leActionTypes.FETCH_LE_PROFILES_START:\n return {\n ...state,\n isLeProfilesFetching: true,\n };\n case leActionTypes.FETCH_LE_PROFILES_SUCCESS:\n return {\n ...state,\n profiles: action.payload,\n isLeProfilesFetching: false,\n };\n\n case leActionTypes.FETCH_LE_PROFILES_FAILED:\n return {\n ...state,\n profilesErrorMessage: action.paylaod,\n isLeProfilesFetching: false,\n };\n case leActionTypes.LE_FETCH_USER:\n return {\n ...state,\n user: action.payload,\n loading: false,\n };\n default:\n return state;\n }\n};\n\nexport default leReducer;\n","import { customerActionTypes } from './customer.types';\n\nconst INITIAL_STATE = {\n isCustomerFetching: false,\n customerActivity: null,\n errorMessage: undefined,\n isCustomersActivityFetching: false,\n customersActivityOfLesFromSameDistrict: null,\n customerActivityErrorMessage: null,\n};\n\nconst customerReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case customerActionTypes.FETCH_CUSTOMER_START:\n return {\n ...state,\n isCustomerFetching: true,\n };\n case customerActionTypes.FETCH_CUSTOMER_SUCCESS:\n return {\n ...state,\n isCustomerFetching: false,\n customerActivity: action.payload,\n };\n case customerActionTypes.FETCH_CUSTOMER_FAILED:\n return {\n ...state,\n isCustomerFetching: false,\n errorMessage: action.payload,\n };\n\n case customerActionTypes.FETCH_CUSTOMERS_START:\n return {\n ...state,\n isCustomersActivityFetching: true,\n };\n case customerActionTypes.FETCH_CUSTOMERS_SUCCESS:\n return {\n ...state,\n isCustomersActivityFetching: false,\n customersActivityOfLesFromSameDistrict: action.payload,\n };\n case customerActionTypes.FETCH_CUSTOMERS_FAILED:\n return {\n ...state,\n isCustomersActivityFetching: false,\n customerActivityErrorMessage: action.payload,\n };\n\n default:\n return state;\n }\n};\n\nexport default customerReducer;\n","import { customerActionTypes } from './customer.types';\n\nconst INITIAL_STATE = {\n custActivityExt: null,\n isCustActivityExtFetching: false,\n iscustActivityFetchingError: undefined,\n};\n\nconst customerActivityExt = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case customerActionTypes.FETCH_CUSTOMEREXT_START:\n return {\n ...state,\n isCustActivityExtFetching: true,\n };\n case customerActionTypes.FETCH_CUSTOMEREXT_SUCCESS:\n return {\n ...state,\n isCustActivityExtFetching: false,\n custActivityExt: action.payload,\n };\n case customerActionTypes.FETCH_CUSTOMEREXT_FAILED:\n return {\n ...state,\n isCustActivityExtFetching: false,\n iscustActivityFetchingError: action.payload,\n };\n\n default:\n return state;\n }\n};\n\nexport default customerActivityExt;\n","import { orderActionTypes } from './order.type';\n\nconst INITIAL_STATE = {\n isOrderFetching: false,\n orderDetails: null,\n errorMessage: undefined,\n};\n\nconst orderDetailsReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case orderActionTypes.FETCH_ORDER_DETAILS_START:\n return {\n ...state,\n isOrderFetching: true,\n };\n case orderActionTypes.FETCH_ORDER_DETAILS_SUCCESS:\n return {\n ...state,\n orderDetails: action.payload,\n isOrderFetching: false,\n };\n case orderActionTypes.FETCH_ORDER_DETAILS_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isOrderFetching: false,\n };\n\n default:\n return state;\n }\n};\n\nexport default orderDetailsReducer;\n","import { statementActionType } from './statement.type';\n\nconst INITIAL_STATE = {\n isStatementFetching: false,\n customerStatement: null,\n errorMessage: undefined,\n};\n\nconst customerStatementReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case statementActionType.FETCH_CUSTOMER_STATEMENT_START:\n return {\n ...state,\n isStatementFetching: true,\n };\n case statementActionType.FETCH_CUSTOMER_STATEMENT_SUCCESS:\n return {\n ...state,\n customerStatement: action.payload,\n isStatementFetching: false,\n };\n case statementActionType.FETCH_CUSTOMER_STATEMENT_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isStatementFetching: false,\n };\n\n default:\n return state;\n }\n};\n\nexport default customerStatementReducer;\n","import { dlActionTypes } from './dl.type';\n\nconst initialState = {\n dlProfiles: null,\n};\n\nconst dlReducer = (state = initialState, action) => {\n switch (action.type) {\n case dlActionTypes.SET_DL_PROFILES:\n return {\n ...state,\n dlProfiles: action.payload,\n };\n\n default:\n return state;\n }\n};\n\nexport default dlReducer;\n","import { conferenceActionTypes } from './conference.types';\n\nconst initialState = {\n lesHistorybydistrictObj: null,\n leProfilesbydistrictObj: null,\n isLesHistoryFetching: false,\n lesHistoryErrorMessage: '',\n};\n\nconst conferenceReducer = (state = initialState, action) => {\n switch (action.type) {\n case conferenceActionTypes.FETCH_LES_HISTORY_START:\n return {\n ...state,\n isLesHistoryFetching: true,\n };\n case conferenceActionTypes.FETCH_LES_HISTORY_SUCCESS:\n return {\n ...state,\n lesHistorybydistrictObj: action.payload,\n isLesHistoryFetching: false,\n };\n case conferenceActionTypes.FETCH_LES_HISTORY_FAILED:\n return {\n ...state,\n lesHistoryErrorMessage: action.payload,\n isLesHistoryFetching: false,\n };\n\n case conferenceActionTypes.TRANSFORM_LES_PROFILE_BY_DISTRICT:\n return {\n ...state,\n leProfilesbydistrictObj: action.payload,\n };\n\n default:\n return state;\n }\n};\n\nexport default conferenceReducer;\n","import { accountSummaryActionTypes } from './account-summary.action-types';\n\nconst initialState = {\n isAccountSummaryFetching: false,\n accountSummary: null,\n errorMessage: null,\n};\n\nconst accountSummaryReducer = (state = initialState, action) => {\n switch (action.type) {\n case accountSummaryActionTypes.FETCH_ACCOUNT_SUMMARY_START:\n return {\n ...state,\n isAccountSummaryFetching: true,\n };\n\n case accountSummaryActionTypes.FETCH_ACCOUNT_SUMMARY_SUCCESS:\n return {\n ...state,\n accountSummary: action.payload,\n isAccountSummaryFetching: false,\n };\n\n case accountSummaryActionTypes.FETCH_ACCOUNT_SUMMARY_FAILED:\n return {\n ...state,\n accountSummary: action.payload,\n isAccountSummaryFetching: false,\n };\n\n default:\n return state;\n }\n};\n\nexport default accountSummaryReducer;\n","import { leadsActionType } from './leads.type';\n\nconst initialState = {\n isLeadsFetching: false,\n leads: null,\n mode: null,\n leadData: null,\n errorMessage: null,\n assignedLeads: null,\n};\n\nconst leadsReducer = (state = initialState, action) => {\n switch (action.type) {\n case leadsActionType.FETCH_LEAD_START:\n return {\n ...state,\n isLeadsFetching: true,\n };\n case leadsActionType.FETCH_LEAD_SUCCESS:\n return {\n ...state,\n leads: action.payload,\n isLeadsFetching: false,\n };\n case leadsActionType.FETCH_ASSIGNED_LEAD_START:\n return {\n ...state,\n isLeadsFetching: true,\n };\n case leadsActionType.FETCH_ASSIGNED_LEAD_SUCCESS:\n return {\n ...state,\n assignedLeads: action.payload,\n isLeadsFetching: false,\n };\n case leadsActionType.FETCH_LEAD_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isLeadsFetching: false,\n };\n case leadsActionType.SET_LEAD_ACTION_MODE:\n return {\n ...state,\n mode: action.payload.mode,\n leadData: action.payload.lead,\n };\n case leadsActionType.RESET_ASSIGNED_LEADS:\n return {\n ...state,\n assignedLeads: null,\n };\n case leadsActionType.RESET_LEADS:\n return {\n ...state,\n leads: null,\n };\n default: {\n return state;\n }\n }\n};\n\nexport default leadsReducer;\n","import { modalActionType } from './modal.action';\n\nconst initialState = {\n showModal: false,\n modalContent: null,\n actionMode: null,\n actionFunc: null,\n};\n\nconst modalReducer = (state = initialState, action) => {\n switch (action.type) {\n case modalActionType.OPEN_MODAL:\n return {\n ...state,\n showModal: true,\n modalContent: action.payload.modalContent,\n actionMode: action.payload.actionMode,\n actionFunc: action.payload.actionFunc,\n };\n case modalActionType.CLOSE_MODAL:\n return {\n ...state,\n showModal: false,\n };\n default:\n return state;\n }\n};\n\nexport default modalReducer;\n","import { pushSubsTypes } from './push-subs.type';\n\nconst INITIAL_STATE = {\n isSubsFetching: false,\n userSubs: null,\n errorMessage: null,\n};\n\nconst pushSubsReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case pushSubsTypes.FETCH_PUSH_SUBS_PENDING:\n return {\n ...state,\n isSubsFetching: true,\n };\n case pushSubsTypes.FETCH_PUSH_SUBS_SUCCESS:\n return {\n ...state,\n userSubs: action.payload,\n isSubsFetching: false,\n };\n case pushSubsTypes.FETCH_PUSH_SUBS_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isSubsFetching: false,\n };\n default: {\n return state;\n }\n }\n};\n\nexport default pushSubsReducer;\n","import { contractActionType } from './econtract.types';\n\nconst initialState = {\n loading: false,\n contractList: [],\n errorMessage: null,\n customer: {},\n updateOrder: {},\n viewReference: {},\n orderedBooks: [],\n completedOrderLists: [],\n viewPayment: {},\n ccResponse: {},\n alert: {\n severity: '',\n status: false,\n message: '',\n },\n};\n\nconst econtractReducer = (state = initialState, action) => {\n const { type, payload } = action;\n switch (type) {\n case contractActionType.CC_POST_START:\n return {\n ...state,\n loading: true,\n };\n case contractActionType.CC_POST_SUCCESS:\n return {\n ...state,\n loading: false,\n ccResponse: payload,\n loading: false,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Payment successful',\n subMessage: 'Your payment has been successfully processed. Thank you',\n },\n };\n case contractActionType.CC_POST_SUCCESS_STATUS:\n return {\n ...state,\n ccResponse: payload,\n };\n case contractActionType.CC_POST_FAILURE_STATUS:\n return {\n ...state,\n ccResponse: payload,\n };\n case contractActionType.CC_POST_FAILURE:\n return {\n ...state,\n loading: false,\n errorMessage: payload,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: payload || 'Payment declined',\n subMessage: 'Your payment has been declined. Please try again',\n },\n };\n\n case contractActionType.FETCH_CONTRACT_START:\n return {\n ...state,\n loading: true,\n };\n case contractActionType.FETCH_CONTRACT_SUCCESS:\n return {\n ...state,\n contractList: payload,\n loading: false,\n };\n case contractActionType.FETCH_CONTRACT_FAILED:\n return {\n ...state,\n errorMessage: payload,\n loading: false,\n };\n case contractActionType.SET_CUSTOMER_INFO:\n return {\n ...state,\n customer: {\n contract: payload.contract,\n payment: payload.payment,\n orders: payload.orders,\n },\n };\n case contractActionType.RESET_CUSTOMER_INFO:\n return {\n ...state,\n customer: {},\n };\n case contractActionType.VIEW_UPDATE_ORDER_START:\n return {\n ...state,\n };\n case contractActionType.VIEW_UPDATE_ORDER_SUCCESS:\n return {\n ...state,\n updateOrder: payload,\n };\n case contractActionType.VIEW_UPDATE_ORDER_FAILURE:\n return {\n ...state,\n errorMessage: payload,\n };\n\n case contractActionType.VIEW_REFERENCE_START:\n return {\n ...state,\n };\n\n case contractActionType.VIEW_REFERENCE_SUCCESS:\n return {\n ...state,\n viewReference: payload,\n };\n\n case contractActionType.VIEW_REFERENCE_FAILURE:\n return {\n ...state,\n errorMessage: payload,\n };\n\n case contractActionType.VIEW_PAYMENT_START:\n return {\n ...state,\n };\n\n case contractActionType.VIEW_PAYMENT_SUCCESS:\n return {\n ...state,\n viewPayment: payload,\n };\n\n case contractActionType.VIEW_PDFLINK_FAILURE:\n return {\n ...state,\n errorMessage: payload,\n };\n case contractActionType.VIEW_PDFLINK_START:\n return {\n ...state,\n };\n\n case contractActionType.VIEW_PDFLINK_SUCCESS:\n return {\n ...state,\n viewPdfLink: payload,\n };\n\n case contractActionType.VIEW_PAYMENT_FAILURE:\n return {\n ...state,\n errorMessage: payload,\n };\n\n case contractActionType.MARK_AS_PAID_START:\n return {\n ...state,\n loading: true,\n };\n case contractActionType.MARK_AS_PAID_SUCCESS:\n return {\n ...state,\n loading: false,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Payment successful',\n subMessage: 'Your payment has been successfully processed. Thank you.',\n },\n };\n case contractActionType.MARK_AS_PAID_FAILURE:\n return {\n ...state,\n loading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: payload || 'Payment declined',\n subMessage: 'Your payment has been declined. Please try again.',\n },\n };\n case contractActionType.GET_BOOK_OORDER_START:\n return {\n ...state,\n };\n case contractActionType.GET_BOOK_ORDER_SUCCESS:\n return {\n ...state,\n orderedBooks: payload,\n };\n case contractActionType.GET_BOOK_ORDER_FAILURE:\n return {\n ...state,\n errorMessage: payload,\n };\n case contractActionType.DELETE_ORDER_FAILURE:\n return {\n ...state,\n loading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: payload || 'Failed to Delete Order',\n },\n };\n case contractActionType.DELETE_ORDER_SUCCESS:\n return {\n ...state,\n loading: false,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Successfully Deleted Order',\n },\n };\n case contractActionType.DELETE_ORDER_START:\n return {\n ...state,\n loading: true,\n };\n case contractActionType.START_LOADER:\n return {\n ...state,\n loading: true,\n };\n case contractActionType.STOP_LOADER:\n return {\n ...state,\n loading: false,\n };\n case contractActionType.SHOW_ALERT:\n return {\n ...state,\n alert: {\n severity: payload.severity,\n status: true,\n message: payload.message,\n },\n };\n case contractActionType.HIDE_ALERT:\n return {\n ...state,\n alert: {\n severity: '',\n status: false,\n message: '',\n },\n };\n case contractActionType.POST_UPDATE_ORDER_START:\n return {\n ...state,\n loading: true,\n };\n case contractActionType.POST_UPDATE_ORDER_FAILED:\n return {\n ...state,\n loading: false,\n alert: {\n severity: 'error',\n status: true,\n message: payload || 'Failed to Update Order',\n },\n };\n case contractActionType.POST_UPDATE_ORDER_SUCCESS:\n return {\n ...state,\n loading: false,\n alert: {\n severity: 'success',\n status: true,\n message: 'Successfully Updated Order',\n },\n };\n\n case contractActionType.FETCH_COMPLETED_ORDER_START:\n return {\n ...state,\n loading: true,\n };\n\n case contractActionType.FETCH_COMPLETED_ORDER_SUCCESS:\n return {\n ...state,\n completedOrderLists: payload,\n loading: false,\n };\n case contractActionType.FETCH_COMPLETED_ORDER_FAILED:\n return {\n ...state,\n errorMessage: payload,\n loading: false,\n };\n case contractActionType.CANCEL_SUBSCRIPTIONS_START:\n return {\n ...state,\n loading: true,\n };\n case contractActionType.CANCEL_SUBSCRIPTIONS_SUCCESS:\n return {\n ...state,\n // completedOrderLists: payload,\n loading: false,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Subscriptions Cancellation',\n subMessage: 'Subscriptions has been cancelled Successfully.',\n },\n };\n case contractActionType.CANCEL_SUBSCRIPTIONS_FAILED:\n return {\n ...state,\n errorMessage: payload,\n loading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: 'Subscriptions cancellation',\n subMessage: payload,\n },\n };\n\n default: {\n return state;\n }\n }\n};\n\nexport default econtractReducer;\n","import { productActionTypes } from './product.type';\n\nconst INITIAL_STATE = {\n isLoading: false,\n productList: [],\n errorMessage: null,\n alert: {\n severity: '',\n status: false,\n titleMessage: '',\n subMessage: '',\n },\n};\n\nconst productReducers = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case productActionTypes.FETCH_PRODUCT_START:\n return {\n ...state,\n isLoading: true,\n };\n case productActionTypes.FETCH_PRODUCT_SUCCESS:\n return {\n ...state,\n productList: action.payload,\n isLoading: false,\n };\n case productActionTypes.FETCH_PRODUCT_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isLoading: false,\n };\n case productActionTypes.POST_PRODUCT_START:\n return {\n ...state,\n isLoading: true,\n };\n case productActionTypes.POST_PRODUCT_SUCCESS:\n return {\n ...state,\n isLoading: false,\n productList: [action.payload, ...state.productList],\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Successfully Added Product',\n },\n };\n case productActionTypes.POST_PRODUCT_FAILED:\n return {\n ...state,\n isLoading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: 'Failed to Add Product',\n },\n };\n case productActionTypes.UPDATE_PRODUCT_START:\n return {\n ...state,\n isLoading: true,\n };\n case productActionTypes.UPDATE_PRODUCT_SUCCESS:\n const index = state.productList.findIndex((product) => product.p_id === action.payload.p_id);\n\n const newProductList = [...state.productList];\n newProductList[index] = action.payload;\n\n return {\n ...state,\n isLoading: false,\n productList: newProductList,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Successfully Updated Product',\n },\n };\n case productActionTypes.UPDATE_PRODUCT_FAILED:\n return {\n ...state,\n isLoading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: 'Failed to Update Product',\n },\n };\n\n case productActionTypes.DELETE_PRODUCT_START:\n return {\n ...state,\n isLoading: true,\n };\n case productActionTypes.DELETE_PRODUCT_SUCCESS:\n return {\n ...state,\n isLoading: false,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Successfully Deleted Product',\n },\n };\n case productActionTypes.DELETE_PRODUCT_FAILED:\n return {\n ...state,\n isLoading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: 'Failed to Delete Product',\n },\n };\n case productActionTypes.HIDE_ALERT:\n return {\n ...state,\n alert: {\n severity: '',\n status: false,\n titleMessage: '',\n },\n };\n default:\n return state;\n }\n};\n\nexport default productReducers;\n","import { libraryActionTypes } from './library.type';\n\nconst INITIAL_STATE = {\n isLoading: false,\n libraryList: [],\n errorMessage: null,\n alert: {\n severity: '',\n status: false,\n titleMessage: '',\n subMessage: '',\n },\n};\n\nconst libraryReducers = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case libraryActionTypes.HIDE_ALERT:\n return {\n ...state,\n alert: {\n severity: '',\n status: false,\n titleMessage: '',\n subMessage: '',\n },\n };\n\n case libraryActionTypes.FETCH_LIBRARY_START:\n return {\n ...state,\n isLoading: true,\n };\n case libraryActionTypes.FETCH_LIBRARY_SUCCESS:\n return {\n ...state,\n libraryList: action.payload,\n isLoading: false,\n };\n case libraryActionTypes.FETCH_LIBRARY_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isLoading: false,\n };\n\n case libraryActionTypes.POST_LIBRARY_START:\n return {\n ...state,\n isLoading: true,\n };\n case libraryActionTypes.POST_LIBRARY_SUCCESS:\n return {\n ...state,\n isLoading: false,\n libraryList: [...state.libraryList, action.payload],\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Successfully Added Library',\n },\n };\n case libraryActionTypes.POST_LIBRARY_FAILED:\n return {\n ...state,\n isLoading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: 'Failed to Add Library',\n },\n };\n\n case libraryActionTypes.UPDATE_LIBRARY_START:\n return {\n ...state,\n isLoading: true,\n };\n case libraryActionTypes.UPDATE_LIBRARY_SUCCESS:\n const index = state.libraryList.findIndex((library) => library.l_id === action.payload.l_id);\n\n const newLibraryList = [...state.libraryList];\n\n newLibraryList[index] = action.payload;\n\n return {\n ...state,\n isLoading: false,\n libraryList: newLibraryList,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Successfully Updated Library',\n },\n };\n case libraryActionTypes.UPDATE_LIBRARY_FAILED:\n return {\n ...state,\n isLoading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: 'Failed to Update Library',\n },\n };\n\n case libraryActionTypes.DELETE_LIBRARY_START:\n return {\n ...state,\n isLoading: true,\n };\n case libraryActionTypes.DELETE_LIBRARY_SUCCESS:\n return {\n ...state,\n isLoading: false,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Successfully Deleted Library',\n },\n };\n case libraryActionTypes.DELETE_LIBRARY_FAILED:\n return {\n ...state,\n isLoading: false,\n alert: {\n severity: 'error',\n status: true,\n titleMessage: 'Failed to Delete Library',\n },\n };\n default:\n return state;\n }\n};\n\nexport default libraryReducers;\n","import { stateTaxMasterSetupType } from './state-tax-master-setup.type';\n\nconst INITIAL_STATE = {\n isLoading: false,\n stateList: [],\n errorMessage: null,\n isRequestingForToggle: false,\n alert: {\n severity: '',\n status: false,\n titleMessage: '',\n subMessage: '',\n },\n};\n\nconst stateTaxMasterSetupReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case stateTaxMasterSetupType.FETCH_STATE_DATA_START:\n return {\n ...state,\n isLoading: true,\n };\n case stateTaxMasterSetupType.FETCH_STATE_DATA_FAILED:\n return {\n ...state,\n errorMessage: action.payload,\n isLoading: false,\n stateList: [],\n };\n case stateTaxMasterSetupType.FETCH_STATE_DATA_SUCCESS:\n return {\n ...state,\n stateList: action.payload,\n isLoading: false,\n };\n case stateTaxMasterSetupType.TOGGLE_STATE_TAX_INCLUDED_FLAG_START:\n return {\n ...state,\n isRequestingForToggle: true,\n };\n case stateTaxMasterSetupType.TOGGLE_STATE_TAX_INCLUDED_FLAG_SUCCESS:\n const index = state.stateList?.findIndex((state) => state?.id === action?.payload?.id);\n const newStateLists = [...state.stateList];\n newStateLists[index] = { ...action.payload, tax_flag: action.payload.taxFlag };\n\n return {\n ...state,\n isRequestingForToggle: false,\n stateList: [...newStateLists],\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Alert',\n subMessage: 'Tax Status has been updated Succussful',\n },\n };\n case stateTaxMasterSetupType.TOGGLE_STATE_TAX_INCLUDED_FLAG_FAILED:\n return {\n ...state,\n isRequestingForToggle: false,\n alert: {\n severity: 'success',\n status: true,\n titleMessage: 'Alert',\n subMessage: 'Error Occured During Updating Tax Status',\n },\n };\n\n case stateTaxMasterSetupType.HIDE_ALERT:\n return {\n ...state,\n alert: {\n severity: '',\n status: false,\n titleMessage: '',\n subMessage: '',\n },\n };\n\n default:\n return {\n ...state,\n };\n }\n};\n\nexport default stateTaxMasterSetupReducer;\n","import { combineReducers } from 'redux';\nimport userReducer from './user/user.reducer';\nimport leReducer from './le/le.reducer';\nimport customerReducer from './customer/customer.reducer';\nimport custActivityExt from './customer/custActivityExt.reducer';\nimport orderDetailsReducer from './order/order.reducer';\nimport customerStatementReducer from './statement/statement.reducer';\nimport dlReducer from './dl/dl.reducer';\nimport conferenceReducer from './conference/conference.reducer';\nimport accountSummaryReducer from './account-summary/account-summary.reducer';\nimport leadsReducer from './leads/leads.reducer';\nimport modalReducer from './modal/modal.reducer';\nimport pushSubsReducer from './push-subs/push-subs.reducer';\nimport econtractReducer from './econtract/econtract.reducer';\nimport productReducer from './product/product.reducer';\nimport libraryReducer from './library/library.reducer';\nimport stateTaxMasterSetupReducer from './state-tax-master-setup/state-tax-master-setup.reducer';\nconst rootReducer = combineReducers({\n user: userReducer,\n le: leReducer,\n customer: customerReducer,\n customerExt: custActivityExt,\n order: orderDetailsReducer,\n statement: customerStatementReducer,\n dl: dlReducer,\n conference: conferenceReducer,\n account: accountSummaryReducer,\n leads: leadsReducer,\n modal: modalReducer,\n subs: pushSubsReducer,\n econtract: econtractReducer,\n product: productReducer,\n library: libraryReducer,\n stateTaxMasterSetup: stateTaxMasterSetupReducer,\n});\n\nexport default rootReducer;\n","import { createStore, applyMiddleware } from 'redux';\nimport logger from 'redux-logger';\nimport { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';\nimport thunk from 'redux-thunk';\n\nimport rootReducer from './root-reducer';\n\nconst middlewares = [thunk];\n\nif (process.env.NODE_ENV === 'development') {\n middlewares.push(logger);\n}\n\nconst store = createStore(rootReducer, composeWithDevTools(applyMiddleware(...middlewares)));\n\nexport default store;\n","import { createSelector } from 'reselect';\n\nconst selectModal = (state) => state.modal;\n\nexport const selectShowModal = createSelector([selectModal], (selectModal) => selectModal.showModal);\n\nexport const selectModalContent = createSelector([selectModal], (selectModal) => selectModal.modalContent);\n\nexport const selectModalActionMode = createSelector([selectModal], (selectModal) => selectModal.actionMode);\nexport const selectModalActionFunc = createSelector([selectModal], (selectModal) => selectModal.actionFunc);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { createStructuredSelector } from 'reselect';\nimport { deleteLeadAsync } from '../../redux/leads/leads.action';\nimport { selectLeadData } from '../../redux/leads/leads.selector';\nimport { closeModal } from '../../redux/modal/modal.action';\nimport {\n selectModalActionFunc,\n selectModalActionMode,\n selectModalContent,\n selectShowModal,\n} from '../../redux/modal/modal.selector';\nimport CustomButton from '../custom-button/custom-button';\n\nimport './modal.styles.css';\n\nconst ModalPopup = (props) => {\n const { showModal, actionMode, modalContent, dispatch, leadData, modalActionFunc } = props;\n\n return (\n showModal && (\n
dispatch(closeModal())}>\n
\n dispatch(closeModal())}>\n ✖\n \n
{modalContent}
\n {actionMode === 'confirm' && (\n
\n
\n Cancel\n
\n
\n {\n modalActionFunc(leadData);\n dispatch(closeModal());\n }}\n >\n Delete\n \n
\n
\n )}\n
\n
\n )\n );\n};\n\nconst mapStateToProps = createStructuredSelector({\n showModal: selectShowModal,\n actionMode: selectModalActionMode,\n modalContent: selectModalContent,\n modalActionFunc: selectModalActionFunc,\n leadData: selectLeadData,\n});\n\nexport default connect(mapStateToProps)(ModalPopup);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n\n// These two containers are siblings in the DOM\nconst modalRoot = document.getElementById('modal-root');\n\nclass Modal extends React.Component {\n constructor(props) {\n super(props);\n this.el = document.createElement('div');\n }\n\n componentDidMount() {\n // The portal element is inserted in the DOM tree after\n // the Modal's children are mounted, meaning that children\n // will be mounted on a detached DOM node. If a child\n // component requires to be attached to the DOM tree\n // immediately when mounted, for example to measure a\n // DOM node, or uses 'autoFocus' in a descendant, add\n // state to Modal and only render the children when Modal\n // is inserted in the DOM tree.\n modalRoot.appendChild(this.el);\n }\n\n componentWillUnmount() {\n modalRoot.removeChild(this.el);\n }\n\n render() {\n return ReactDOM.createPortal(this.props.children, this.el);\n }\n}\n\nexport default Modal;\n","import React from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { createStructuredSelector } from 'reselect';\n\nimport {\n selectIsUserLoggedIn,\n selectCurrentUser,\n selectTempUser,\n selectIsUserFetching,\n} from 'redux/user/user.selector';\n\nconst PrivateRoute = ({\n isLoggedIn,\n currentUser,\n tempUser,\n loading,\n layout: Layout,\n component: Component,\n ...rest\n}) => {\n const token = localStorage.getItem('token');\n\n return (\n {\n if (!token) {\n // not logged in so redirect to login page with the return url\n return (\n \n );\n }\n\n // authorised so return component\n return (\n \n \n \n );\n }}\n />\n );\n};\n\nPrivateRoute.propTypes = {\n component: PropTypes.any.isRequired,\n layout: PropTypes.any.isRequired,\n};\n\nconst mapStateToProps = createStructuredSelector({\n isLoggedIn: selectIsUserLoggedIn,\n currentUser: selectCurrentUser,\n tempUser: selectTempUser,\n loading: selectIsUserFetching,\n});\n\nexport default connect(mapStateToProps)(PrivateRoute);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Route, Redirect } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { createStructuredSelector } from 'reselect';\n\nimport {\n selectIsUserLoggedIn,\n selectCurrentUser,\n selectTempUser,\n selectIsUserFetching,\n} from 'redux/user/user.selector';\n\nconst PublicRoute = ({\n isLoggedIn,\n currentUser,\n tempUser,\n loading,\n layout: Layout,\n component: Component,\n location,\n ...rest\n}) => {\n const getRedirectRoute = () => {\n if (location.state) {\n if (location.state.from.pathname.includes('assigned-leads')) {\n return {\n ...location.state.from,\n pathname: 'assigned-leads',\n };\n }\n if (location.state.from.pathname.includes('leads')) {\n return {\n ...location.state.from,\n pathname: 'leads',\n };\n }\n return location.state.from;\n }\n\n return '/';\n };\n return (\n {\n if (isLoggedIn && !loading) {\n return ;\n }\n\n return (\n \n \n \n );\n }}\n />\n );\n};\n\nPublicRoute.propTypes = {\n component: PropTypes.any.isRequired,\n layout: PropTypes.any.isRequired,\n};\n\nconst mapStateToProps = createStructuredSelector({\n isLoggedIn: selectIsUserLoggedIn,\n currentUser: selectCurrentUser,\n tempUser: selectTempUser,\n loading: selectIsUserFetching,\n});\n\nexport default connect(mapStateToProps)(PublicRoute);\n","import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\n\nimport CustomButton from '../custom-button/custom-button';\nimport { setCurrentUser } from '../../redux/user/user.action';\n\n// import { LE_MENU_DATA } from './menu.data';\nimport { onRouteChange } from '../utils/misc';\n\nimport './menu-dropdown.styles.scss';\nimport { createStructuredSelector } from 'reselect';\nimport { selectCurrentUser } from 'redux/user/user.selector';\n\nconst MenuDropdown = ({ toggleDropdownMenu, parent, setCurrentUser, tempUser, currentUser }) => {\n const history = useHistory();\n\n const [menuDropdownWidth, setMenuDropdownWidth] = useState(window.innerWidth > 500 ? '260px' : '100%');\n useEffect(() => {\n const assignWidthOnWindowResize = () => {\n if (window.innerWidth > 500) {\n setMenuDropdownWidth('260px');\n } else {\n setMenuDropdownWidth('100%');\n }\n };\n window.addEventListener('resize', assignWidthOnWindowResize);\n return () => window.removeEventListener('resize', assignWidthOnWindowResize);\n }, [menuDropdownWidth]);\n return (\n \n
\n {parent === 'profile' && (\n toggleDropdownMenu('/my-account', 'close', 'profile')}>\n My Account\n \n )}\n {parent === 'e-contract' && (\n \n toggleDropdownMenu('/econtract', 'close', 'profile')}>\n E-Contract\n \n toggleDropdownMenu('/econtract-history', 'close', 'profile')}>\n E-Contract LE Portal\n \n \n )}\n\n {parent === 'productAndLibraryList' && (\n \n toggleDropdownMenu('/products', 'close', 'profile')}>\n Products\n \n toggleDropdownMenu('/libraries', 'close', 'profile')}>\n Libraries\n \n toggleDropdownMenu('/state-tax-master-setup', 'close', 'profile')}\n >\n State's Tax Setup\n \n \n )}\n\n {parent === 'resources' && (\n \n toggleDropdownMenu('/order-form', 'close', 'profile')}>\n Order Forms\n \n toggleDropdownMenu('/training-and-sales-aids', 'close', 'profile')}\n >\n Training And Sales Aids\n \n toggleDropdownMenu('/year-end', 'close', 'profile')}>\n Video Resource\n \n toggleDropdownMenu('/audio-resource', 'close', 'profile')}>\n Audio Resource\n \n \n )}\n\n {/* {parent === \"menu\" &&\n LE_MENU_DATA.map((menuData) => {\n return (\n \n toggleDropdownMenu(\n routeGenerator(menuData),\n \"close\",\n \"profile\"\n )\n }\n >\n\n {menuData.menuName}\n \n );\n })} */}\n {parent === 'menu' && (\n <>\n toggleDropdownMenu('/dashboard', 'close', 'profile')}>\n Dashboard\n \n {(tempUser && tempUser.LEID === '4321') || tempUser.LEID === '5092' ? null : (\n toggleDropdownMenu('/customers', 'close', 'profile')}>\n Customers\n \n )}\n {currentUser.leaderStatus.toLowerCase() === 'publishing director' && (\n toggleDropdownMenu('/leads', 'close', 'profile')}>\n Leads\n \n )}\n\n {currentUser.leaderStatus.toLowerCase() !== 'publishing director' && (\n toggleDropdownMenu('/assigned-leads', 'close', 'profile')}>\n Assigned Leads\n \n )}\n\n {/* \n toggleDropdownMenu(\n \"https://forms.logiforms.com/formdata/user_forms/77894_7282070/357768/page1.html?cachebust=752\",\n \"close\",\n \"profile\"\n )\n }\n >\n E-Contract\n \n \n toggleDropdownMenu(\n \"https://forms.logiforms.com///published/index.lf?mode=live&workflowid=4b9f4755-5a4a-4692-afc1-0b1262645721&usr_id=77894&pageid=128424\",\n \"close\",\n \"profile\"\n )\n }\n >\n E-Contract LE Portal\n */}\n\n toggleDropdownMenu('/econtract', 'close', 'profile')}>\n E-Contract\n \n\n toggleDropdownMenu('/econtract-history', 'close', 'profile')}>\n E-Contract LE Portal\n \n\n toggleDropdownMenu('/order-form', 'close', 'profile')}>\n Order Form\n \n toggleDropdownMenu('/down-payment', 'close', 'profile')}>\n Down Payment\n \n toggleDropdownMenu('/training-and-sales-aids', 'close', 'profile')}\n >\n Training And Sales Aids\n \n toggleDropdownMenu('/year-end', 'close', 'profile')}>\n Video Project\n \n toggleDropdownMenu('/audio-resource', 'close', 'profile')}>\n Audio Resource\n \n\n {currentUser.leaderStatus.toLowerCase() === 'admin' && (\n <>\n toggleDropdownMenu('/products', 'close', 'profile')}>\n Products\n \n toggleDropdownMenu('/libraries', 'close', 'profile')}>\n Libraries\n \n toggleDropdownMenu('/state-tax-master-setup', 'close', 'profile')}\n >\n State's Tax Setup\n \n \n )}\n \n )}\n
\n {parent === 'profile' && (\n {\n toggleDropdownMenu('/signin', 'close', 'profile');\n return onRouteChange('signout', setCurrentUser, history);\n }}\n >\n Sign Out\n \n )}\n \n );\n};\n\nconst mapStateToProps = createStructuredSelector({\n currentUser: selectCurrentUser,\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n setCurrentUser: (user) => dispatch(setCurrentUser(user)),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(MenuDropdown);\n","import React from 'react';\n\nimport { connect } from 'react-redux';\n\nimport { Link, withRouter } from 'react-router-dom';\n\nimport { IoMdArrowDropdown, IoMdPerson, IoMdNotifications } from 'react-icons/io';\n\nimport { MdNotificationsActive } from 'react-icons/md';\n\nimport Logo from '../../assets/logo.png';\n\nimport { createStructuredSelector } from 'reselect';\n\nimport { selectIsUserLoggedIn, selectCurrentUser } from '../../redux/user/user.selector';\n\nimport { getScreenWidth, getFirstAndLastInitial, browser } from '../utils/misc';\n\nimport MenuDropdown from '../menu-dropdown/menu-dropdown';\n\nimport './header.styles.css';\n\nimport { fetchPushSubsStartAsync } from '../../redux/push-subs/push-subs.action';\n\nimport { askForNotificationPermission } from '../../utils/sw';\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\n\nconst webBrowser = browser();\n\nclass Header extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n showDropdownProfileMenu: false,\n showDropdownMenu: false,\n showResourcesMenu: false,\n showEcontractMenu: false,\n showProductAndLibraryMenu: false,\n showDropdownNotification: false,\n currentWindowWidth: '',\n };\n }\n\n updateCurrentWindowWidth = () => {\n this.setState({ currentWindowWidth: window.innerWidth });\n };\n\n componentDidMount() {\n window.addEventListener('resize', this.updateCurrentWindowWidth);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updateCurrentWindowWidth);\n }\n\n //toggle bellIcon\n\n toggleBellIcon = (tempUser) => {\n askForNotificationPermission(this.props.currentUser.leid);\n };\n\n //toggle dropdown menu\n\n toggleDropdownMenu = (\n route = undefined,\n\n status = undefined,\n\n parent = undefined\n ) => {\n const { history } = this.props;\n\n switch (true) {\n case route !== undefined && status === 'close':\n if (route.includes('http')) {\n window.location = route;\n\n return this.setState({\n showDropdownMenu: false,\n\n showDropdownProfileMenu: false,\n });\n }\n\n history.push(`${route}`);\n\n return this.setState({\n showDropdownMenu: false,\n\n showDropdownProfileMenu: false,\n\n showEcontractMenu: false,\n showProductAndLibraryMenu: false,\n showResourcesMenu: false,\n });\n\n case route === undefined && status === 'open' && parent === 'profile':\n return this.setState({\n showDropdownMenu: false,\n\n showDropdownProfileMenu: true,\n });\n\n case route === undefined && status === 'open' && parent === 'notification':\n return this.setState({\n showDropdownMenu: false,\n\n showDropdownProfileMenu: false,\n });\n\n case route === undefined && status === 'open' && parent === 'menu':\n return this.setState({\n showDropdownMenu: true,\n\n showDropdownProfileMenu: false,\n });\n\n case route === undefined && status === 'close':\n return this.setState({\n showDropdownMenu: false,\n\n showDropdownProfileMenu: false,\n\n showEcontractMenu: false,\n\n showResourcesMenu: false,\n showProductAndLibraryMenu: false,\n });\n\n case route === undefined && status === undefined && parent === 'menu':\n return this.setState({\n showDropdownMenu: !this.state.showDropdownMenu,\n\n showDropdownProfileMenu: false,\n });\n\n case route === undefined && status === undefined && parent === 'profile':\n return this.setState({\n showDropdownProfileMenu: !this.state.showDropdownProfileMenu,\n\n showDropdownMenu: false,\n });\n\n case route === undefined && status === undefined && parent === 'notification':\n return this.setState({\n showDropdownProfileMenu: false,\n\n showDropdownMenu: false,\n });\n\n case route === undefined && status === undefined && parent === 'e-contract':\n return this.setState({\n showEcontractMenu: !this.state.showEcontractMenu,\n showProductAndLibraryMenu: false,\n showDropdownMenu: false,\n\n showDropdownProfileMenu: false,\n\n showResourcesMenu: false,\n });\n\n case route === undefined && status === undefined && parent === 'productAndLibraryList':\n return this.setState({\n showProductAndLibraryMenu: !this.state.showProductAndLibraryMenu,\n showEcontractMenu: false,\n showDropdownMenu: false,\n\n showDropdownProfileMenu: false,\n\n showResourcesMenu: false,\n });\n\n case route === undefined && status === undefined && parent === 'resources':\n return this.setState({\n showResourcesMenu: !this.state.showResourcesMenu,\n showProductAndLibraryMenu: false,\n showDropdownMenu: false,\n\n showDropdownProfileMenu: false,\n\n showEcontractMenu: false,\n });\n\n default:\n return;\n }\n };\n\n render() {\n const { name, leid, leaderStatus } = this.props.currentUser;\n\n const { onRouteChange, isLoggedIn, tempUser } = this.props;\n\n const {\n showDropdownMenu,\n showEcontractMenu,\n showResourcesMenu,\n showDropdownProfileMenu,\n showProductAndLibraryMenu,\n } = this.state;\n\n return (\n leaderStatus && (\n this.toggleDropdownMenu(undefined, 'close')}>\n
\n \n \"logo\"\n \n\n {isLoggedIn ? (\n \n
\n {getScreenWidth() > 1020 && (\n
\n this.toggleDropdownMenu(undefined, 'close')}\n >\n Dashboard\n \n\n {tempUser?.LEID === '4321' || tempUser?.LEID === '5092' ? null : (\n this.toggleDropdownMenu(undefined, 'close')}\n >\n Customers\n \n )}\n\n {leaderStatus.toLowerCase() === 'publishing director' && (\n this.toggleDropdownMenu(undefined, 'close')}\n >\n Leads\n \n )}\n\n {leaderStatus.toLowerCase() !== 'publishing director' && (\n this.toggleDropdownMenu(undefined, 'close')}\n >\n Assigned Leads\n \n )}\n\n
\n \n this.toggleDropdownMenu(\n undefined,\n\n undefined,\n\n 'e-contract'\n )\n }\n >\n E-Contract\n \n\n {showEcontractMenu && (\n \n )}\n
\n\n {/* this.toggleDropdownMenu(undefined, 'close')}\n\n\n\n >\n\n\n\n E-Contract\n\n\n\n \n\n\n\n\n\n\n\n this.toggleDropdownMenu(undefined, 'close')}\n\n\n\n >\n\n\n\n E-Contract LE Portal\n\n\n\n */}\n\n {/* this.toggleDropdownMenu(undefined, 'close')}\n\n\n\n >\n\n\n\n Order Forms\n\n\n\n */}\n\n this.toggleDropdownMenu(undefined, 'close')}\n >\n Down Payment\n \n\n
\n \n this.toggleDropdownMenu(\n undefined,\n\n undefined,\n\n 'resources'\n )\n }\n >\n Resourses\n \n\n {showResourcesMenu && (\n \n )}\n
\n {leaderStatus === 'Admin' && (\n
\n \n this.toggleDropdownMenu(\n undefined,\n\n undefined,\n\n 'productAndLibraryList'\n )\n }\n >\n Admin's Menu\n \n\n {showProductAndLibraryMenu && (\n \n )}\n
\n )}\n\n {/* this.toggleDropdownMenu(undefined, 'close')}\n\n\n\n >\n\n\n\n Reports\n\n\n\n */}\n\n {/* this.toggleDropdownMenu(undefined, 'close')}\n\n\n\n >\n\n\n\n\n\n\n\n Leads\n\n\n\n */}\n
\n )}\n\n {getScreenWidth() > 1500 && (\n
\n {/* this.toggleDropdownMenu(undefined, 'close')}\n\n\n\n >\n\n\n\n Maps\n\n\n\n */}\n\n {/* this.toggleDropdownMenu(undefined, 'close')}\n\n\n\n >\n\n\n\n Training And Sales Aids\n\n\n\n */}\n
\n )}\n
\n\n {getScreenWidth() <= 1020 && (\n
\n this.toggleDropdownMenu(undefined, undefined, 'menu')}\n style={{ fontSize: '16px' }}\n >\n Menu\n \n\n {showDropdownMenu && (\n \n )}\n
\n )}\n \n ) : null}\n\n {/* notification */}\n\n \n this.toggleDropdownMenu(undefined, undefined, 'notification')}\n >\n {(isLoggedIn && webBrowser.name === 'Safari') ||\n this.props.currentUser.leaderStatus !== 'NONE' ? null : (\n
this.toggleBellIcon(tempUser)}>\n \n
\n )}\n \n
\n\n {/* profile */}\n\n
\n {isLoggedIn ? (\n {getFirstAndLastInitial(name)}\n ) : (\n
\n Sign In\n\n {/* \n\n\n\n Regster */}\n
\n )}\n\n {isLoggedIn && (\n \n
this.toggleDropdownMenu(undefined, undefined, 'profile')}>\n \n \n \n\n \n \n \n
\n\n {showDropdownProfileMenu && (\n \n )}\n
\n )}\n
\n
\n
\n )\n );\n }\n}\n\nconst mapStateToProps = createStructuredSelector({\n isLoggedIn: selectIsUserLoggedIn,\n\n currentUser: selectCurrentUser,\n});\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n fetchUserSubs: (leid) => dispatch(fetchPushSubsStartAsync(leid)),\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(Header));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { createStructuredSelector } from 'reselect';\n\nimport Header from 'components/header/header';\nimport { selectTempUser } from 'redux/user/user.selector';\n\nconst Main = (props) => {\n const { tempUser, children } = props;\n return (\n <>\n
\n
{children}
\n \n );\n};\n\nMain.propTypes = {\n children: PropTypes.node,\n};\n\nconst mapStateToProps = createStructuredSelector({\n tempUser: selectTempUser,\n});\n\nexport default connect(mapStateToProps)(Main);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Minimal = (props) => {\n const { children } = props;\n\n return (\n <>\n
{children}
\n \n );\n};\n\nMinimal.propTypes = {\n children: PropTypes.node,\n};\n\nexport default Minimal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { createStructuredSelector } from 'reselect';\n\nimport Header from 'components/header/header';\nimport { selectTempUser } from 'redux/user/user.selector';\n\nconst Main = (props) => {\n const { tempUser, children } = props;\n return (\n <>\n
\n
{children}
\n \n );\n};\n\nMain.propTypes = {\n children: PropTypes.node,\n};\n\nconst mapStateToProps = createStructuredSelector({\n tempUser: selectTempUser,\n});\n\nexport default connect(mapStateToProps)(Main);\n","import React from 'react';\n\nimport './error-boundry.styles.css';\n\nclass ErrorBoundry extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n hasError: false,\n };\n }\n\n componentDidCatch(error, info) {\n this.setState({ hasError: true });\n }\n\n render() {\n if (this.state.hasError) {\n return (\n
\n :-(\n Opps! Something Went Wrong.\n Whatever happpend, it was probably our fault. Please contact administrator.\n
\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundry;\n","import React, { lazy, Suspense } from 'react';\nimport { Switch, Redirect } from 'react-router-dom';\n\nimport { PublicRoute, PrivateRoute, RouteWithLayout } from './components';\nimport { Main as MainLayout, Minimal as MinimalLayout, Dashboard as DashboardLayout } from '../layouts';\n\nimport Spinner from 'components/spinner/spinner';\nimport ErrorBoundry from 'components/error-boundry/error-boundry';\n\nconst DashboardPage = lazy(() => import('pages/dashboard/dashboard.page'));\nconst SignInPage = lazy(() => import('pages/sign-in/sign-in-page'));\nconst RegisterPage = lazy(() => import('pages/register/register.page'));\nconst CustomerPreviewPage = lazy(() => import('pages/customer-preview/customer-preview.page'));\nconst CustomerDetailPage = lazy(() => import('pages/customer-detail/customer-detail-page'));\nconst LeadsPage = lazy(() => import('pages/leads/leads.page'));\nconst AssignedLeadsPage = lazy(() => import('pages/leads/assigned.page'));\nconst TrainingAndSalesAidsPage = lazy(() => import('pages/training_and_sales-aids/training_and_sales-aids.page'));\nconst VideoProjectPage = lazy(() => import('pages/video-project'));\nconst AudioResourcePage = lazy(() => import('pages/audio-resource'));\nconst MyAccountPage = lazy(() => import('pages/my-account/my-account.page'));\nconst OrderFormPage = lazy(() => import('pages/order-form/order-form.page'));\nconst DownPaymentPage = lazy(() => import('pages/down-payment/down-payment.page'));\nconst ResetPasswordPage = lazy(() => import('pages/reset-password/reset-password'));\nconst ContractPage = lazy(() => import('pages/econtract-form'));\nconst Reciept = lazy(() => import('pages/reciept'));\nconst HistoryPage = lazy(() => import('pages/econtract-history'));\nconst CompletedOrderPage = lazy(() => import('pages/econtract-history/components/CompletedOrder'));\nconst ProductPage = lazy(() => import('pages/product'));\nconst LibraryPage = lazy(() => import('pages/library'));\nconst StateTaxMasterSetupPage = lazy(() => import('pages/states-tax-master-setup'));\n\nconst Routes = (props) => {\n return (\n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Routes;\n","import { colors } from '@material-ui/core';\n\nconst white = '#FFFFFF';\nconst black = '#000000';\n\nexport default {\n black,\n white,\n primary: {\n contrastText: white,\n dark: colors.indigo[900],\n main: '#004ED0',\n light: colors.indigo[100],\n },\n secondary: {\n contrastText: white,\n dark: colors.blue[900],\n main: colors.blue['A400'],\n light: colors.blue['A400'],\n },\n success: {\n contrastText: white,\n dark: colors.green[900],\n main: colors.green[600],\n light: colors.green[400],\n },\n info: {\n contrastText: white,\n dark: colors.blue[900],\n main: colors.blue[600],\n light: colors.blue[400],\n },\n warning: {\n contrastText: white,\n dark: colors.orange[900],\n main: colors.orange[600],\n light: colors.orange[400],\n },\n error: {\n contrastText: white,\n dark: colors.red[900],\n main: colors.red[600],\n light: colors.red[400],\n },\n text: {\n primary: colors.blueGrey[900],\n secondary: colors.blueGrey[600],\n link: colors.blue[600],\n },\n background: {\n default: '#F4F6F8',\n paper: white,\n },\n icon: colors.blueGrey[600],\n divider: colors.grey[200],\n};\n","import palette from './palette';\n\nexport default {\n h1: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '35px',\n letterSpacing: '-0.24px',\n lineHeight: '40px',\n },\n h2: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '29px',\n letterSpacing: '-0.24px',\n lineHeight: '32px',\n },\n h3: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '24px',\n letterSpacing: '-0.06px',\n lineHeight: '28px',\n },\n h4: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '20px',\n letterSpacing: '-0.06px',\n lineHeight: '24px',\n },\n h5: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '16px',\n letterSpacing: '-0.05px',\n lineHeight: '20px',\n },\n h6: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '20px',\n },\n subtitle1: {\n color: palette.text.primary,\n fontSize: '16px',\n letterSpacing: '-0.05px',\n lineHeight: '25px',\n },\n subtitle2: {\n color: palette.text.secondary,\n fontWeight: 400,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '21px',\n },\n body1: {\n color: palette.text.primary,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '21px',\n },\n body2: {\n color: palette.text.secondary,\n fontSize: '12px',\n letterSpacing: '-0.04px',\n lineHeight: '18px',\n },\n button: {\n color: palette.text.primary,\n fontSize: '14px',\n },\n caption: {\n color: palette.text.secondary,\n fontSize: '11px',\n letterSpacing: '0.33px',\n lineHeight: '13px',\n },\n overline: {\n color: palette.text.secondary,\n fontSize: '11px',\n fontWeight: 500,\n letterSpacing: '0.33px',\n lineHeight: '13px',\n textTransform: 'uppercase',\n },\n};\n","import MuiButton from './MuiButton';\nimport MuiIconButton from './MuiIconButton';\nimport MuiPaper from './MuiPaper';\nimport MuiTableCell from './MuiTableCell';\nimport MuiTableHead from './MuiTableHead';\nimport MuiTypography from './MuiTypography';\nimport MuiTextField from './MuiTextField';\n\nexport default {\n MuiButton,\n MuiIconButton,\n MuiPaper,\n MuiTableCell,\n MuiTableHead,\n MuiTypography,\n MuiTextField,\n};\n","export default {\n contained: {\n boxShadow: '0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.20)',\n backgroundColor: '#FFFFFF',\n },\n label: {\n textTransform: 'capitalize',\n },\n};\n","import palette from '../palette';\n\nexport default {\n root: {\n color: palette.icon,\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)',\n },\n },\n};\n","export default {\n elevation1: {\n boxShadow: '0 0 0 1px rgba(63,63,68,0.05), 0 1px 3px 0 rgba(63,63,68,0.15)',\n },\n};\n","import palette from '../palette';\nimport typography from '../typography';\n\nexport default {\n root: {\n ...typography.body1,\n borderBottom: `1px solid ${palette.divider}`,\n },\n};\n","import { colors } from '@material-ui/core';\n\nexport default {\n root: {\n backgroundColor: colors.grey[50],\n },\n};\n","export default {\n gutterBottom: {\n marginBottom: 8,\n },\n};\n","export default {\n root: {\n background: '#FAFBFC',\n\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: '#D4E1F2',\n },\n '&:hover fieldset': {\n borderColor: '#D4E1F2',\n },\n '&.Mui-focused fieldset': {\n borderColor: '#D4E1F2',\n },\n },\n },\n};\n","import { createMuiTheme } from '@material-ui/core';\n\nimport palette from './palette';\nimport typography from './typography';\nimport overrides from './overrides';\n\nconst theme = createMuiTheme({\n palette,\n typography,\n overrides,\n zIndex: {\n appBar: 1200,\n drawer: 1100,\n },\n});\n\nexport default theme;\n","import React, { useEffect } from 'react';\nimport { BrowserRouter as Router, withRouter } from 'react-router-dom';\nimport { NotificationContainer } from 'react-notifications';\nimport { connect } from 'react-redux';\nimport { createStructuredSelector } from 'reselect';\nimport ScrollUpButton from 'react-scroll-up-button';\nimport { ThemeProvider } from '@material-ui/core/styles';\n\nimport ModalPopup from './components/diaglog/modal-popup';\nimport Modal from './components/diaglog/modal';\n\nimport { fetchUserStartAsync, setCurrentUser, setTempUser } from './redux/user/user.action';\nimport { selectIsUserLoggedIn, selectCurrentUser, selectTempUser } from './redux/user/user.selector';\nimport { selectShowModal } from './redux/modal/modal.selector';\n\nimport Routes from './routes';\nimport theme from './theme';\n\nimport './App.css';\nimport { fetchLeProfilesStartAsync, fetchLeProfileStartAsync } from 'redux/le/le.action';\nimport { selectLeProfile } from 'redux/le/le.selector';\nimport { fetchCustomerStartAsync } from 'redux/customer/customer.action';\n\n// class App extends React.Component {\n// async componentDidMount() {\n// const { currentUser, history, location, fetchUser, fetchLeProfile, leProfile, setTempUser, } = this.props;\n// fetchUser(history, location);\n// fetchLeProfile(currentUser.leid);\n// }\n\n// render() {\n// console.log(this.props)\n// return (\n//
\n// {this.props.showModal && (\n// \n// \n// \n// )}\n// \n// \n// \n// \n// \n//
\n// )\n// }\n// }\n\nconst App = (props) => {\n const {\n currentUser,\n history,\n location,\n fetchUser,\n fetchLeProfile,\n fetchLeProfiles,\n leProfile,\n setTempUser,\n fetchCustomerActivity,\n } = props;\n\n useEffect(() => {\n fetchUser(history, location);\n if (currentUser.leid) {\n fetchLeProfile(currentUser.leid);\n fetchCustomerActivity(currentUser.leid);\n }\n }, [currentUser.leid, fetchUser, fetchLeProfile, fetchCustomerActivity]);\n\n useEffect(() => {\n if (currentUser.leaderStatus === 'Publishing Director') {\n fetchLeProfiles();\n }\n }, [currentUser.leaderStatus, fetchLeProfiles]);\n\n useEffect(() => {\n // fetchCustomerActivity(currentUser.leid)\n setTempUser(leProfile);\n }, [currentUser.leid, leProfile, setTempUser]);\n\n return (\n \n
\n {props.showModal && (\n \n \n \n )}\n \n \n \n \n \n
\n
\n );\n};\nconst mapStateToProps = createStructuredSelector({\n isLoggedIn: selectIsUserLoggedIn,\n currentUser: selectCurrentUser,\n tempUser: selectTempUser,\n showModal: selectShowModal,\n leProfile: selectLeProfile,\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n // setCurrentUser: (user) => dispatch(setCurrentUser(user)),\n fetchUser: (history, location) => dispatch(fetchUserStartAsync(history, location)),\n fetchLeProfile: (leid) => dispatch(fetchLeProfileStartAsync(leid)),\n setTempUser: (leProfile) => dispatch(setTempUser(leProfile)),\n fetchLeProfiles: () => dispatch(fetchLeProfilesStartAsync()),\n fetchCustomerActivity: (leid) => dispatch(fetchCustomerStartAsync(leid)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(App));\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://cra.link/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(/^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 = `/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://cra.link/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://cra.link/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 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 (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\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 as Router } from 'react-router-dom';\n\nimport { Provider } from 'react-redux';\nimport store from './redux/store';\n\nimport './index.css';\nimport 'react-notifications/lib/notifications.css';\n\nimport App from './App';\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\nimport reportWebVitals from './reportWebVitals';\nReactDOM.render(\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://cra.link/PWA\nserviceWorkerRegistration.register();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n// reportWebVitals();\n","export const pushSubsTypes = {\n FETCH_PUSH_SUBS_PENDING: 'FETCH_PUSH_SUBS_PENDING',\n FETCH_PUSH_SUBS_SUCCESS: 'FETCH_PUSH_SUBS_SUCCESS',\n FETCH_PUSH_SUBS_FAILED: 'FETCH_PUSH_SUBS_FAILED',\n DELETE_PUSH_SUBS: 'DELETE_PUSH_SUBS',\n};\n","export const stateTaxMasterSetupType = {\n FETCH_STATE_DATA_START: 'FETCH_STATE_DATA_START',\n FETCH_STATE_DATA_SUCCESS: 'FETCH_STATE_DATA_SUCCESS',\n FETCH_STATE_DATA_FAILED: 'FETCH_STATE_DATA_FAILED',\n TOGGLE_STATE_TAX_INCLUDED_FLAG_START: 'TOGGLE_STATE_TAX_INCLUDED_FLAG_START',\n TOGGLE_STATE_TAX_INCLUDED_FLAG_FAILED: 'TOGGLE_STATE_TAX_INCLUDED_FLAG_FAILED',\n TOGGLE_STATE_TAX_INCLUDED_FLAG_SUCCESS: 'TOGGLE_STATE_TAX_INCLUDED_FLAG_SUCCESS',\n HIDE_ALERT: 'HIDE_ALERT',\n};\n","export const modalActionType = {\n OPEN_MODAL: 'OPEN_MODAL',\n CLOSE_MODAL: 'CLOSE_MODAL',\n SET_MODAL_ACTION_MODE: 'SET_MODAL_ACTION_MODE',\n};\n\nexport const openModal = (modalContent, actionMode = 'info', actionFunc) => {\n return {\n type: modalActionType.OPEN_MODAL,\n payload: {\n modalContent,\n actionMode,\n actionFunc,\n },\n };\n};\n\nexport const closeModal = () => {\n return {\n type: modalActionType.CLOSE_MODAL,\n };\n};\n\nexport const setModalActionMode = (mode) => {\n return {\n type: modalActionType.SET_MODAL_ACTION_MODE,\n payload: mode,\n };\n};\n","import React from 'react';\n\nimport './custom-button.styles.css';\n\nconst CustomButton = ({\n children,\n toggleButton,\n bgColor,\n inverted,\n left,\n right,\n leadsOnly,\n disabled,\n ...otherButtonProps\n}) => {\n return (\n \n {children}\n \n );\n};\n\nexport default CustomButton;\n","import { userActionTypes } from './user.type';\nimport { removeTrailingSpace } from '../../components/utils/misc';\nimport api from '../../common/api';\n\nconst API_URL = api.apiUrl;\n\n//sets currentUser when user is signing in or register for first time only\nexport const setCurrentUser = (user) => {\n return {\n type: userActionTypes.SET_CURRENT_USER,\n payload: user,\n };\n};\n\nexport const setTempUser = (profile) => {\n return {\n type: userActionTypes.SET_TEMP_USER,\n payload: profile,\n };\n};\n\nexport const fetchUserStart = () => {\n return {\n type: userActionTypes.FETCH_USER_START,\n };\n};\n\nexport const fetchUserSuccess = (user) => {\n return {\n type: userActionTypes.FETCH_USER_SUCCESS,\n payload: removeTrailingSpace(user),\n };\n};\n\nexport const fetchUserFailed = (errorMessage) => {\n return {\n type: userActionTypes.FETCH_USER_FAILED,\n payload: errorMessage,\n };\n};\n\n//instantiate user fetch from app.js componentDidMount(), gets the user if token is present otherwise the user has to login using signIn Component\nexport const fetchUserStartAsync = (history, location) => {\n return (dispatch) => {\n const token = window.localStorage.getItem('token');\n if (token) {\n dispatch(fetchUserStart());\n\n return fetch(`${API_URL}/signin`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((data) => {\n if (data.leid) {\n return fetch(`${API_URL}/profile/${data.leid}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((leProfile) => {\n if (leProfile) {\n dispatch(fetchUserSuccess(leProfile));\n }\n })\n .catch((err) => dispatch(fetchUserFailed(err.message)));\n }\n })\n .catch((err) => dispatch(fetchUserFailed(err.message)));\n }\n };\n};\n","export const conferenceActionTypes = {\n FETCH_LES_HISTORY_START: 'FETCH_LES_HISTORY_START',\n FETCH_LES_HISTORY_SUCCESS: 'FETCH_LES_HISTORY_SUCCESS',\n FETCH_LES_HISTORY_FAILED: 'FETCH_LES_HISTORY_FAILED',\n TRANSFORM_LES_PROFILE_BY_DISTRICT: 'TRANSFORM_LES_PROFILE_BY_DISTRICT',\n};\n","export const contractActionType = {\n FETCH_CONTRACT_START: ' FETCH_CONTRACT_START',\n FETCH_CONTRACT_SUCCESS: 'FETCH_CONTRACT_SUCCESS',\n FETCH_CONTRACT_FAILED: 'FETCH_CONTRACT_FAILED',\n\n SET_CUSTOMER_INFO: 'SET_CUSTOMER_INFO',\n RESET_CUSTOMER_INFO: 'RESET_CUSTOMER_INFO',\n\n GET_CONTRACT_START: 'GET_CONTRACT_START',\n GET_CONTRACT_SUCCESS: 'GET_CONTRACT_SUCCESS',\n GET_CONTRACT_FAIL: 'GET_CONTRACT_FAIL',\n\n VIEW_UPDATE_ORDER_START: 'VIEW_UPDATE_ORDER_START',\n VIEW_UPDATE_ORDER_SUCCESS: 'VIEW_UPDATE_ORDER_SUCCESS',\n VIEW_UPDATE_ORDER_FAILURE: 'VIEW_UPDATE_ORDER_FAILURE',\n\n GET_BOOK_OORDER_START: 'GET_BOOK_OORDER_START',\n GET_BOOK_ORDER_SUCCESS: 'GET_BOOK_ORDER_SUCCESS',\n GET_BOOK_ORDER_FAILURE: 'GET_BOOK_ORDER_FAILURE',\n\n VIEW_PAYMENT_START: 'VIEW_PAYMENT_START',\n VIEW_PAYMENT_SUCCESS: 'VIEW_PAYMENT_SUCCESS',\n VIEW_PAYMENT_FAILURE: 'VIEW_PAYMENT_FAILURE',\n\n VIEW_PDFLINK_START: 'VIEW_PDFLINK_START',\n VIEW_PDFLINK_SUCCESS: 'VIEW_PDFLINK_SUCCESS',\n VIEW_PDFLINK_FAILURE: 'VIEW_PDFLINK_FAILURE',\n\n VIEW_REFERENCE_START: 'VIEW_REFERENCE_START',\n VIEW_REFERENCE_SUCCESS: 'VIEW_REFERENCE_SUCCESS',\n VIEW_REFERENCE_FAILURE: 'VIEW_REFERENCE_FAILURE',\n\n VIEW_PDF: 'VIEW_PDF',\n\n MARK_AS_PAID_START: 'MARK_AS_PAID_START',\n MARK_AS_PAID_SUCCESS: 'MARK_AS_PAID_SUCCESS',\n MARK_AS_PAID_FAILURE: 'MARK_AS_PAID_FAILURE',\n\n DELETE_ORDER_START: 'DELETE_ORDER_START',\n DELETE_ORDER_SUCCESS: 'DELETE_ORDER_SUCCESS',\n DELETE_ORDER_FAILURE: 'DELETE_ORDER_FAILURE',\n\n CC_POST_START: 'CC_POST_START',\n CC_POST_SUCCESS: 'CC_POST_SUCCESS',\n CC_POST_SUCCESS_STATUS: 'CC_POST_SUCCESS_STATUS',\n CC_POST_FAILURE_STATUS: 'CC_POST_FAILURE_STATUS',\n CC_POST_FAILURE: 'CC_POST_FAILURE',\n\n START_LOADER: 'START_LOADER',\n STOP_LOADER: 'STOP_LOADER',\n\n SHOW_ALERT: 'SHOW_ALERT',\n HIDE_ALERT: 'HIDE_ALERT',\n\n POST_UPDATE_ORDER_START: 'POST_UPDATE_ORDER_START',\n POST_UPDATE_ORDER_SUCCESS: 'POST_UPDATE_ORDER_SUCCESS',\n POST_UPDATE_ORDER_FAILED: 'POST_UPDATE_ORDER_FAILED',\n\n POST_BOOKS_ORDER_START: 'POST_BOOKS_ORDER_START',\n POST_BOOKS_ORDER_SUCCESS: 'POST_BOOKS_ORDER_SUCCESS',\n POST_BOOKS_ORDER_FAILED: 'POST_BOOKS_ORDER_FAILED',\n\n FETCH_COMPLETED_ORDER_START: 'FETCH_COMPLETED_ORDER_START',\n FETCH_COMPLETED_ORDER_SUCCESS: 'FETCH_COMPLETED_ORDER_SUCCESS',\n FETCH_COMPLETED_ORDER_FAILED: 'FETCH_COMPLETED_ORDER_FAILED',\n\n CANCEL_SUBSCRIPTIONS_START: 'CANCEL_SUBSCRIPTIONS_START',\n CANCEL_SUBSCRIPTIONS_SUCCESS: 'CANCEL_SUBSCRIPTIONS_SUCCESS',\n CANCEL_SUBSCRIPTIONS_FAILED: 'CANCEL_SUBSCRIPTIONS_FAILED',\n};\n","import api from '../common/api';\nimport createNotification from '../components/react-notification/react-notification';\n\nlet API_URL = api.apiUrl;\n//convert string to urlBase64Unit8Arrays\nexport const urlBase64ToUint8Array = (base64String) => {\n const padding = '='.repeat((4 - (base64String.length % 4)) % 4);\n const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');\n\n const rawData = window.atob(base64);\n const outputArray = new Uint8Array(rawData.length);\n\n for (let i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i);\n }\n\n return outputArray;\n};\n\n//display notification with given configuration\nexport const displayConfirmNotification = (message) => {\n if ('serviceWorker' in navigator) {\n var options = {\n body: message.body,\n icon: '/logo192.png',\n dir: 'ltr',\n lang: 'en-US', // BCP 47,\n vibrate: [100, 50, 200],\n badge: '/logo192.png',\n tag: 'confirm-notification',\n renotify: true,\n // actions: [\n // {\n // action: \"confirm\",\n // title: \"Okay\",\n // icon: \"/src/images/icons/app-icon-96x96.png\",\n // },\n // {\n // action: \"cancel\",\n // title: \"Cancel\",\n // icon: \"/src/images/icons/app-icon-96x96.png\",\n // },\n // ],\n };\n\n navigator.serviceWorker.ready.then(function (swreg) {\n swreg.showNotification(message.title, options);\n });\n }\n};\n\nexport const sendPushNotification = (subscription, title, body) => {\n // console.log(\"subscriptionData\", subscription);\n const token = localStorage.getItem('token');\n if (subscription) {\n // Send Push Notification\n // console.log(\"Sending Push...\");\n fetch(`${API_URL}/sendPush`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: token,\n },\n body: JSON.stringify({\n subscription,\n title,\n body,\n }),\n })\n .then((resp) => resp.ok && console.log('user notified successfully'))\n .catch((err) => console.log('error sending notification', err));\n }\n};\n\nvar pushNotification = function () {\n if ('safari' in window && 'pushNotification' in window.safari) {\n alert('push notification supported');\n // var permissionData = window.safari.pushNotification.permission(pushId);\n // checkRemotePermission(permissionData);\n } else {\n alert('Push notifications not supported.');\n }\n};\n\nexport const configurePushSub = (userId) => {\n console.log('userId: ', userId);\n if (!('serviceWorker' in navigator)) {\n return;\n }\n // pushNotification();\n var reg;\n var token = localStorage.getItem('token');\n navigator.serviceWorker.ready\n .then(function (swreg) {\n reg = swreg;\n\n return swreg.pushManager.getSubscription();\n })\n .then(function (sub) {\n // console.log('subscription == ', sub)\n if (sub === null) {\n // Create a new subscription\n var vapidPublicKey = 'BIj-Ik0FxNnxDFitKJGLlRl-02g2--xJgedntpP0Aijd6jt6zgk_Sbsf__HY5L_TNzMwUpIbI7FG6Rd6SjV4WBs';\n var convertedVapidPublicKey = urlBase64ToUint8Array(vapidPublicKey);\n reg.pushManager\n .subscribe({\n userVisibleOnly: true,\n applicationServerKey: convertedVapidPublicKey,\n })\n .then((newSub) => {\n return fetch(`${API_URL}/subscribe`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: token,\n },\n body: JSON.stringify({\n sub: newSub,\n leId: userId,\n }),\n });\n })\n .then((resp) => resp.json())\n .then((subData) => {\n if (subData[0].id) {\n // console.log(subData);\n // console.log(\"Send Push Notification Of New Lead Assigned!\");\n sendPushNotification(\n subData,\n 'Successfully subscribed!',\n 'You successfully subscribed to our Notification service!'\n );\n }\n })\n .catch((err) => {\n console.log(err);\n });\n } else {\n // We have a subscription stored in database,\n // console.log('alredy subscribed')\n createNotification('info', 'Already Subscribed!', 'You have already subscribed to our notification');\n\n return fetch(`${API_URL}/subs/${userId}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((subs) => {\n if (subs[0].id) {\n // displayConfirmNotification();\n // console.log(`all the subs for leid: ${userId}`, subs);\n // console.log(\"send push notification\");\n sendPushNotification(subs, 'Already Subscribed!', 'You have already subscribed to our notification');\n } else {\n alert(`LE ${userId} couldn't be notified because push notification is turned off`);\n }\n })\n .catch(function (err) {\n console.log(err);\n });\n }\n })\n .catch(function (err) {\n console.log(err);\n });\n};\n\nexport const askForNotificationPermission = (userId) => {\n Notification.requestPermission(function (result) {\n // console.log(\"User Choice\", result);\n if (result !== 'granted') {\n // console.log(\"No notification permission granted!\");\n createNotification('error', 'Denied', 'Please enable notification from browser, Click Here');\n }\n\n return configurePushSub(userId);\n });\n};\n","export const orderActionTypes = {\n FETCH_ORDER_DETAILS_START: 'FETCH_ORDER_DETAILS_START',\n FETCH_ORDER_DETAILS_SUCCESS: 'FETCH_ORDER_DETAILS_SUCCESS',\n FETCH_ORDER_DETAILS_FAILED: 'FETCH_ORDER_DETAILS_FAILED',\n};\n","export const statementActionType = {\n FETCH_CUSTOMER_STATEMENT_START: 'FETCH_CUSTOMER_STATEMENT_START',\n FETCH_CUSTOMER_STATEMENT_SUCCESS: 'FETCH_CUSTOMER_STATEMENT_SUCCESS',\n FETCH_CUSTOMER_STATEMENT_FAILED: 'FETCH_CUSTOMER_STATEMENT_FAILED',\n};\n","export const accountSummaryActionTypes = {\n FETCH_ACCOUNT_SUMMARY_START: 'FETCH_ACCOUNT_SUMMARY_START',\n FETCH_ACCOUNT_SUMMARY_SUCCESS: 'FETCH_ACCOUNT_SUMMARY_SUCCESS',\n FETCH_ACCOUNT_SUMMARY_FAILED: 'FETCH_ACCOUNT_SUMMARY_FAILED',\n};\n","import { leActionTypes } from './le.type';\nimport { removeTrailingSpace } from '../../components/utils/misc';\nimport api from '../../common/api';\n\nconst API_URL = api.apiUrl;\n\n// fetch individual le's based on their id\n\nconst fetchLeHistoryStart = () => {\n return {\n type: leActionTypes.LE_FETCH_START,\n };\n};\n\nconst fetchLeHistorySuccess = (leHistory) => {\n return {\n type: leActionTypes.LE_FETCH_SUCCESS,\n payload: removeTrailingSpace(leHistory),\n };\n};\n\nconst fetchLeHistoryFailed = (errorMessage) => {\n return {\n type: leActionTypes.LE_FETCH_FAILED,\n payload: errorMessage,\n };\n};\n\nexport const fetchLeHistoryStartAsync = (leid) => {\n const token = window.localStorage.getItem('token');\n\n return (dispatch) => {\n dispatch(fetchLeHistoryStart());\n fetch(`${API_URL}/le-dashboard/${leid}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'Application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((leHistory) => {\n leHistory[0].LEID && dispatch(fetchLeHistorySuccess(removeTrailingSpace(leHistory)));\n })\n .catch((err) => dispatch(fetchLeHistoryFailed(err.errorMessage)));\n };\n};\n\n//fetch all le's under same district\n\nconst fetchLesHistoryStart = () => {\n return {\n type: leActionTypes.LES_FETCH_START,\n };\n};\n\nconst fetchLesHistorySuccess = (leHistory) => {\n return {\n type: leActionTypes.LES_FETCH_SUCCESS,\n payload: removeTrailingSpace(leHistory),\n };\n};\n\nconst fetchLesHistoryFailed = (errorMessage) => {\n return {\n type: leActionTypes.LES_FETCH_FAILED,\n payload: errorMessage,\n };\n};\n\n// const fetchHistoryOfLesUnderDiffDlsStart = () => {\n// return {\n// type: leActionTypes.FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_START,\n// };\n// };\n\n// const fetchHistoryOfLesUnderDiffDlsSuccess = (leHistory) => {\n// return {\n// type: leActionTypes.FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_SUCCESS,\n// payload: removeTrailingSpace(leHistory),\n// };\n// };\n\n// const fetchHistoryOfLesUnderDiffDlsFailed = (errorMessage) => {\n// return {\n// type: leActionTypes.FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_FAILED,\n// payload: errorMessage,\n// };\n// };\n\nexport const fetchLesHistoryStartAsync = (district) => {\n const token = window.localStorage.getItem('token');\n if (Array.isArray(district)) {\n return (dispatch) => {\n let lesHistory = [];\n dispatch(fetchLesHistoryStart());\n district.forEach((dist) => {\n fetch(`${API_URL}/dashboard/${dist}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'Application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((leHistory) => {\n lesHistory = lesHistory.concat(leHistory);\n lesHistory[0].LEID && dispatch(fetchLesHistorySuccess(lesHistory));\n })\n .catch((err) => dispatch(fetchLesHistoryFailed(err.errorMessage)));\n });\n };\n } else {\n return async (dispatch) => {\n dispatch(fetchLesHistoryStart());\n await fetch(`${API_URL}/dashboard/${district}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'Application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((leHistory) => {\n leHistory[0].LEID && dispatch(fetchLesHistorySuccess(leHistory));\n })\n .catch((err) => dispatch(fetchLesHistoryFailed(err.errorMessage)));\n };\n }\n};\n\n//Fetch individual le profile\n\nconst fetchLeProfileSuccess = (leProfile) => {\n return {\n type: leActionTypes.FETCH_LE_PROFILE_SUCCESS,\n payload: leProfile,\n };\n};\n\nconst fetchLeProfileFailed = (errorMessage) => {\n return {\n type: leActionTypes.FETCH_LE_PROFILE_FAILED,\n payload: errorMessage,\n };\n};\n\nexport const fetchLeProfileStartAsync = (leid) => {\n const token = window.localStorage.getItem('token');\n\n return async (dispatch) => {\n if (token) {\n if (leid) {\n return await fetch(`${API_URL}/profile/${leid}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((leProfile) => {\n if (leProfile) {\n dispatch(fetchLeProfileSuccess(removeTrailingSpace(leProfile)));\n }\n })\n .catch((err) => dispatch(fetchLeProfileFailed(err.message)));\n }\n }\n };\n};\n\n//Fetch profiles of all les\n\nconst fetchLeProfilesStart = () => {\n return {\n type: leActionTypes.FETCH_LE_PROFILES_START,\n };\n};\n\nconst fetchLeProfilesSuccess = (leProfiles) => {\n return {\n type: leActionTypes.FETCH_LE_PROFILES_SUCCESS,\n payload: leProfiles,\n };\n};\n\nconst fetchLeProfilesFailed = (errorMessage) => {\n return {\n type: leActionTypes.FETCH_LE_PROFILES_FAILED,\n payload: errorMessage,\n };\n};\n\nexport const fetchLeProfilesStartAsync = () => {\n const token = window.localStorage.getItem('token');\n\n return async (dispatch) => {\n if (token) {\n dispatch(fetchLeProfilesStart());\n\n return await fetch(`${API_URL}/profiles`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((leProfiles) => {\n if (leProfiles) {\n dispatch(fetchLeProfilesSuccess(removeTrailingSpace(leProfiles)));\n }\n })\n .catch((err) => dispatch(fetchLeProfilesFailed(err.message)));\n }\n };\n};\n\nexport const fetchUserAsync = (leid) => {\n const token = window.localStorage.getItem('token');\n\n return (dispatch) => {\n fetch(`${API_URL}/user/${leid}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n })\n .then((resp) => resp.json())\n .then((user) => {\n dispatch({ type: leActionTypes.LE_FETCH_USER, payload: user });\n })\n .catch((err) => console.log(err.message));\n };\n};\n","import { NotificationManager } from 'react-notifications';\n\nconst createNotification = (type, title, message, timeout = 3000) => {\n switch (type) {\n case 'info':\n NotificationManager.info(message, title, timeout);\n break;\n case 'success':\n NotificationManager.success(message, title, timeout);\n break;\n case 'warning':\n NotificationManager.warning(message, title, timeout);\n break;\n case 'error':\n NotificationManager.error(message, title, timeout, () => {\n if (title === 'Denied') {\n let url = 'https://support.google.com/chrome/answer/3220216?co=GENIE.Platform%3DDesktop&hl=en';\n return window.location.assign(url);\n }\n });\n break;\n default:\n return;\n }\n};\n\nexport default createNotification;\n","export const leActionTypes = {\n LE_FETCH_START: 'LE_FETCH_START',\n LE_FETCH_SUCCESS: 'LE_FETCH_SUCCESS',\n LE_FETCH_FAILED: 'LE_FETCH_FAILED',\n LES_FETCH_START: 'LES_FETCH_START',\n LES_FETCH_SUCCESS: 'LES_FETCH_SUCCESS',\n LES_FETCH_FAILED: 'LES_FETCH_FAILED',\n FETCH_LE_PROFILE_SUCCESS: 'FETCH_LE_PROFILE_SUCCESS',\n FETCH_LE_PROFILE_FAILED: 'FETCH_LE_PROFILE_FAILED',\n FETCH_LE_PROFILES_START: 'FETCH_LE_PROFILES_START',\n FETCH_LE_PROFILES_SUCCESS: 'FETCH_LE_PROFILES_SUCCESS',\n FETCH_LE_PROFILES_FAILED: 'FETCH_LE_PROFILES_FAILED',\n FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_START: 'FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_START',\n FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_SUCCESS: 'FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_SUCCESS',\n FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_FAILED: 'FETCH_HISTORY_OF_LES_UNDER_DIFF_DLS_FAILED',\n LE_FETCH_USER: 'LE_FETCH_USER',\n};\n","import React from 'react';\n\nimport './spinner.styles.css';\n\nconst Spinner = () => {\n return (\n
\n
\n
\n );\n};\n\nexport default Spinner;\n"],"sourceRoot":""}