{"version":3,"sources":["redux/slices/uiSlice.js","assets/login-logo.png","components/Wrapper.js","components/ui/form/Button.js","components/ui/form/InputField.js","pages/recover.js","api/api.js","redux/slices/authSlice.js","pages/login.js","redux/slices/companiesSlice.js","pages/home.js","components/ui/Input.js","components/ui/CategoryBarItem.js","components/CategoryBar.js","utils/genId.js","hooks/useId.js","components/ui/listbox/ListboxRadio.js","components/ui/listbox/Listbox.js","components/ui/table/Row.js","components/ui/table/TableHeaderItem.js","components/ui/table/TableHeader.js","hooks/useSortState.js","utils/sortFn.js","components/ui/table/TableController.js","assets/spinner.gif","components/tables/tableState/Loading.js","components/tables/tableState/NoSearch.js","components/tables/tableState/NoItems.js","components/tables/ReveneuCentar.js","components/tables/Itemizer.js","components/ui/categoryTable/Row.js","components/ui/categoryTable/TableController.js","components/tables/Category.js","components/tables/Payments.js","components/tables/Tax.js","components/tables/Other.js","components/ui/reports/Table.js","components/ui/reports/DatePicker.js","components/tables/Reports.js","components/tables/Log.js","pages/details.js","assets/location.svg","components/ui/LocationBarButton.js","components/ui/SearchBar.js","components/LocationBar.js","assets/user.svg","components/sidebar/SidebarLogout.js","components/sidebar/SidebarDarkmode.js","components/sidebar/SidebarItem.js","assets/chart.svg","assets/clipboard.svg","components/sidebar/SidebarList.js","assets/dots.svg","components/sidebar/ToggleButton.js","assets/sidebar-logo.png","components/Sidebar.js","components/Loader.js","pages/layout.js","popup/Remove.js","popup/Popup.js","popup/Notification.js","App.js","redux/store.js","index.js"],"names":["uiSlice","createSlice","name","initialState","popup","id","type","alert","title","text","locationQuery","searchQuery","theme","reducers","setPopup","state","action","payload","setAlert","setLocationQuery","setSearchQuery","setTheme","toggleTheme","localStorage","setItem","JSON","stringify","actions","uiSelector","ui","WrapperStyle","styled","div","Frame","Inner","Notification","p","ButtonWrapper","Wrapper","children","useSelector","className","src","logo","alt","ButtonComponent","tabIndex","register","Button","variant","fill","block","InputStyle","LabelWrapper","InputField","label","forgotLabel","forgotLink","htmlFor","to","Input","required","Recover","baseUrl","process","api","data","axios","post","getLogin","createAsyncThunk","loginData","a","authSlice","token","error","loading","setToken","extraReducers","builder","addCase","pending","fulfilled","token_id","rejected","authSelector","auth","Login","useForm","handleSubmit","errors","formState","dispatch","useDispatch","onSubmit","e","username","password","getCompanies","_","thunkApi","getState","x_token","syncCompany","companies","currentId","company_id","getFloors","updateFloor","updateData","getItemizers","updateItemizer","getCategories","updateCategory","getPayments","getCardTypes","getHouseAccounts","getTaxes","updatePayment","updateTax","getReports","dateData","getLogs","pendingDataReducer","dataName","tableLoading","getDataReducer","startGettingDataReducer","finishGettingDataReducer","companiesSlice","companiesList","cardTypesLoading","houseAccountsLoading","floors","itemizers","categories","payments","cardTypes","houseAccounts","taxes","logs","reports","setCompanies","setCurrentId","setFloors","updateFloorState","newItem","find","i","floor_id","pms_id","setItemizers","updateItemizerState","setCategories","updateCategoryState","oldItem","category_id","pms_name","setPayments","updatePaymentState","payment_id","pms_account_id","setTaxes","updateTaxState","tax_id","setLogs","setReports","companiesSelector","currentSelector","list","currentCompany","HomeStyle","Home","line_1","line_2","line_3","line_4","line_5","line_6","style","whiteSpace","placeholder","value","valueSet","onChange","target","Link","top","CategoryBarItem","url","onClick","currentItem","useLocation","pathname","InputWrapper","Flexed","CategoryList","CategoryBar","tableSelect","Card","lastId","uniqueGenerationStr","genId","prefix","useId","useRef","current","Box","input","Label","ListboxRadio","checked","radioId","Listbox","items","inputType","onInputKeyDown","useFormContext","control","setValue","listboxId","curValue","useWatch","inputTypeRef","some","item","marginBottom","isNum","Number","isNaN","onKeyDown","map","TdStyled","td","Row","editable","editableData","updateAction","rowKeys","useState","edit","editSet","form","onEdit","forEach","wrapOnUpdate","areSame","editableKey","then","res","setTimeout","onDoubleClick","includes","key","Math","random","valueAsNumber","baseColor","StickyTh","Th","TableHeaderItem","index","sortState","changeSortState","scrollPos","sortable","width","direction","TableHeader","useSortState","sortByData","Array","setSortState","sortedData","setSortedData","useEffect","sortParam","isSorted","isSortedIndex","findIndex","newData","sort","b","companyA","companyB","comparison","reverse","x","newSortState","TableWrapper","TableInner","TableController","headerData","row_key","scrollPosSet","debouncedLog","debounce","y","length","onScroll","scrollTop","Loading","spinner","NoSearch","NoItems","ReveneuCentar","filteredFloors","filter","String","floor_name","toLowerCase","Itemizer","filteredItemizers","editableOptions","customStyle","option","base","backgroundColor","color","menu","singleValue","styles","defaultValue","old","tmpOld","options","lodash","isEmpty","category_type","rowKey","Category","filteredCategories","category_name","Payments","filteredPayments","payment_name","houseAccount","idValue","house_name","split","cardType","cardcode","Tax","filteredTaxes","tax_name","Other","StyledCard","Container","Table","rows","cols","aggregatorName","vals","rendererName","setState","unusedOrientationCutoff","Infinity","s","StyledGroup","InputGroup","today","Date","toISOString","substr","DatePicker","Reports","Log","tablesDict","tableKeys","Object","keys","Details","exact","path","_extends","assign","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","d","SvgLocation","_ref","svgRef","titleId","props","height","viewBox","ref","ForwardRef","LocationStyle","bg","LocationBarButton","fnDict","company_name","SearchStyle","Img","img","SearchBar","loadingSet","handleRes","result","errorCode","sucess","LocationWrapper","LocationBar","filteredLocations","LogOutWrapper","UserWrapper","SidebarLogout","user","Badge","cursor","window","location","reload","SidebarDarkmode","SidebarItem","svg","currentItemBg","sideData","dash","details","SidebarList","ButtonStyle","ToggleButton","dots","SidebarInner","LogoWrapper","Sidebar","show","showSet","LoaderWrapper","Loader","MainWrapper","Layout","companiesPayload","asyncGetCompanies","component","Remove","isOpen","hide","Dialog","message","cancelText","confirmText","onCancel","Popup","Alert","onClose","App","storage","parse","getItem","componentsList","themeName","store","configureStore","reducer","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.60f5051f.chunk.js","sourcesContent":["import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialState = {\r\n popup: { id: \"\", type: \"\" },\r\n alert: { type: \"\", title: \"\", text: \"\" },\r\n locationQuery: \"\",\r\n searchQuery: \"\",\r\n theme: \"flame\",\r\n};\r\n\r\n// const themeLight = \"flame\";\r\n// const themeDark = \"experimentaldark\";\r\n\r\nconst uiSlice = createSlice({\r\n name: \"ui\",\r\n initialState,\r\n reducers: {\r\n setPopup(state, action) {\r\n state.popup = action.payload;\r\n },\r\n setAlert(state, action) {\r\n state.alert = action.payload;\r\n },\r\n setLocationQuery(state, action) {\r\n state.locationQuery = action.payload;\r\n },\r\n setSearchQuery(state, action) {\r\n state.searchQuery = action.payload;\r\n },\r\n setTheme(state, action) {\r\n state.theme = action.payload;\r\n },\r\n toggleTheme(state) {\r\n if (state.theme === \"flame\") {\r\n localStorage.setItem(\"theme\", JSON.stringify(\"experimentaldark\"));\r\n state.theme = \"experimentaldark\";\r\n } else {\r\n state.theme = \"flame\";\r\n localStorage.setItem(\"theme\", JSON.stringify(\"flame\"));\r\n }\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n setPopup,\r\n setAlert,\r\n setLocationQuery,\r\n setSearchQuery,\r\n setTheme,\r\n toggleTheme,\r\n} = uiSlice.actions;\r\n\r\nexport const uiSelector = (state) => state.ui;\r\n\r\nexport default uiSlice.reducer;\r\n","export default __webpack_public_path__ + \"static/media/login-logo.99c92a37.png\";","import styled from \"@emotion/styled\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { uiSelector } from \"../redux/slices/uiSlice\";\r\nimport logo from \"../assets/login-logo.png\";\r\n\r\nconst WrapperStyle = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: 100vh;\r\n`;\r\n\r\nconst Frame = styled.div`\r\n padding: 32px 0;\r\n border: solid 1px rgba(171, 179, 179, 0.7);\r\n background: rgb(238, 238, 238);\r\n box-shadow: 0 0.125rem 0.25rem rgba(12, 13, 13, 0.15);\r\n`;\r\n\r\nconst Inner = styled.div`\r\n padding: 32px;\r\n padding-bottom: 8px;\r\n background: #fff;\r\n border: solid 1px rgba(171, 179, 179, 0.7);\r\n border-left: none;\r\n border-right: none;\r\n\r\n & > img {\r\n width: 340px;\r\n height: auto;\r\n display: block;\r\n }\r\n`;\r\n\r\nexport const Notification = styled.p`\r\n font-size: 0.8rem;\r\n font-weight: 600;\r\n opacity: 0.9;\r\n margin-top: 8px;\r\n`;\r\n\r\nexport const ButtonWrapper = styled.div`\r\n margin-top: 32px;\r\n`;\r\n\r\nconst Wrapper = ({ children }) => {\r\n const { theme } = useSelector(uiSelector);\r\n\r\n return (\r\n \r\n \r\n \r\n \"datastems\"\r\n {children}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Wrapper;\r\n","import { Button } from \"@lightspeed/flame/Button\";\r\n\r\nconst ButtonComponent = ({ children, tabIndex, register, type = \"submit\" }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ButtonComponent;\r\n","import { Input } from \"@lightspeed/flame/Input\";\r\nimport styled from \"@emotion/styled\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst InputStyle = styled.div`\r\n margin-bottom: 16px;\r\n min-width: 350px;\r\n\r\n label {\r\n font-size: 0.7rem;\r\n margin-bottom: 6px;\r\n display: block;\r\n }\r\n`;\r\n\r\nconst LabelWrapper = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n\r\n a {\r\n font-size: 0.7rem;\r\n text-decoration: none;\r\n color: rgb(19, 113, 177);\r\n }\r\n`;\r\n\r\nconst InputField = ({\r\n name,\r\n label,\r\n forgotLabel,\r\n forgotLink,\r\n tabIndex,\r\n register,\r\n type = \"text\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n {forgotLabel && {forgotLabel}}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default InputField;\r\n","import Wrapper, { ButtonWrapper, Notification } from \"../components/Wrapper\";\r\nimport Button from \"../components/ui/form/Button\";\r\nimport Input from \"../components/ui/form/InputField\";\r\n\r\nconst Recover = () => {\r\n return (\r\n \r\n {}} tabIndex=\"1\" label=\"Username\" />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Recover;\r\n","import axios from \"axios\";\r\n\r\nconst baseUrl = process.env.REACT_APP_SERVER_URL;\r\nconst endPoint = \"/tomi\";\r\nconst url = baseUrl + endPoint;\r\n\r\nexport const api = {\r\n login: (data) => axios.post(baseUrl + \"/login\", data),\r\n // companies\r\n getCompanies: (data) => axios.post(baseUrl + \"/company-list\", data),\r\n syncCompany: (data) => axios.post(baseUrl + \"/company-sync\", data),\r\n // company table data\r\n getFloors: (data) => axios.post(baseUrl + \"/company-floor-list\", data),\r\n updateFloor: (data) => axios.post(baseUrl + \"/company-floor-update\", data),\r\n getItemizers: (data) => axios.post(baseUrl + \"/company-itemizers-list\", data),\r\n updateItemizer: (data) =>\r\n axios.post(baseUrl + \"/company-itemizers-update\", data),\r\n getCategories: (data) => axios.post(baseUrl + \"/company-category-list\", data),\r\n updateCategory: (data) =>\r\n axios.post(baseUrl + \"/company-category-update\", data),\r\n getPayments: (data) => axios.post(baseUrl + \"/company-payment-list\", data),\r\n updatePayment: (data) =>\r\n axios.post(baseUrl + \"/company-payment-update\", data),\r\n getTaxes: (data) => axios.post(baseUrl + \"/company-tax-list\", data),\r\n updateTax: (data) =>\r\n axios.post(baseUrl + \"/company-tax-update\", data),\r\n getLogs: (data) => axios.post(baseUrl + \"/company-log\", data),\r\n getReports: (data) => axios.post(baseUrl + \"/company-report\", data),\r\n\r\n getCardTypes: (data) => axios.post(baseUrl + \"/company-cardtypes-list\", data),\r\n getHouseAccount: (data) => axios.post(baseUrl + \"/company-houseaccount-list\", data),\r\n // updateLog: (data) =>\r\n // axios.post(baseUrl + \"/company-payment-update\", data),\r\n};\r\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\r\n\r\nimport { api } from \"../../api/api\";\r\n\r\nexport const getLogin = createAsyncThunk(\"auth/getLogin\", async (loginData) => {\r\n const { data } = await api.login(loginData);\r\n return data[0];\r\n});\r\n\r\nconst initialState = {\r\n token: \"\",\r\n error: \"\",\r\n loading: false,\r\n};\r\n\r\nconst authSlice = createSlice({\r\n name: \"auth\",\r\n initialState,\r\n reducers: {\r\n setToken(state, action) {\r\n state.token = action.payload;\r\n },\r\n },\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getLogin.pending, (state) => {\r\n state.error = \"\";\r\n state.loading = true;\r\n })\r\n .addCase(getLogin.fulfilled, (state, action) => {\r\n state.loading = false;\r\n if (\"token_id\" in action.payload) {\r\n state.error = \"\";\r\n state.token = action.payload.token_id;\r\n } else {\r\n state.error = \"Incorrect username or password\";\r\n }\r\n })\r\n .addCase(getLogin.rejected, (state) => {\r\n state.loading = false;\r\n state.error = \"Incorrect username or password\";\r\n });\r\n },\r\n});\r\n\r\nexport const authSelector = (state) => state.auth;\r\n\r\nexport default authSlice.reducer;\r\n","import Wrapper, { ButtonWrapper, Notification } from \"../components/Wrapper\";\r\nimport Button from \"../components/ui/form/Button\";\r\nimport Input from \"../components/ui/form/InputField\";\r\n\r\nimport { useForm } from \"react-hook-form\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { authSelector, getLogin } from \"../redux/slices/authSlice\";\r\n\r\nconst Login = () => {\r\n const {\r\n handleSubmit,\r\n register,\r\n formState: { errors },\r\n } = useForm();\r\n const dispatch = useDispatch();\r\n const { error, loading } = useSelector(authSelector);\r\n\r\n const onSubmit = (e) => {\r\n dispatch(getLogin(e));\r\n };\r\n\r\n return (\r\n \r\n {/* \r\n dispatch(getLogin({ username: \"punk\", password: \"punk\" }))\r\n }\r\n >\r\n login punk\r\n */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {(loading && \"Signing in...\") ||\r\n (errors.username && \"Username is required\") ||\r\n (errors.password && \"Password is required\") ||\r\n error}\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Login;\r\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\r\n\r\nimport { api } from \"../../api/api\";\r\n\r\nexport const getCompanies = createAsyncThunk(\r\n \"companies/getCompanies\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { data } = await api.getCompanies({ x_token: token });\r\n return data;\r\n }\r\n);\r\n\r\nexport const syncCompany = createAsyncThunk(\r\n \"companies/syncCompany\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.syncCompany({\r\n x_token: token,\r\n company_id: currentId,\r\n });\r\n return data;\r\n }\r\n);\r\n\r\n// tables\r\nexport const getFloors = createAsyncThunk(\r\n \"companies/getFloors\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getFloors({\r\n x_token: token,\r\n company_id: currentId,\r\n });\r\n return data;\r\n }\r\n);\r\nexport const updateFloor = createAsyncThunk(\r\n \"companies/updateFloor\",\r\n async (updateData, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { data } = await api.updateFloor({\r\n x_token: token,\r\n ...updateData,\r\n });\r\n return data;\r\n }\r\n);\r\n\r\nexport const getItemizers = createAsyncThunk(\r\n \"companies/getItemizers\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getItemizers({\r\n x_token: token,\r\n company_id: currentId,\r\n });\r\n return data;\r\n }\r\n);\r\n\r\nexport const updateItemizer = createAsyncThunk(\r\n \"companies/updateItemizer\",\r\n async (updateData, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { data } = await api.updateItemizer({\r\n x_token: token,\r\n ...updateData,\r\n });\r\n return data;\r\n }\r\n);\r\n\r\nexport const getCategories = createAsyncThunk(\r\n \"companies/getCategories\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getCategories({\r\n x_token: token,\r\n company_id: currentId,\r\n });\r\n return data;\r\n }\r\n);\r\n\r\nexport const updateCategory = createAsyncThunk(\r\n \"companies/updateCategory\",\r\n async (updateData, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { data } = await api.updateCategory({\r\n x_token: token,\r\n ...updateData,\r\n });\r\n return data;\r\n }\r\n);\r\n\r\nexport const getPayments = createAsyncThunk(\r\n \"companies/getPayments\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getPayments({\r\n x_token: token,\r\n company_id: currentId,\r\n });\r\n\r\n return data;\r\n }\r\n);\r\n\r\nexport const getCardTypes = createAsyncThunk(\r\n \"companies/getCardTypes\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getCardTypes({\r\n x_token: token,\r\n company_id: currentId,\r\n });\r\n\r\n return data;\r\n }\r\n);\r\n\r\nexport const getHouseAccounts = createAsyncThunk(\r\n \"companies/getHouseAccounts\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getHouseAccount({\r\n x_token: token,\r\n company_id: currentId,\r\n });\r\n\r\n return data;\r\n }\r\n);\r\n\r\nexport const getTaxes = createAsyncThunk(\r\n \"companies/getTaxes\",\r\n async (_, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getTaxes({\r\n x_token: token,\r\n company_id: currentId,\r\n });\r\n\r\n return data;\r\n }\r\n);\r\n\r\nexport const updatePayment = createAsyncThunk(\r\n \"companies/updatePayment\",\r\n async (updateData, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { data } = await api.updatePayment({\r\n x_token: token,\r\n ...updateData,\r\n });\r\n return data;\r\n }\r\n);\r\n\r\nexport const updateTax = createAsyncThunk(\r\n \"companies/updateTax\",\r\n async (updateData, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { data } = await api.updateTax({\r\n x_token: token,\r\n ...updateData,\r\n });\r\n return data;\r\n }\r\n);\r\nexport const getReports = createAsyncThunk(\r\n \"companies/getReports\",\r\n async (dateData, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getReports({\r\n x_token: token,\r\n company_id: currentId,\r\n ...dateData,\r\n });\r\n\r\n return data;\r\n }\r\n);\r\n\r\nexport const getLogs = createAsyncThunk(\r\n \"companies/getLogs\",\r\n async (dateData, thunkApi) => {\r\n const { token } = await thunkApi.getState().auth;\r\n const { currentId } = await thunkApi.getState().companies;\r\n const { data } = await api.getLogs({\r\n x_token: token,\r\n company_id: currentId,\r\n ...dateData,\r\n });\r\n\r\n return data;\r\n }\r\n);\r\n\r\nconst initialState = {\r\n companiesList: [],\r\n currentId: \"\",\r\n loading: false,\r\n tableLoading: false,\r\n cardTypesLoading: false,\r\n houseAccountsLoading: false,\r\n error: \"\",\r\n floors: [],\r\n itemizers: [],\r\n categories: [],\r\n payments: [],\r\n cardTypes: [],\r\n houseAccounts: [],\r\n taxes: [],\r\n logs: [],\r\n reports: [],\r\n};\r\nconst pendingDataReducer = (dataName) => (state) => {\r\n state.tableLoading = true;\r\n state[dataName] = [];\r\n};\r\nconst getDataReducer = (dataName) => (state, action) => {\r\n state.tableLoading = false;\r\n state[dataName] = action.payload;\r\n};\r\n\r\nconst startGettingDataReducer = (dataName) => (state) => {\r\n state[`${dataName}Loading`] = true;\r\n state[dataName] = [];\r\n};\r\n\r\nconst finishGettingDataReducer = (dataName) => (state, action) => {\r\n state[`${dataName}Loading`] = false;\r\n state[dataName] = action.payload;\r\n};\r\n\r\n\r\nconst companiesSlice = createSlice({\r\n name: \"companies\",\r\n initialState,\r\n reducers: {\r\n setCompanies(state, action) {\r\n state.companiesList = action.payload;\r\n },\r\n setCurrentId(state, action) {\r\n state.currentId = action.payload;\r\n },\r\n setFloors(state, action) {\r\n state.floors = action.payload;\r\n },\r\n updateFloorState(state, action) {\r\n const newItem = action.payload;\r\n const oldItem = state.floors.find((i) => i.floor_id === newItem.floor_id);\r\n\r\n oldItem.pms_id = newItem.pms_id;\r\n },\r\n setItemizers(state, action) {\r\n state.itemizers = action.payload;\r\n },\r\n updateItemizerState(state, action) {\r\n const newItem = action.payload;\r\n const oldItem = state.itemizers.find((i) => i.id === newItem.id);\r\n\r\n oldItem.name = newItem.name;\r\n },\r\n setCategories(state, action) {\r\n state.categories = action.payload;\r\n },\r\n updateCategoryState(state, action) {\r\n const newItem = action.payload;\r\n const oldItem = state.categories.find(\r\n (i) => i.category_id === newItem.category_id\r\n );\r\n\r\n oldItem.pms_id = newItem.pms_id;\r\n oldItem.pms_name = newItem.pms_name;\r\n },\r\n setPayments(state, action) {\r\n state.payments = action.payload;\r\n },\r\n updatePaymentState(state, action) {\r\n const newItem = action.payload;\r\n const oldItem = state.payments.find(\r\n (i) => i.payment_id === newItem.payment_id\r\n );\r\n\r\n oldItem.pms_id = newItem.pms_id;\r\n oldItem.pms_account_id = newItem.pms_account_id;\r\n },\r\n\r\n setTaxes(state, action) {\r\n state.taxes = action.payload;\r\n },\r\n updateTaxState(state, action) {\r\n const newItem = action.payload;\r\n const oldItem = state.taxes.find(\r\n (i) => i.tax_id === newItem.tax_id\r\n );\r\n\r\n oldItem.pms_id = newItem.pms_id;\r\n },\r\n setLogs(state, action) {\r\n state.logs = action.payload;\r\n },\r\n setReports(state, action) {\r\n state.reports = action.payload;\r\n },\r\n },\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getCompanies.pending, (state) => {\r\n state.error = \"\";\r\n state.loading = true;\r\n })\r\n .addCase(getCompanies.fulfilled, (state, action) => {\r\n state.loading = false;\r\n state.companiesList = action.payload;\r\n })\r\n .addCase(getCompanies.rejected, (state) => {\r\n state.loading = false;\r\n state.error = \"Failed to get companies\";\r\n })\r\n .addCase(getFloors.pending, pendingDataReducer(\"floors\"))\r\n .addCase(getItemizers.pending, pendingDataReducer(\"itemizers\"))\r\n .addCase(getCategories.pending, pendingDataReducer(\"categories\"))\r\n .addCase(getPayments.pending, pendingDataReducer(\"payments\"))\r\n .addCase(getCardTypes.pending, startGettingDataReducer(\"cardTypes\"))\r\n .addCase(getHouseAccounts.pending, startGettingDataReducer(\"houseAccounts\"))\r\n .addCase(getTaxes.pending, pendingDataReducer(\"taxes\"))\r\n .addCase(getLogs.pending, pendingDataReducer(\"logs\"))\r\n .addCase(getReports.pending, pendingDataReducer(\"reports\"))\r\n .addCase(getFloors.fulfilled, getDataReducer(\"floors\"))\r\n .addCase(getItemizers.fulfilled, getDataReducer(\"itemizers\"))\r\n .addCase(getCategories.fulfilled, getDataReducer(\"categories\"))\r\n .addCase(getPayments.fulfilled, getDataReducer(\"payments\"))\r\n .addCase(getCardTypes.fulfilled, finishGettingDataReducer(\"cardTypes\"))\r\n .addCase(getHouseAccounts.fulfilled, finishGettingDataReducer(\"houseAccounts\"))\r\n .addCase(getTaxes.fulfilled, getDataReducer(\"taxes\"))\r\n .addCase(getLogs.fulfilled, getDataReducer(\"logs\"))\r\n .addCase(getReports.fulfilled, getDataReducer(\"reports\"));\r\n },\r\n});\r\n\r\nexport const {\r\n setCurrentId,\r\n updateFloorState,\r\n updateItemizerState,\r\n updateCategoryState,\r\n updatePaymentState,\r\n updateTaxState,\r\n} = companiesSlice.actions;\r\n\r\nexport const companiesSelector = (state) => state.companies;\r\nexport const currentSelector = (state) => {\r\n const list = state.companies.companiesList;\r\n const currentId = state.companies.currentId;\r\n\r\n return {\r\n currentCompany: list.find((i) => i.company_id === currentId) ?? \"\",\r\n currentId,\r\n };\r\n};\r\n\r\nexport default companiesSlice.reducer;\r\n","import styled from \"@emotion/styled\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { currentSelector } from \"../redux/slices/companiesSlice\";\r\n\r\nconst HomeStyle = styled.div`\r\n padding: 16px;\r\n`;\r\n\r\nconst Home = () => {\r\n const { currentCompany } = useSelector(currentSelector);\r\n var { line_1, line_2, line_3, line_4, line_5, line_6 } = currentCompany;\r\n \r\n // var text = \"175 - Tees\\n187 - ACC CATALOG COURSE SPRING 2016\\n207 - lds\";\r\n var text = line_4;\r\n\r\n\r\n //console.log(line_4)\r\n //console.log(text)\r\n\r\n return (\r\n \r\n

{line_1}

\r\n
\r\n

{line_2}

\r\n

{line_3}

\r\n
\r\n \r\n
{text}
\r\n \r\n

{line_5}

\r\n

{line_6}

\r\n
\r\n );\r\n};\r\n\r\nexport default Home;\r\n","import { Input } from \"@lightspeed/flame/Input\";\r\nimport styled from \"@emotion/styled\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { uiSelector } from \"../../redux/slices/uiSlice\";\r\n\r\nconst InputStyle = styled.div`\r\n min-width: 350px;\r\n`;\r\n\r\nconst InputField = ({ placeholder, value, valueSet }) => {\r\n const { theme } = useSelector(uiSelector);\r\n return (\r\n \r\n valueSet(e.target.value)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default InputField;\r\n","import styled from \"@emotion/styled\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\n\r\nconst Wrapper = styled(Link)`\r\n font-weight: 600;\r\n padding: 0 12px;\r\n display: flex;\r\n align-items: center;\r\n overflow: hidden;\r\n cursor: pointer;\r\n\r\n position: relative;\r\n\r\n &:after {\r\n content: \"\";\r\n top: ${({ top }) => top};\r\n left: 0;\r\n width: 100%;\r\n height: 8px;\r\n position: absolute;\r\n background: #5187e0;\r\n transition: top 0.2s;\r\n }\r\n\r\n &:hover:after {\r\n top: 93%;\r\n }\r\n`;\r\n\r\nconst CategoryBarItem = ({ label, url, onClick }) => {\r\n const { pathname } = useLocation();\r\n const currentItem = url === pathname ? \"93%\" : \"100%\";\r\n return (\r\n \r\n {label}\r\n \r\n );\r\n};\r\n\r\nexport default CategoryBarItem;\r\n","import Input from \"./ui/Input\";\r\nimport styled from \"@emotion/styled\";\r\nimport { Card } from \"@lightspeed/flame/Card\";\r\nimport CategoryBarItem from \"./ui/CategoryBarItem\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n getFloors,\r\n getItemizers,\r\n getCategories,\r\n getPayments,\r\n getTaxes,\r\n getCardTypes,\r\n getHouseAccounts,\r\n} from \"../redux/slices/companiesSlice\";\r\nimport { setSearchQuery, uiSelector } from \"../redux/slices/uiSlice\";\r\n\r\nconst Wrapper = styled.div`\r\n margin-bottom: 16px;\r\n`;\r\n\r\nconst InputWrapper = styled.div`\r\n padding: 6px;\r\n max-width: 380px;\r\n`;\r\n\r\nconst Flexed = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst CategoryList = styled.div`\r\n flex-grow: 1;\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 0 32px;\r\n`;\r\n\r\nconst CategoryBar = () => {\r\n const dispatch = useDispatch();\r\n const { searchQuery } = useSelector(uiSelector);\r\n\r\n const tableSelect = [\r\n { id: 12345, url: \"/details\", label: \"Revenue center\" },\r\n { id: 12346, url: \"/details/itemizers\", label: \"Itemizers\" },\r\n { id: 12347, url: \"/details/category\", label: \"Category\" },\r\n { id: 12348, url: \"/details/payments\", label: \"Payments\" },\r\n { id: 12349, url: \"/details/tax\", label: \"Tax\" },\r\n { id: 12350, url: \"/details/other\", label: \"Other\" },\r\n { id: 12351, url: \"/details/reports\", label: \"Reports\" },\r\n { id: 12352, url: \"/details/log\", label: \"Log\" },\r\n ];\r\n\r\n const getTheFloors = () => dispatch(getFloors());\r\n const getTheItemizers = () => dispatch(getItemizers());\r\n const getTheCategories = () => {\r\n dispatch(getCategories());\r\n dispatch(getItemizers());\r\n };\r\n const getThePayments = () => {\r\n dispatch(getCardTypes());\r\n dispatch(getHouseAccounts());\r\n dispatch(getPayments());\r\n }\r\n const getTheTaxes = () => dispatch(getTaxes());\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {}} />\r\n {}} />\r\n {}} />\r\n \r\n \r\n dispatch(setSearchQuery(e))}\r\n placeholder=\"Search data...\"\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CategoryBar;\r\n","const MAX_SAFE_INTEGER = 9007199254740991;\r\n\r\nlet lastId = 0;\r\nlet uniqueGenerationStr = \"i\";\r\n\r\nconst genId = (prefix) => {\r\n if (lastId === MAX_SAFE_INTEGER) {\r\n lastId = 0;\r\n uniqueGenerationStr += \"i\";\r\n }\r\n\r\n return (prefix ? `${prefix}_` : '') + uniqueGenerationStr + ++lastId;\r\n};\r\n\r\nexport default genId;\r\n","import { useRef } from \"react\";\r\nimport genId from \"../utils/genId\";\r\n\r\nconst useId = (prefix = \"\") => {\r\n return useRef(genId(prefix)).current;\r\n};\r\n\r\nexport default useId;\r\n","import styled from \"@emotion/styled\";\r\nimport useId from \"../../../hooks/useId\";\r\n\r\nconst Box = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst Input = styled.input`\r\n flex-shrink: 0;\r\n margin-right: 8px;\r\n`;\r\n\r\nconst Label = styled.label`\r\n flex-grow: 1;\r\n cursor: pointer;\r\n`;\r\n\r\nconst ListboxRadio = ({ name, value, checked, label, onChange }) => {\r\n const radioId = useId(\"listbox_radio\");\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ListboxRadio;\r\n","import { useRef } from \"react\";\r\nimport { useFormContext, useWatch } from \"react-hook-form\";\r\nimport useId from \"../../../hooks/useId\";\r\nimport ListboxRadio from \"./ListboxRadio\";\r\nimport { Input } from \"@lightspeed/flame/Input\";\r\n\r\nconst Listbox = ({ name, items, inputType = \"text\", onInputKeyDown }) => {\r\n const { control, setValue } = useFormContext();\r\n const listboxId = useId(\"listbox\");\r\n const curValue = useWatch({ control, name });\r\n const inputTypeRef = useRef(\r\n items.some((item) => item.value === curValue) ? \"radio\" : \"input\"\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {\r\n inputTypeRef.current = \"input\";\r\n\r\n const isNum =\r\n inputType === \"number\" &&\r\n value !== \"\" &&\r\n !Number.isNaN(Number(value));\r\n\r\n setValue(name, isNum ? Number(value) : value);\r\n }}\r\n onKeyDown={onInputKeyDown}\r\n />\r\n
\r\n\r\n {items.map((item, i) => (\r\n {\r\n inputTypeRef.current = \"radio\";\r\n setValue(name, item.value);\r\n }}\r\n />\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default Listbox;\r\n","import { useState } from \"react\";\r\nimport { FormProvider, useForm } from \"react-hook-form\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport styled from \"@emotion/styled\";\r\n\r\nimport { IconEdit } from \"@lightspeed/flame/Icon/Edit\";\r\n\r\nimport { Td, Tr } from \"@lightspeed/cirrus-table\";\r\nimport { Input } from \"@lightspeed/flame/Input\";\r\nimport { Button } from \"@lightspeed/flame/Button\";\r\nimport { setAlert, setPopup, uiSelector } from \"../../../redux/slices/uiSlice\";\r\nimport {\r\n updateFloor,\r\n updateFloorState,\r\n} from \"../../../redux/slices/companiesSlice\";\r\n\r\n// icons\r\nimport trash from \"../../../assets/trash.png\";\r\nimport whitetrash from \"../../../assets/whitetrash.png\";\r\nimport editIcon from \"../../../assets/edit.png\";\r\nimport whiteedit from \"../../../assets/whiteedit.png\";\r\nimport Listbox from \"../listbox/Listbox\";\r\n\r\nconst TdStyled = styled.td`\r\n padding: 0 8px !important;\r\n height: 0 !important;\r\n`;\r\n\r\nconst Row = ({ item, editable, editableData, updateAction, rowKeys }) => {\r\n const [edit, editSet] = useState(false);\r\n const form = useForm();\r\n const { register, handleSubmit, setValue } = form;\r\n const dispatch = useDispatch();\r\n const { theme } = useSelector(uiSelector);\r\n\r\n const onUpdate = (e) => {\r\n let areSame = true;\r\n editable.forEach((editableKey) => {\r\n const old = item[editableKey];\r\n const edited = e[editableKey];\r\n if (old !== edited) areSame = false;\r\n });\r\n\r\n if (areSame) {\r\n return editSet(false);\r\n }\r\n\r\n const newItem = { ...item, ...e };\r\n editSet(false);\r\n dispatch(updateAction(newItem)).then((res) => {\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n title: \"Success\",\r\n text: \"Task completed successfuly\",\r\n })\r\n );\r\n setTimeout(() => {\r\n dispatch(\r\n setAlert({\r\n type: \"\",\r\n title: \"\",\r\n text: \"\",\r\n })\r\n );\r\n }, 3000);\r\n });\r\n\r\n // show fail and reset\r\n };\r\n\r\n const onEdit = () => {\r\n editable.forEach((i) => setValue(i, item[i]));\r\n editSet(true);\r\n };\r\n\r\n const wrapOnUpdate = handleSubmit(onUpdate);\r\n\r\n return (\r\n \r\n \r\n {rowKeys.map((i) => {\r\n if (editable.includes(i) && edit) {\r\n if (editableData && editableData[i]?.type === \"listBox\") {\r\n const item = editableData[i];\r\n\r\n return (\r\n \r\n {\r\n if (e.key === \"Enter\") {\r\n wrapOnUpdate();\r\n }\r\n }}\r\n items={item.items}\r\n name={i}\r\n inputType={item.inputType}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {\r\n if (e.key === \"Enter\") {\r\n wrapOnUpdate();\r\n }\r\n }}\r\n type={typeof item[i] === \"number\" ? \"number\" : \"text\"}\r\n {...register(i, {\r\n valueAsNumber: typeof item[i] === \"number\" ? true : false,\r\n })}\r\n />\r\n \r\n );\r\n }\r\n }\r\n return {item[i]};\r\n })}\r\n\r\n {edit ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Row;\r\n","import { Sortable, Th } from \"@lightspeed/cirrus-table\";\r\nimport styled from \"@emotion/styled\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { uiSelector } from \"../../../redux/slices/uiSlice\";\r\n\r\nconst StickyTh = styled(Th)`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: -1px;\r\n z-index: 100;\r\n background: white;\r\n`;\r\n\r\nconst TableHeaderItem = ({\r\n item,\r\n index,\r\n sortState,\r\n changeSortState,\r\n scrollPos,\r\n}) => {\r\n const { sortable, id, width, label } = item;\r\n const sortValues = [\"unsorted\", \"desc\", \"asc\"];\r\n const { theme } = useSelector(uiSelector);\r\n\r\n if (sortable && !scrollPos)\r\n return (\r\n {\r\n changeSortState(index);\r\n }}\r\n >\r\n {label}\r\n \r\n );\r\n\r\n return (\r\n \r\n {label}\r\n \r\n );\r\n};\r\n\r\nexport default TableHeaderItem;\r\n","import { Thead, Tr, Td } from \"@lightspeed/cirrus-table\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { uiSelector } from \"../../../redux/slices/uiSlice\";\r\nimport TableHeaderItem from \"./TableHeaderItem\";\r\n\r\nconst TableHeader = ({ data, sortState, changeSortState, scrollPos }) => {\r\n const { theme } = useSelector(uiSelector);\r\n\r\n return (\r\n \r\n \r\n {data.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableHeader;\r\n","import { useState, useEffect } from \"react\";\r\nimport * as sortFns from \"../utils/sortFn\";\r\n\r\nexport const useSortState = ({ data, sortByData }) => {\r\n const [sortState, setSortState] = useState([...Array(20)].map(() => 0));\r\n const [sortedData, setSortedData] = useState(data);\r\n\r\n useEffect(() => {\r\n const isSorted = sortState.find((i) => i !== 0);\r\n if (isSorted) {\r\n const isSortedIndex = sortState.findIndex((i) => i !== 0);\r\n const newData = [...data].sort(\r\n sortFns.customSortGen(sortByData[isSortedIndex].label)\r\n );\r\n setSortedData(isSorted === 1 ? newData : newData.reverse());\r\n } else {\r\n setSortedData(data);\r\n }\r\n }, [sortState, data]);\r\n\r\n const changeSortState = (x) => {\r\n const newSortState = [...Array(20)].map(() => 0);\r\n switch (sortState[x]) {\r\n case 0:\r\n newSortState[x] = 1;\r\n break;\r\n case 1:\r\n newSortState[x] = 2;\r\n break;\r\n default:\r\n newSortState[x] = 0;\r\n }\r\n setSortState([...newSortState]);\r\n };\r\n\r\n return { sortedData, sortState, changeSortState };\r\n};\r\n","export const customSortGen = (sortParam) => (a, b) => {\r\n const companyA = a[sortParam];\r\n const companyB = b[sortParam];\r\n\r\n let comparison = 0;\r\n if (companyA > companyB) {\r\n comparison = 1;\r\n } else if (companyA < companyB) {\r\n comparison = -1;\r\n }\r\n return comparison;\r\n};\r\nexport const customSortGenString = (sortParam) => (a, b) => {\r\n const companyA = String(a[sortParam]).toLowerCase();\r\n const companyB = String(b[sortParam]).toLowerCase();\r\n\r\n let comparison = 0;\r\n if (companyA > companyB) {\r\n comparison = 1;\r\n } else if (companyA < companyB) {\r\n comparison = -1;\r\n }\r\n return comparison;\r\n};\r\n","import styled from \"@emotion/styled\";\r\nimport { useState } from \"react\";\r\n\r\nimport { Card } from \"@lightspeed/flame/Card\";\r\nimport { Table } from \"@lightspeed/cirrus-table\";\r\n\r\nimport Row from \"./Row\";\r\nimport TableHeader from \"./TableHeader\";\r\n\r\nimport { useSortState } from \"../../../hooks/useSortState\";\r\nimport { debounce } from \"debounce\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { uiSelector } from \"../../../redux/slices/uiSlice\";\r\n\r\nconst TableWrapper = styled(Card)`\r\n flex: 1;\r\n position: relative;\r\n overflow: auto;\r\n`;\r\nconst TableInner = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nconst TableController = ({\r\n headerData,\r\n rowKeys,\r\n data,\r\n sortByData,\r\n editable,\r\n editableData,\r\n row_key,\r\n updateAction,\r\n}) => {\r\n // const { searchQuery, theme } = useStoreState((props) => props.ui);change\r\n const [searchQuery] = [\"\"];\r\n const [scrollPos, scrollPosSet] = useState(false);\r\n const { theme } = useSelector(uiSelector);\r\n\r\n const { sortedData, sortState, changeSortState } = useSortState({\r\n data,\r\n sortByData,\r\n });\r\n\r\n const debouncedLog = debounce((y) => scrollPosSet(y !== 0), 50);\r\n\r\n const handleScroll = (e) => {\r\n debouncedLog(e.target.scrollTop);\r\n };\r\n\r\n if (sortedData.length === 0 && searchQuery) {\r\n return (\r\n
\r\n

No items match your search

\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {sortedData.map((item) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TableController;\r\n","export default __webpack_public_path__ + \"static/media/spinner.282e5197.gif\";","import spinner from \"../../../assets/spinner.gif\";\r\nimport { Card } from \"@lightspeed/flame/Card\";\r\nimport styled from \"@emotion/styled\";\r\n\r\nconst Wrapper = styled(Card)`\r\n flex-grow: 1;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n`;\r\n\r\nconst Loading = () => {\r\n return (\r\n \r\n \"spinner\"\r\n \r\n );\r\n};\r\n\r\nexport default Loading;\r\n","import styled from \"@emotion/styled\";\r\nimport { Card } from \"@lightspeed/flame/Card\";\r\n\r\nconst Wrapper = styled(Card)`\r\n flex-grow: 1;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n p {\r\n font-size: 2rem;\r\n font-weight: 700;\r\n opacity: 0.5;\r\n }\r\n`;\r\n\r\nconst NoSearch = () => {\r\n return (\r\n \r\n

No items match your search

\r\n
\r\n );\r\n};\r\n\r\nexport default NoSearch;\r\n","import styled from \"@emotion/styled\";\r\nimport { Card } from \"@lightspeed/flame/Card\";\r\n\r\nconst Wrapper = styled(Card)`\r\n flex-grow: 1;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n p {\r\n font-size: 2rem;\r\n font-weight: 700;\r\n opacity: 0.5;\r\n }\r\n`;\r\n\r\nconst NoItems = () => {\r\n return (\r\n \r\n

No items to display

\r\n
\r\n );\r\n};\r\n\r\nexport default NoItems;\r\n","import { useSelector, useDispatch } from \"react-redux\";\r\nimport Table from \"../ui/table/TableController\";\r\nimport {\r\n companiesSelector,\r\n updateFloorState,\r\n} from \"../../redux/slices/companiesSlice\";\r\nimport { updateFloor } from \"../../redux/slices/companiesSlice\";\r\nimport { uiSelector } from \"../../redux/slices/uiSlice\";\r\nimport Loading from \"./tableState/Loading\";\r\nimport NoSearch from \"./tableState/NoSearch\";\r\nimport NoItems from \"./tableState/NoItems\";\r\n\r\nconst ReveneuCentar = () => {\r\n const { floors, tableLoading } = useSelector(companiesSelector);\r\n const dispatch = useDispatch();\r\n const { searchQuery } = useSelector(uiSelector);\r\n\r\n const filteredFloors = floors.filter(\r\n (i) =>\r\n String(i.floor_id).includes(searchQuery) ||\r\n i.floor_name.toLowerCase().includes(searchQuery.toLowerCase()) ||\r\n String(i.pms_id).includes(searchQuery)\r\n );\r\n\r\n const headerData = [\r\n { id: 1, label: \"Company\", width: \"20%\", sortable: false },\r\n { id: 2, label: \"Id\", width: \"20%\", sortable: true },\r\n { id: 3, label: \"Name\", width: \"20%\", sortable: true },\r\n { id: 4, label: \"PMS ID\", width: \"20%\", sortable: true },\r\n { id: 5, label: \"Action\", width: \"20%\", sortable: false },\r\n ];\r\n\r\n const rowKeys = [\"company_id\", \"floor_id\", \"floor_name\", \"pms_id\"];\r\n\r\n const editable = [\"pms_id\"];\r\n\r\n const sortByData = [\r\n {},\r\n {\r\n label: \"floor_id\",\r\n type: \"number\",\r\n },\r\n {\r\n label: \"floor_name\",\r\n type: \"string\",\r\n },\r\n {\r\n label: \"pms_id\",\r\n type: \"number\",\r\n },\r\n {},\r\n ];\r\n\r\n const updateAction = (x) => {\r\n dispatch(updateFloorState(x));\r\n return updateFloor(x);\r\n };\r\n\r\n if (tableLoading) return ;\r\n\r\n if (filteredFloors.length === 0 && searchQuery) return ;\r\n\r\n if (filteredFloors.length === 0) return ;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ReveneuCentar;\r\n","import { useDispatch, useSelector } from \"react-redux\";\r\nimport Table from \"../ui/table/TableController\";\r\nimport {\r\n updateItemizer,\r\n updateItemizerState,\r\n companiesSelector,\r\n} from \"../../redux/slices/companiesSlice\";\r\nimport { uiSelector } from \"../../redux/slices/uiSlice\";\r\nimport Loading from \"./tableState/Loading\";\r\nimport NoSearch from \"./tableState/NoSearch\";\r\nimport NoItems from \"./tableState/NoItems\";\r\n\r\nconst Itemizer = () => {\r\n const { itemizers, tableLoading } = useSelector(companiesSelector);\r\n const dispatch = useDispatch();\r\n const { searchQuery } = useSelector(uiSelector);\r\n\r\n const filteredItemizers = itemizers.filter(\r\n (i) =>\r\n String(i.id).includes(searchQuery) ||\r\n i.name.toLowerCase().includes(searchQuery.toLowerCase())\r\n );\r\n\r\n const headerData = [\r\n { id: 122, label: \"Company\", width: \"25%\", sortable: false },\r\n { id: 222, label: \"Id\", width: \"25%\", sortable: true },\r\n { id: 322, label: \"Name\", width: \"25%\", sortable: true },\r\n { id: 522, label: \"Action\", width: \"25%\", sortable: false },\r\n ];\r\n\r\n const rowKeys = [\"company_id\", \"id\", \"name\"];\r\n\r\n const editable = [\"name\"];\r\n\r\n const sortByData = [\r\n {},\r\n {\r\n label: \"floor_id\",\r\n type: \"number\",\r\n },\r\n {\r\n label: \"floor_name\",\r\n type: \"string\",\r\n },\r\n {},\r\n ];\r\n\r\n const updateAction = (x) => {\r\n dispatch(updateItemizerState(x));\r\n return updateItemizer(x);\r\n };\r\n\r\n if (tableLoading) return ;\r\n\r\n if (filteredItemizers.length === 0 && searchQuery) return ;\r\n\r\n if (filteredItemizers.length === 0) return ;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Itemizer;\r\n","import { useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport lodash from \"lodash\";\r\n\r\nimport { Button } from \"@lightspeed/flame/Button\";\r\nimport { IconEdit } from \"@lightspeed/flame/Icon/Edit\";\r\nimport styled from \"@emotion/styled\";\r\n\r\nimport Select from \"react-select\";\r\n\r\nimport { setAlert } from \"../../../redux/slices/uiSlice\";\r\n\r\n// icons\r\n\r\nimport { useSelector } from \"react-redux\";\r\nimport { uiSelector } from \"../../../redux/slices/uiSlice\";\r\n\r\nconst TdStyled = styled.td`\r\n padding: 0 8px !important;\r\n height: 0 !important;\r\n`;\r\n\r\nconst Row = ({ item, editable, updateAction, rowKeys, editableOptions }) => {\r\n const [edit, editSet] = useState(false);\r\n const [value, valueSet] = useState({});\r\n const dispatch = useDispatch();\r\n const { theme } = useSelector(uiSelector);\r\n\r\n const customStyle = {\r\n option: (base, state) => ({\r\n ...base,\r\n backgroundColor: theme === \"flame\" ? \"#fff\" : \"#333\",\r\n color: theme === \"flame\" ? \"#333\" : \"#fff\",\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n backgroundColor: theme === \"flame\" ? \"#fff\" : \"#333\",\r\n color: theme === \"flame\" ? \"#333\" : \"#fff\",\r\n }),\r\n control: (base, state) => ({\r\n ...base,\r\n backgroundColor: theme === \"flame\" ? \"#fff\" : \"#333\",\r\n color: theme === \"flame\" ? \"#333\" : \"#fff\",\r\n }),\r\n singleValue: (base, state) => ({\r\n ...base,\r\n backgroundColor: theme === \"flame\" ? \"#fff\" : \"#333\",\r\n color: theme === \"flame\" ? \"#333\" : \"#fff\",\r\n }),\r\n };\r\n\r\n const onUpdate = () => {\r\n if (lodash.isEmpty(value)) return editSet(false);\r\n\r\n let newItem = { ...item };\r\n\r\n if (value.category_type) {\r\n newItem.category_type = value.category_type.label;\r\n }\r\n\r\n if (value.pms_name) {\r\n newItem.pms_name = value.pms_name.label;\r\n newItem.pms_id = value.pms_name.value;\r\n }\r\n\r\n editSet(false);\r\n dispatch(updateAction(newItem)).then((res) => {\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n title: \"Success\",\r\n text: \"Task completed successfuly\",\r\n })\r\n );\r\n setTimeout(() => {\r\n dispatch(\r\n setAlert({\r\n type: \"\",\r\n title: \"\",\r\n text: \"\",\r\n })\r\n );\r\n }, 3000);\r\n });\r\n\r\n // show fail and reset\r\n };\r\n\r\n const onEdit = () => editSet(true);\r\n\r\n return (\r\n \r\n {rowKeys.map((i) => {\r\n if (editable.includes(i) && edit) {\r\n return (\r\n \r\n \r\n valueSet((old) => {\r\n if (item[i] === e.label) {\r\n const tmpOld = { ...old };\r\n delete tmpOld[i];\r\n return tmpOld;\r\n }\r\n return { ...old, [i]: e };\r\n })\r\n }\r\n options={editableOptions[i]}\r\n />\r\n \r\n );\r\n }\r\n if (value[i]) {\r\n return {value[i].label};\r\n }\r\n return {item[i]};\r\n })}\r\n\r\n {edit ? (\r\n \r\n \r\n {\r\n valueSet({});\r\n editSet(false);\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Row;\r\n","import styled from \"@emotion/styled\";\r\nimport { useState } from \"react\";\r\n\r\nimport { Card } from \"@lightspeed/flame/Card\";\r\nimport { Table, Td, Tr, Thead } from \"@lightspeed/cirrus-table\";\r\n\r\nimport Row from \"./Row\";\r\nimport TableHeader from \"../table/TableHeader\";\r\n\r\nimport { useSortState } from \"../../../hooks/useSortState\";\r\nimport { debounce } from \"debounce\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { uiSelector } from \"../../../redux/slices/uiSlice\";\r\n\r\nconst TableWrapper = styled(Card)`\r\n flex: 1;\r\n position: relative;\r\n overflow: auto;\r\n`;\r\nconst TableInner = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nconst TableController = ({\r\n headerData,\r\n rowKeys,\r\n editableOptions,\r\n data,\r\n sortByData,\r\n editable,\r\n rowKey,\r\n updateAction,\r\n}) => {\r\n const [searchQuery] = [\"\"];\r\n const [scrollPos, scrollPosSet] = useState(false);\r\n const { theme } = useSelector(uiSelector);\r\n\r\n const { sortedData, sortState, changeSortState } = useSortState({\r\n data,\r\n sortByData,\r\n });\r\n\r\n const debouncedLog = debounce((y) => scrollPosSet(y !== 0), 50);\r\n\r\n const handleScroll = (e) => {\r\n debouncedLog(e.target.scrollTop);\r\n };\r\n\r\n if (sortedData.length === 0 && searchQuery) {\r\n return (\r\n
\r\n

No items match your search

\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {sortedData.map((item) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TableController;\r\n","import Table from \"../ui/categoryTable/TableController\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { uiSelector } from \"../../redux/slices/uiSlice\";\r\nimport {\r\n companiesSelector,\r\n updateCategory,\r\n updateCategoryState,\r\n} from \"../../redux/slices/companiesSlice\";\r\nimport Loading from \"./tableState/Loading\";\r\nimport NoSearch from \"./tableState/NoSearch\";\r\nimport NoItems from \"./tableState/NoItems\";\r\n\r\nconst Category = () => {\r\n const { categories, itemizers, tableLoading } =\r\n useSelector(companiesSelector);\r\n const dispatch = useDispatch();\r\n const { searchQuery } = useSelector(uiSelector);\r\n\r\n const filteredCategories = categories.filter(\r\n (i) =>\r\n i.category_name.toLowerCase().includes(searchQuery.toLowerCase()) ||\r\n //String(i.category_id).includes(searchQuery) ||\r\n //i.pms_name.toLowerCase().includes(searchQuery.toLowerCase()) ||\r\n //String(i.pms_id).includes(searchQuery) ||\r\n i.category_type.toLowerCase().includes(searchQuery.toLowerCase())\r\n );\r\n\r\n const headerData = [\r\n { id: 122, label: \"Company\", width: \"16%\", sortable: false },\r\n { id: 222, label: \"Name\", width: \"16%\", sortable: true },\r\n { id: 322, label: \"Id\", width: \"16%\", sortable: true },\r\n { id: 422, label: \"PMS Name\", width: \"16%\", sortable: true },\r\n { id: 522, label: \"Category Type\", width: \"16%\", sortable: true },\r\n { id: 622, label: \"Action\", width: \"16%\", sortable: false },\r\n ];\r\n\r\n const rowKeys = [\r\n \"company_id\",\r\n \"category_name\",\r\n \"category_id\",\r\n \"pms_name\",\r\n \"category_type\",\r\n ];\r\n\r\n const editable = [\"pms_name\", \"category_type\"];\r\n\r\n const editableOptions = {\r\n pms_name: itemizers.map((i) => ({ label: i.name, value: i.id })),\r\n category_type: [\r\n { value: \"sale\", label: \"sale\" },\r\n { value: \"discount\", label: \"discount\" },\r\n { value: \"svc\", label: \"svc\" },\r\n ],\r\n };\r\n\r\n const sortByData = [\r\n {},\r\n {\r\n label: \"category_name\",\r\n type: \"string\",\r\n },\r\n {\r\n label: \"category_id\",\r\n type: \"number\",\r\n },\r\n {\r\n label: \"pas_name\",\r\n type: \"string\",\r\n },\r\n {\r\n label: \"category_type\",\r\n type: \"string\",\r\n },\r\n ];\r\n\r\n const updateAction = (x) => {\r\n dispatch(updateCategoryState(x));\r\n return updateCategory(x);\r\n };\r\n\r\n if (tableLoading) return ;\r\n\r\n if (filteredCategories.length === 0 && searchQuery) return ;\r\n\r\n if (filteredCategories.length === 0) return ;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Category;\r\n","import { useDispatch, useSelector } from \"react-redux\";\r\nimport Table from \"../ui/table/TableController\";\r\nimport {\r\n companiesSelector,\r\n updatePayment,\r\n updatePaymentState,\r\n} from \"../../redux/slices/companiesSlice\";\r\nimport { uiSelector } from \"../../redux/slices/uiSlice\";\r\nimport Loading from \"./tableState/Loading\";\r\nimport NoSearch from \"./tableState/NoSearch\";\r\nimport NoItems from \"./tableState/NoItems\";\r\n\r\nconst Payments = () => {\r\n const {\r\n payments,\r\n tableLoading,\r\n cardTypesLoading,\r\n houseAccountsLoading,\r\n cardTypes,\r\n houseAccounts\r\n } = useSelector(companiesSelector);\r\n\r\n const dispatch = useDispatch();\r\n const { searchQuery } = useSelector(uiSelector);\r\n\r\n const filteredPayments = payments.filter(\r\n (i) =>\r\n String(i.payment_id).includes(searchQuery) ||\r\n i.payment_name.toLowerCase().includes(searchQuery.toLowerCase()) ||\r\n //i.pms_account_id.toLowerCase().includes(searchQuery.toLowerCase()) ||\r\n String(i.pms_id).includes(searchQuery)\r\n );\r\n\r\n const headerData = [\r\n { id: 132, label: \"Company\", width: \"16%\", sortable: false },\r\n { id: 232, label: \"Id\", width: \"16%\", sortable: true },\r\n { id: 342, label: \"Name\", width: \"16%\", sortable: true },\r\n { id: 332, label: \"PMS ID\", width: \"16%\", sortable: true },\r\n { id: 362, label: \"PMS Account ID\", width: \"16%\", sortable: true },\r\n { id: 532, label: \"Action\", width: \"16%\", sortable: false },\r\n ];\r\n\r\n const rowKeys = [\r\n \"company_id\",\r\n \"payment_id\",\r\n \"payment_name\",\r\n \"pms_id\",\r\n \"pms_account_id\",\r\n ];\r\n\r\n const editable = [\"pms_id\", \"pms_account_id\"];\r\n\r\n const editableData = {\r\n pms_id: {\r\n type: 'listBox',\r\n inputType: 'number',\r\n items: houseAccounts.map((houseAccount, i) => {\r\n const idValue = Number(houseAccount.house_name.split('|')[0])\r\n\r\n return {\r\n label: houseAccount.house_name,\r\n value: !Number.isNaN(idValue) ? idValue : houseAccount.house_name\r\n }\r\n })\r\n },\r\n pms_account_id: {\r\n type: 'listBox',\r\n inputType: 'text',\r\n items: cardTypes.map((cardType, i) => ({\r\n label: cardType.cardcode,\r\n value: cardType.cardcode\r\n }))\r\n },\r\n }\r\n\r\n const sortByData = [\r\n {},\r\n {\r\n label: \"payment_id\",\r\n type: \"number\",\r\n },\r\n {\r\n label: \"payment_name\",\r\n type: \"string\",\r\n },\r\n {\r\n label: \"pms_id\",\r\n type: \"number\",\r\n },\r\n {\r\n label: \"pms_account_id\",\r\n type: \"number\",\r\n },\r\n ];\r\n\r\n const updateAction = (x) => {\r\n dispatch(updatePaymentState(x));\r\n return updatePayment(x);\r\n };\r\n\r\n if (tableLoading || cardTypesLoading || houseAccountsLoading) return ;\r\n\r\n if (filteredPayments.length === 0 && searchQuery) return ;\r\n\r\n if (filteredPayments.length === 0) return ;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Payments;\r\n","import { useDispatch, useSelector } from \"react-redux\";\r\nimport Table from \"../ui/table/TableController\";\r\nimport {\r\n companiesSelector,\r\n updateTax,\r\n updateTaxState,\r\n} from \"../../redux/slices/companiesSlice\";\r\nimport { uiSelector } from \"../../redux/slices/uiSlice\";\r\nimport Loading from \"./tableState/Loading\";\r\nimport NoSearch from \"./tableState/NoSearch\";\r\nimport NoItems from \"./tableState/NoItems\";\r\n\r\nconst Tax = () => {\r\n const { taxes, tableLoading } = useSelector(companiesSelector);\r\n const dispatch = useDispatch();\r\n const { searchQuery } = useSelector(uiSelector);\r\n \r\n const filteredTaxes = taxes.filter(\r\n (i) =>\r\n String(i.tax_id).includes(searchQuery) ||\r\n i.tax_name.toLowerCase().includes(searchQuery.toLowerCase()) ||\r\n String(i.pms_id).includes(searchQuery)\r\n );\r\n\r\n const headerData = [\r\n { id: 132, label: \"Company\", width: \"16%\", sortable: false },\r\n { id: 232, label: \"Id\", width: \"16%\", sortable: true },\r\n { id: 342, label: \"Tax Name\", width: \"16%\", sortable: true },\r\n { id: 332, label: \"PMS ID\", width: \"16%\", sortable: true },\r\n { id: 532, label: \"Action\", width: \"16%\", sortable: false },\r\n ];\r\n\r\n const rowKeys = [\r\n \"company_id\",\r\n \"tax_id\",\r\n \"tax_name\",\r\n \"pms_id\"\r\n ];\r\n\r\n const editable = [\"pms_id\"];\r\n\r\n const sortByData = [\r\n {},\r\n {\r\n label: \"tax_id\",\r\n type: \"string\",\r\n },\r\n {\r\n label: \"tax_name\",\r\n type: \"string\",\r\n },\r\n {\r\n label: \"pms_id\",\r\n type: \"number\",\r\n }\r\n ];\r\n\r\n const updateAction = (x) => {\r\n dispatch(updateTaxState(x));\r\n return updateTax(x);\r\n };\r\n\r\n if (tableLoading) return ;\r\n\r\n if (filteredTaxes.length === 0 && searchQuery) return ;\r\n if (filteredTaxes.length === 0) return ;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Tax;\r\n","const Other = () => {\r\n return
Other
;\r\n};\r\n\r\nexport default Other;\r\n","import PivotTableUI from \"react-pivottable/PivotTableUI\";\r\nimport \"react-pivottable/pivottable.css\";\r\nimport { useState } from \"react\";\r\nimport { Card } from \"@lightspeed/flame/Card\";\r\nimport styled from \"@emotion/styled\";\r\n\r\nconst StyledCard = styled(Card)`\r\n flex-grow: 1;\r\n position: relative;\r\n overflow: auto;\r\n`;\r\n\r\nconst Container = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n`;\r\n\r\nconst Table = ({ data, rows, cols, aggregatorName, vals, rendererName}) => {\r\n const [state, setState] = useState(data);\r\n\r\n return (\r\n \r\n \r\n setState(s)}\r\n rows={rows}\r\n cols={cols}\r\n aggregatorName={aggregatorName}\r\n vals={vals}\r\n rendererName={rendererName}\r\n {...state}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Table;\r\n","import { Card } from \"@lightspeed/flame/Card\";\r\nimport { Input } from \"@lightspeed/flame/Input\";\r\nimport { Button } from \"@lightspeed/flame/Button\";\r\n\r\nimport { useForm } from \"react-hook-form\";\r\n\r\nimport styled from \"@emotion/styled\";\r\nimport { IconSync } from \"@lightspeed/flame/Icon/Sync\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { uiSelector } from \"../../../redux/slices/uiSlice\";\r\n\r\nconst StyledCard = styled(Card)`\r\n margin-left: 16px;\r\n`;\r\n\r\nconst StyledGroup = styled.div`\r\n margin: 16px 0;\r\n label {\r\n margin-left: 4px;\r\n margin-bottom: 4px;\r\n display: block;\r\n }\r\n`;\r\n\r\nconst InputGroup = ({ register, name, label }) => {\r\n const today = new Date().toISOString().substr(0, 10);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ButtonWrapper = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n`;\r\n\r\nconst DatePicker = ({ updateAction }) => {\r\n const { register, handleSubmit } = useForm();\r\n const { theme } = useSelector(uiSelector);\r\n const dispatch = useDispatch();\r\n\r\n const onSubmit = (e) => {\r\n dispatch(\r\n updateAction({\r\n ...e,\r\n })\r\n );\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default DatePicker;\r\n","import { useSelector } from \"react-redux\";\r\nimport Table from \"../ui/reports/Table\";\r\nimport {\r\n companiesSelector,\r\n getReports,\r\n} from \"../../redux/slices/companiesSlice\";\r\nimport styled from \"@emotion/styled\";\r\nimport DatePicker from \"../ui/reports/DatePicker\";\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-grow: 1;\r\n`;\r\n\r\nconst Reports = () => {\r\n const { reports } = useSelector(companiesSelector);\r\n\r\n //const rows = [\"RevenueCenterId\", \"MealPeriod\", \"PaymentName\",\"itemizer_name\"];\r\n const rows = [\"creationDate\",\"Date\",\"CheckNumber\",\"Status\",\"RevenueCenterId\", \"MealPeriod\",\"Amount\",\"Tips\",\"TotalAmount\"];\r\n const cols = [\"PaymentName\"]\r\n const aggregatorName = [\"Sum\"];\r\n const vals = ['TotalAmount'];\r\n const rendererName = 'Table';\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Reports;\r\n","import { useSelector } from \"react-redux\";\r\nimport Table from \"../ui/reports/Table\";\r\nimport { companiesSelector, getLogs } from \"../../redux/slices/companiesSlice\";\r\nimport styled from \"@emotion/styled\";\r\nimport DatePicker from \"../ui/reports/DatePicker\";\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-grow: 1;\r\n`;\r\n\r\nconst Log = () => {\r\n const { logs } = useSelector(companiesSelector);\r\n\r\n const rows = [\"time\", \"receipt_id\", \"posting_status\", \"error_description\"];\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Log;\r\n","import styled from \"@emotion/styled\";\r\nimport { Route } from \"react-router-dom\";\r\n\r\nimport CategoryBar from \"../components/CategoryBar\";\r\n\r\n// Tables\r\nimport ReveneuCentar from \"../components/tables/ReveneuCentar\";\r\nimport Itemizer from \"../components/tables/Itemizer\";\r\nimport Category from \"../components/tables/Category\";\r\nimport Payments from \"../components/tables/Payments\";\r\nimport Tax from \"../components/tables/Tax\";\r\nimport Other from \"../components/tables/Other\";\r\nimport Reports from \"../components/tables/Reports\";\r\nimport Log from \"../components/tables/Log\";\r\n\r\nconst Wrapper = styled.div`\r\n padding: 16px;\r\n padding-top: 0;\r\n\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\n\r\nconst tablesDict = {\r\n \"/details\": ,\r\n \"/details/itemizers\": ,\r\n \"/details/category\": ,\r\n \"/details/payments\": ,\r\n \"/details/tax\": ,\r\n \"/details/other\": ,\r\n \"/details/reports\": ,\r\n \"/details/log\": ,\r\n};\r\n\r\nconst tableKeys = Object.keys(tablesDict);\r\n\r\nconst Details = () => {\r\n return (\r\n \r\n \r\n {tableKeys.map((i) => (\r\n \r\n {tablesDict[i]}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Details;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"\n});\n\nfunction SvgLocation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 36,\n width: 36,\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocation);\nexport default __webpack_public_path__ + \"static/media/location.ae072a55.svg\";\nexport { ForwardRef as ReactComponent };","import styled from \"@emotion/styled\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { ReactComponent as Location } from \"../../assets/location.svg\";\r\nimport {\r\n setCurrentId,\r\n getFloors,\r\n getItemizers,\r\n getCategory,\r\n getPayments,\r\n getCategories,\r\n getCompanies,\r\n} from \"../../redux/slices/companiesSlice\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nconst LocationStyle = styled.div`\r\n background: ${({ bg }) => bg};\r\n color: white;\r\n padding: 16px;\r\n height: 120px;\r\n width: 120px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: space-evenly;\r\n font-size: 12px;\r\n border-radius: 6px;\r\n margin-right: 16px;\r\n margin-bottom: 16px;\r\n cursor: pointer;\r\n text-align: center;\r\n`;\r\n\r\nconst LocationBarButton = ({ item, current }) => {\r\n const dispatch = useDispatch();\r\n const { pathname } = useLocation();\r\n\r\n const bg = current ? \"#5187e0\" : \"#232a3b\";\r\n\r\n const fnDict = {\r\n \"/\": getCompanies,\r\n \"/details\": getFloors,\r\n \"/details/itemizers\": getItemizers,\r\n \"/details/category\": getCategories,\r\n \"/details/payments\": getPayments,\r\n };\r\n\r\n return (\r\n {\r\n dispatch(setCurrentId(item.company_id));\r\n if (pathname in fnDict) {\r\n dispatch(fnDict[pathname]());\r\n }\r\n }}\r\n >\r\n \r\n

{item.company_name}

\r\n \r\n );\r\n};\r\n\r\nexport default LocationBarButton;\r\n","import styled from \"@emotion/styled\";\r\nimport { Card } from \"@lightspeed/flame/Card\";\r\nimport { Button } from \"@lightspeed/flame/Button\";\r\nimport Input from \"../ui/Input\";\r\nimport { useState } from \"react\";\r\n\r\nimport spinner from \"../../assets/spinner.gif\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport {\r\n setAlert,\r\n setLocationQuery,\r\n uiSelector,\r\n} from \"../../redux/slices/uiSlice\";\r\nimport { syncCompany } from \"../../redux/slices/companiesSlice\";\r\n\r\nconst SearchStyle = styled.div``;\r\nconst InputWrapper = styled.div`\r\n width: 300px;\r\n padding: 8px;\r\n display: flex;\r\n justify-content: space-between;\r\n width: 100%;\r\n`;\r\n\r\nconst Img = styled.img`\r\n height: 24px;\r\n width: auto;\r\n`;\r\n\r\nconst SearchBar = () => {\r\n const [value, valueSet] = useState(\"\");\r\n const [loading, loadingSet] = useState(false);\r\n const dispatch = useDispatch();\r\n const { locationQuery } = useSelector(uiSelector);\r\n\r\n const handleClick = () => {\r\n loadingSet(true);\r\n\r\n dispatch(syncCompany()).then((res) => handleRes(res));\r\n\r\n const handleRes = (res) => {\r\n const result = res.payload[0];\r\n if (result.errorCode === \"1000\") {\r\n loadingSet(false);\r\n dispatch(\r\n setAlert({\r\n type: \"danger\",\r\n title: \"Sync Failed\",\r\n text: \"Sync was not 100% successful\",\r\n })\r\n );\r\n }\r\n if (result.sucess === \"1\") {\r\n loadingSet(false);\r\n dispatch(\r\n setAlert({\r\n type: \"success\",\r\n title: \"Sync Successful\",\r\n text: \"Sync was done successfuly!\",\r\n })\r\n );\r\n }\r\n };\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n dispatch(setLocationQuery(e))}\r\n placeholder=\"Search locations...\"\r\n />\r\n \r\n {loading ? \"loader\" : \"Sync Company\"}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SearchBar;\r\n","import styled from \"@emotion/styled\";\r\n\r\nimport { useSelector } from \"react-redux\";\r\nimport {\r\n companiesSelector,\r\n currentSelector,\r\n} from \"../redux/slices/companiesSlice\";\r\nimport { uiSelector } from \"../redux/slices/uiSlice\";\r\n\r\nimport LocationBarButton from \"./ui/LocationBarButton\";\r\nimport SearchBar from \"./ui/SearchBar\";\r\n\r\nconst Wrapper = styled.div``;\r\n\r\nconst LocationWrapper = styled.div`\r\n display: flex;\r\n padding: 16px;\r\n flex-wrap: wrap;\r\n max-height: 168px;\r\n overflow-y: auto;\r\n`;\r\n\r\nconst LocationBar = () => {\r\n const { companiesList } = useSelector(companiesSelector);\r\n const { currentId } = useSelector(currentSelector);\r\n const { locationQuery } = useSelector(uiSelector);\r\n\r\n const filteredLocations = companiesList.filter((i) =>\r\n i.company_name.toLowerCase().includes(locationQuery.toLowerCase())\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {filteredLocations.map((i) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default LocationBar;\r\n","export default __webpack_public_path__ + \"static/media/user.6d36937a.svg\";","import styled from \"@emotion/styled\";\r\n\r\nimport user from \"../../assets/user.svg\";\r\nimport { Button } from \"@lightspeed/flame/Button\";\r\nimport { Badge } from \"@lightspeed/flame/Badge\";\r\n\r\nconst LogOutWrapper = styled.div`\r\n background: #555;\r\n margin: 24px;\r\n border-radius: 4px;\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 8px;\r\n`;\r\n\r\nconst UserWrapper = styled.div`\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 50%;\r\n padding: 4px;\r\n background: rgb(219, 219, 219);\r\n background: linear-gradient(\r\n 0deg,\r\n rgba(219, 219, 219, 1) 0%,\r\n rgba(255, 255, 255, 1) 62%\r\n );\r\n`;\r\n\r\nconst SidebarLogout = () => {\r\n return (\r\n \r\n \r\n \"user\"\r\n \r\n window.location.reload()}\r\n >\r\n Logout\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SidebarLogout;\r\n","import styled from \"@emotion/styled\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { toggleTheme } from \"../../redux/slices/uiSlice\";\r\n\r\nconst Wrapper = styled.div`\r\n padding: 24px;\r\n margin: 8px 24px;\r\n text-align: center;\r\n color: #bbb;\r\n font-size: 0.9rem;\r\n font-weight: 600;\r\n opacity: 0.5;\r\n cursor: pointer;\r\n transition: opacity 0.1s;\r\n\r\n &:hover {\r\n opacity: 0.8;\r\n }\r\n\r\n &:active {\r\n opacity: 1;\r\n }\r\n\r\n -moz-user-select: none;\r\n -khtml-user-select: none;\r\n -webkit-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n`;\r\n\r\nconst SidebarDarkmode = () => {\r\n const dispatch = useDispatch();\r\n return dispatch(toggleTheme())}>Dark Mode;\r\n};\r\n\r\nexport default SidebarDarkmode;\r\n","import styled from \"@emotion/styled\";\r\n\r\nimport { useLocation, Link } from \"react-router-dom\";\r\n\r\nconst Wrapper = styled(Link)`\r\n display: flex;\r\n align-items: center;\r\n color: white;\r\n padding: 12px;\r\n cursor: pointer;\r\n background: ${({ bg }) => bg};\r\n\r\n .icon {\r\n height: 28px;\r\n width: auto;\r\n margin-right: 8px;\r\n }\r\n`;\r\n\r\nconst SidebarItem = ({ item: { url, svg, label } }) => {\r\n const { pathname } = useLocation();\r\n let currentItemBg = \"#232a3b\";\r\n if (url === \"/\") {\r\n currentItemBg = pathname === url ? \"#5187e0\" : \"#232a3b\";\r\n } else {\r\n currentItemBg = pathname.includes(url) ? \"#5187e0\" : \"#232a3b\";\r\n }\r\n\r\n return (\r\n \r\n \"icon\"\r\n

{label}

\r\n
\r\n );\r\n};\r\n\r\nexport default SidebarItem;\r\n","export default __webpack_public_path__ + \"static/media/chart.c4e93d48.svg\";","export default __webpack_public_path__ + \"static/media/clipboard.37491caa.svg\";","import styled from \"@emotion/styled\";\r\nimport SidebarItem from \"./SidebarItem\";\r\n\r\nimport dash from \"../../assets/chart.svg\";\r\nimport details from \"../../assets/clipboard.svg\";\r\n\r\nconst Wrapper = styled.div`\r\n flex-grow: 1;\r\n\r\n margin-top: 48px;\r\n`;\r\n\r\nconst sideData = [\r\n {\r\n id: 234,\r\n label: \"Dashboard\",\r\n url: \"/\",\r\n svg: dash,\r\n },\r\n {\r\n id: 734,\r\n label: \"Details\",\r\n url: \"/details\",\r\n svg: details,\r\n },\r\n];\r\n\r\nconst SidebarList = () => {\r\n return (\r\n \r\n {sideData.map((i) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default SidebarList;\r\n","export default __webpack_public_path__ + \"static/media/dots.9c7c988c.svg\";","import dots from \"../../assets/dots.svg\";\r\nimport styled from \"@emotion/styled\";\r\n\r\nconst ButtonStyle = styled.div`\r\n background: #282828;\r\n width: 14px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n height: 100vh;\r\n\r\n img {\r\n margin: 0;\r\n height: 24px;\r\n width: auto;\r\n }\r\n`;\r\n\r\nconst ToggleButton = ({ onClick }) => {\r\n return (\r\n \r\n \"dots\"\r\n \r\n );\r\n};\r\n\r\nexport default ToggleButton;\r\n","export default __webpack_public_path__ + \"static/media/sidebar-logo.8044b97a.png\";","import { useState } from \"react\";\r\nimport styled from \"@emotion/styled\";\r\n\r\nimport SidebarLogout from \"./sidebar/SidebarLogout\";\r\nimport SidebarDarkmode from \"./sidebar/SidebarDarkmode\";\r\nimport SidebarList from \"./sidebar/SidebarList\";\r\nimport ToggleButton from \"./sidebar/ToggleButton\";\r\n\r\nimport logo from \"../assets/sidebar-logo.png\";\r\n\r\nconst SidebarInner = styled.div`\r\n height: 100vh;\r\n background: #232a3b;\r\n min-width: 280px;\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\n\r\nconst LogoWrapper = styled.div`\r\n display: flex;\r\n padding: 32px 0;\r\n justify-content: center;\r\n\r\n & > img {\r\n height: auto;\r\n width: 220px;\r\n }\r\n`;\r\n\r\nconst Sidebar = () => {\r\n const [show, showSet] = useState(true);\r\n\r\n return (\r\n <>\r\n {show && (\r\n \r\n \r\n \"datastems\"\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n showSet((old) => !old)} />\r\n \r\n );\r\n};\r\n\r\nexport default Sidebar;\r\n","import styled from \"@emotion/styled\";\r\nimport spinner from \"../assets/spinner.gif\";\r\n\r\nconst LoaderWrapper = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n`;\r\n\r\nconst Loader = () => {\r\n return (\r\n \r\n
\r\n \"loader\"\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Loader;\r\n","import styled from \"@emotion/styled\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport {\r\n companiesSelector,\r\n getCompanies,\r\n getFloors,\r\n setCurrentId,\r\n} from \"../redux/slices/companiesSlice\";\r\n\r\nimport Home from \"./home\";\r\nimport Details from \"./details\";\r\n\r\nimport LocationBar from \"../components/LocationBar\";\r\nimport Sidebar from \"../components/Sidebar\";\r\nimport Loader from \"../components/Loader\";\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst MainWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n`;\r\n\r\nconst Layout = () => {\r\n const dispatch = useDispatch();\r\n const { loading, companiesList } = useSelector(companiesSelector);\r\n\r\n useEffect(() => {\r\n const asyncGetCompanies = async () => {\r\n const companiesPayload = await dispatch(getCompanies());\r\n dispatch(setCurrentId(companiesPayload.payload[0].company_id));\r\n dispatch(getFloors());\r\n };\r\n\r\n asyncGetCompanies();\r\n }, []);\r\n\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (!companiesList.length) {\r\n \r\n \r\n

No Companies

\r\n
;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {}\r\n {}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Layout;\r\n","import { Dialog } from \"@lightspeed/flame/Dialog\";\r\n\r\nconst Remove = ({ isOpen, hide }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Remove;\r\n","import Remove from \"./Remove\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { setPopup, uiSelector } from \"../redux/slices/uiSlice\";\r\n\r\nconst Popup = () => {\r\n const dispatch = useDispatch();\r\n const { popup } = useSelector(uiSelector);\r\n\r\n const hide = () => dispatch(setPopup({ id: \"\", type: \"\" }));\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Popup;\r\n","import { Alert } from \"@lightspeed/flame/Alert\";\r\nimport styled from \"@emotion/styled\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { uiSelector, setAlert } from \"../redux/slices/uiSlice\";\r\n\r\nconst Wrapper = styled.div`\r\n position: absolute;\r\n top: 16px;\r\n left: 50%;\r\n z-index: 1000;\r\n`;\r\n\r\nconst Notification = () => {\r\n const dispatch = useDispatch();\r\n const {\r\n alert: { type, title, text },\r\n } = useSelector(uiSelector);\r\n\r\n const handleClose = () => {\r\n dispatch(setAlert({ type: \"\", title: \"\", text: \"\" }));\r\n };\r\n\r\n return (\r\n \r\n \r\n {text}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Notification;\r\n","import { BrowserRouter, Route, Switch, Redirect } from \"react-router-dom\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { FlameTheme, FlameGlobalStyles } from \"@lightspeed/flame/Core\";\r\nimport { useEffect } from \"react\";\r\n\r\n// Pages\r\nimport Recover from \"./pages/recover\";\r\nimport Login from \"./pages/login\";\r\nimport Layout from \"./pages/layout\";\r\n\r\nimport Popup from \"./popup/Popup\";\r\nimport Notification from \"./popup/Notification\";\r\n\r\nimport { authSelector } from \"./redux/slices/authSlice\";\r\nimport { uiSelector, setTheme } from \"./redux/slices/uiSlice\";\r\n\r\nconst App = () => {\r\n const { token } = useSelector(authSelector);\r\n const { alert, theme } = useSelector(uiSelector);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n const storage = JSON.parse(localStorage.getItem(\"theme\"));\r\n if (storage) {\r\n dispatch(setTheme(storage));\r\n }\r\n }, [dispatch]);\r\n\r\n let componentsList = token ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n {alert.type !== \"\" && }\r\n \r\n {componentsList}\r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import { configureStore } from \"@reduxjs/toolkit\";\r\nimport authSlice from \"./slices/authSlice\";\r\nimport uiSlice from \"./slices/uiSlice\";\r\nimport companiesSlice from \"./slices/companiesSlice\";\r\n\r\nexport const store = configureStore({\r\n reducer: {\r\n auth: authSlice,\r\n ui: uiSlice,\r\n companies: companiesSlice,\r\n },\r\n});\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport App from \"./App\";\r\nimport \"./index.css\";\r\nimport \"./darkmode.css\";\r\n\r\nimport { store } from \"./redux/store\";\r\n\r\n//redux\r\nimport { Provider } from \"react-redux\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n\r\n document.getElementById(\"root\")\r\n);\r\n"],"sourceRoot":""}