@campxdev/shared 0.6.19 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/.eslintignore +3 -3
  2. package/.eslintrc.js +33 -33
  3. package/.prettierrc +10 -10
  4. package/antd.customize.less +73 -73
  5. package/exports.ts +16 -16
  6. package/package.json +94 -93
  7. package/publish.sh +1 -1
  8. package/src/assets/fonts/avenir/index.ts +2 -2
  9. package/src/assets/fonts/poppins/index.ts +7 -7
  10. package/src/assets/images/index.ts +17 -17
  11. package/src/assets/images/unauth.svg +92 -92
  12. package/src/components/ActionButton.tsx +28 -28
  13. package/src/components/Attachment.tsx +26 -26
  14. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
  15. package/src/components/AutocompleteSearch/index.tsx +1 -1
  16. package/src/components/Breadcrumbs.tsx +72 -72
  17. package/src/components/Card.tsx +98 -98
  18. package/src/components/CardsGrid.tsx +28 -28
  19. package/src/components/ChangePassword.tsx +164 -164
  20. package/src/components/Chips.tsx +81 -81
  21. package/src/components/Detail.tsx +15 -15
  22. package/src/components/DetailsGrid.tsx +52 -52
  23. package/src/components/DividerHeading.tsx +41 -41
  24. package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -63
  25. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  26. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  27. package/src/components/DropDownButton.tsx +194 -194
  28. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  29. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  30. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  31. package/src/components/ErrorBoundary/index.tsx +1 -1
  32. package/src/components/ErrorBox.tsx +42 -42
  33. package/src/components/FloatingContainer.tsx +33 -33
  34. package/src/components/Form/Form.tsx +156 -156
  35. package/src/components/Form/RenderForm.tsx +188 -188
  36. package/src/components/FullCalendar/Actions.tsx +162 -162
  37. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  38. package/src/components/FullScreenLoader.tsx +19 -19
  39. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  40. package/src/components/HookForm/DatePicker.tsx +65 -65
  41. package/src/components/HookForm/DateTimePicker.tsx +70 -70
  42. package/src/components/HookForm/FormLabel.tsx +14 -14
  43. package/src/components/HookForm/MultiCheckbox.tsx +82 -82
  44. package/src/components/HookForm/MultiSelect.tsx +100 -100
  45. package/src/components/HookForm/RadioGroup.tsx +106 -106
  46. package/src/components/HookForm/SingleCheckbox.tsx +46 -46
  47. package/src/components/HookForm/SingleSelect.tsx +94 -93
  48. package/src/components/HookForm/TextField.tsx +74 -74
  49. package/src/components/HookForm/TimePicker.tsx +82 -82
  50. package/src/components/HookForm/index.ts +23 -23
  51. package/src/components/IconButtons/IconButtons.tsx +137 -137
  52. package/src/components/IconButtons/Icons.tsx +268 -268
  53. package/src/components/IconButtons/assets/edit.svg +4 -4
  54. package/src/components/IconButtons/assets/eye.svg +6 -6
  55. package/src/components/IconButtons/assets/trash.svg +7 -7
  56. package/src/components/IconButtons/index.tsx +8 -8
  57. package/src/components/IconLabel.tsx +37 -37
  58. package/src/components/Image/Image.tsx +43 -43
  59. package/src/components/Image/index.tsx +1 -1
  60. package/src/components/ImageUpload.tsx +98 -98
  61. package/src/components/Input/AutoCompleteSearch.tsx +113 -113
  62. package/src/components/Input/DatePicker.tsx +60 -60
  63. package/src/components/Input/DateRangePicker.tsx +131 -131
  64. package/src/components/Input/DateTimePicker.tsx +70 -70
  65. package/src/components/Input/FormLabel.tsx +14 -14
  66. package/src/components/Input/MultiCheckbox.tsx +79 -79
  67. package/src/components/Input/MultiSelect.tsx +52 -52
  68. package/src/components/Input/RadioGroup.tsx +61 -61
  69. package/src/components/Input/SingleCheckbox.tsx +23 -23
  70. package/src/components/Input/SingleSelect.tsx +126 -124
  71. package/src/components/Input/TextField.tsx +50 -50
  72. package/src/components/Input/TimePicker.tsx +82 -82
  73. package/src/components/Input/index.ts +26 -26
  74. package/src/components/JsonPreview/JsonPreview.tsx +7 -7
  75. package/src/components/JsonPreview/index.tsx +1 -1
  76. package/src/components/LabelValue/LabelValue.tsx +21 -21
  77. package/src/components/LabelValue/index.tsx +1 -1
  78. package/src/components/Layout/ChangePassword.tsx +49 -49
  79. package/src/components/Layout/Header/AppHeader.tsx +124 -124
  80. package/src/components/Layout/Header/AppsMenu.tsx +92 -92
  81. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  82. package/src/components/Layout/Header/HelpWidget/HelpWidget.tsx +298 -0
  83. package/src/components/Layout/Header/HelpWidget/styles.tsx +92 -0
  84. package/src/components/Layout/Header/Notification.tsx +13 -13
  85. package/src/components/Layout/Header/UserBox.tsx +90 -70
  86. package/src/components/Layout/Header/applications.ts +90 -90
  87. package/src/components/Layout/Header/assets/background.png +0 -0
  88. package/src/components/Layout/Header/assets/campx.png +0 -0
  89. package/src/components/Layout/Header/assets/{newAssets/campx_square_small.svg → campx_square_small.svg} +9 -9
  90. package/src/components/Layout/Header/assets/{newAssets/commutex.png → commuteX.png} +0 -0
  91. package/src/components/Layout/Header/assets/commutex.png +0 -0
  92. package/src/components/Layout/Header/assets/{newAssets/commutex.svg → commutex.svg} +14 -14
  93. package/src/components/Layout/Header/assets/{newAssets/commutexSmall.svg → commutexSmall.svg} +11 -11
  94. package/src/components/Layout/Header/assets/contactBg.png +0 -0
  95. package/src/components/Layout/Header/assets/{newAssets/enroll.svg → enroll.svg} +14 -14
  96. package/src/components/Layout/Header/assets/{newAssets/enrollx.svg → enrollx.svg} +14 -14
  97. package/src/components/Layout/Header/assets/{newAssets/entrollx.png → entrollx.png} +0 -0
  98. package/src/components/Layout/Header/assets/{newAssets/exams_small.svg → exams_small.svg} +12 -12
  99. package/src/components/Layout/Header/assets/{newAssets/examsx.svg → examsx.svg} +14 -14
  100. package/src/components/Layout/Header/assets/examx.png +0 -0
  101. package/src/components/Layout/Header/assets/{newAssets/hostel_small.svg → hostel_small.svg} +13 -13
  102. package/src/components/Layout/Header/assets/hostelx.png +0 -0
  103. package/src/components/Layout/Header/assets/{newAssets/hostelx.svg → hostelx.svg} +13 -13
  104. package/src/components/Layout/Header/assets/index.ts +33 -29
  105. package/src/components/Layout/Header/assets/{newAssets/libraryx.svg → libraryx.svg} +12 -12
  106. package/src/components/Layout/Header/assets/{newAssets/libreryx.png → libreryx.png} +0 -0
  107. package/src/components/Layout/Header/assets/{newAssets/pay_small.svg → pay_small.svg} +16 -16
  108. package/src/components/Layout/Header/assets/payx.png +0 -0
  109. package/src/components/Layout/Header/assets/{newAssets/payx.svg → payx.svg} +19 -19
  110. package/src/components/Layout/Header/assets/{newAssets/people_small.svg → people_small.svg} +9 -9
  111. package/src/components/Layout/Header/assets/{newAssets/peoplex.svg → peoplex.svg} +12 -12
  112. package/src/components/Layout/Header/assets/{newAssets/pepolex.png → pepolex.png} +0 -0
  113. package/src/components/Layout/Header/assets/{newAssets/squarex.svg → squarex.svg} +12 -12
  114. package/src/components/Layout/Header/icons.tsx +57 -57
  115. package/src/components/Layout/Header/index.tsx +1 -1
  116. package/src/components/Layout/Header/styles.tsx +98 -98
  117. package/src/components/Layout/Tickets/MyTickets.tsx +74 -0
  118. package/src/components/Layout/Tickets/Services.tsx +6 -0
  119. package/src/components/Layout/Tickets/TicketDetails.tsx +66 -0
  120. package/src/components/Layout/Tickets/TimeLine.tsx +64 -0
  121. package/src/components/Layout/Tickets/index.tsx +1 -0
  122. package/src/components/Layout/Tickets/styles.tsx +136 -0
  123. package/src/components/LayoutWrapper.tsx +25 -25
  124. package/src/components/LinearProgress.tsx +19 -19
  125. package/src/components/ListItemButton.tsx +95 -94
  126. package/src/components/LoginForm.tsx +103 -103
  127. package/src/components/MediaRow/MediaRow.tsx +69 -69
  128. package/src/components/MediaRow/index.tsx +1 -1
  129. package/src/components/MenuButton.tsx +103 -103
  130. package/src/components/ModalButtons/DialogButton.tsx +88 -88
  131. package/src/components/ModalButtons/DrawerButton.tsx +89 -89
  132. package/src/components/ModalButtons/index.tsx +4 -4
  133. package/src/components/NoDataIllustration/NoDataIllustration.tsx +32 -32
  134. package/src/components/NoDataIllustration/index.tsx +1 -1
  135. package/src/components/PageContent.tsx +17 -17
  136. package/src/components/PageHeader.tsx +52 -52
  137. package/src/components/PageNotFound.tsx +26 -26
  138. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  139. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  140. package/src/components/PopupConfirm/index.tsx +1 -1
  141. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  142. package/src/components/Router.tsx +7 -7
  143. package/src/components/Row/Row.tsx +24 -24
  144. package/src/components/Row/index.tsx +1 -1
  145. package/src/components/SearchBar/SearchBar.tsx +53 -53
  146. package/src/components/SearchBar/index.tsx +1 -1
  147. package/src/components/SideMenuHeader.tsx +29 -29
  148. package/src/components/SideNav.tsx +168 -168
  149. package/src/components/Spinner.tsx +18 -18
  150. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  151. package/src/components/StepsHeader/index.tsx +1 -1
  152. package/src/components/StyledTableContainer.tsx +33 -33
  153. package/src/components/SwitchButton/SwitchButton.tsx +41 -41
  154. package/src/components/SwitchButton/index.tsx +1 -1
  155. package/src/components/Table.tsx +42 -42
  156. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  157. package/src/components/TableComponent/Icons/index.tsx +50 -50
  158. package/src/components/TableComponent/ReactTable.tsx +293 -293
  159. package/src/components/TableComponent/RenderTableBody.tsx +64 -64
  160. package/src/components/TableComponent/TableFooter/TableFooter.tsx +102 -102
  161. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  162. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  163. package/src/components/TableComponent/index.tsx +226 -226
  164. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  165. package/src/components/TableComponent/styles.tsx +173 -173
  166. package/src/components/TableComponent/types.ts +57 -57
  167. package/src/components/Tabs/Tabs.tsx +52 -52
  168. package/src/components/Tabs/TabsContainer.tsx +50 -50
  169. package/src/components/Tabs/index.tsx +1 -1
  170. package/src/components/Tabs/styles.tsx +55 -55
  171. package/src/components/ToastContainer/ToastContainer.tsx +42 -42
  172. package/src/components/ToastContainer/index.tsx +1 -1
  173. package/src/components/UploadButton/UploadButton.tsx +126 -126
  174. package/src/components/UploadButton/index.tsx +1 -1
  175. package/src/components/UploadButton/types.ts +19 -19
  176. package/src/components/UploadDocument/UploadDocument.tsx +108 -108
  177. package/src/components/UploadDocument/index.tsx +1 -1
  178. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  179. package/src/components/UploadFileDialog/index.tsx +1 -1
  180. package/src/components/index.ts +86 -86
  181. package/src/config/axios.ts +74 -74
  182. package/src/config/axiosXTenant.ts +57 -57
  183. package/src/constants/UIConstants.ts +97 -97
  184. package/src/constants/formValidations.ts +6 -6
  185. package/src/constants/index.ts +5 -5
  186. package/src/constants/isDevelopment.ts +3 -3
  187. package/src/constants/permissions.ts +67 -67
  188. package/src/constants/validateMessages.ts +12 -12
  189. package/src/contexts/LoginFormProvider.tsx +39 -39
  190. package/src/contexts/Providers.tsx +59 -59
  191. package/src/contexts/QueryClientProvider.tsx +22 -22
  192. package/src/hooks/index.ts +3 -3
  193. package/src/hooks/useAppInit.ts +33 -33
  194. package/src/hooks/useAuth.ts +92 -91
  195. package/src/hooks/useFetch.ts +53 -53
  196. package/src/hooks/useRouter.ts +31 -31
  197. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  198. package/src/layouts/Components/icons/index.tsx +403 -403
  199. package/src/layouts/Components/styles.tsx +60 -60
  200. package/src/layouts/ComponentsLayout.tsx +3 -3
  201. package/src/permissions/PageWithPermission.tsx +18 -18
  202. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  203. package/src/permissions/PermissionsStore.ts +352 -352
  204. package/src/permissions/ValidateAccess.tsx +18 -18
  205. package/src/permissions/index.ts +3 -3
  206. package/src/react-app-env.d.ts +1 -1
  207. package/src/shared-state/AssetsStore.ts +15 -15
  208. package/src/shared-state/UserStore.ts +13 -13
  209. package/src/shared-state/index.ts +3 -3
  210. package/src/theme/App.less +3 -3
  211. package/src/theme/MuiThemeProvider.tsx +13 -13
  212. package/src/theme/customCssBaseline.ts +78 -78
  213. package/src/theme/index.css +75 -75
  214. package/src/theme/muiTheme.ts +490 -490
  215. package/src/theme/theme.d.ts +75 -75
  216. package/src/utils/alphabet.ts +23 -23
  217. package/src/utils/arrayPadEnd.ts +3 -3
  218. package/src/utils/formatCurrency.ts +9 -9
  219. package/src/utils/getUrlParams.ts +5 -5
  220. package/src/utils/index.ts +8 -8
  221. package/src/utils/logout.ts +24 -24
  222. package/src/utils/ordinalSuffixOf.ts +14 -14
  223. package/src/utils/romanize.ts +40 -40
  224. package/src/utils/withLocalization.tsx +11 -11
  225. package/src/utils/withRouteWrapper.tsx +25 -25
  226. package/src/utils/withSuspense.tsx +6 -6
  227. package/styled-components.tsx +60 -60
  228. package/todo.md +20 -20
  229. package/tsconfig.json +21 -21
  230. package/src/components/Layout/Header/FreshDeskHelpButton.tsx +0 -19
  231. package/src/components/Layout/Header/assets/campx.svg +0 -29
  232. package/src/components/Layout/Header/assets/collegex.png +0 -0
  233. package/src/components/Layout/Header/assets/enrollx.png +0 -0
  234. package/src/components/Layout/Header/assets/newAssets/campx.png +0 -0
  235. package/src/components/Layout/Header/assets/newAssets/examx.png +0 -0
  236. package/src/components/Layout/Header/assets/newAssets/hostelx.png +0 -0
  237. package/src/components/Layout/Header/assets/newAssets/payx.png +0 -0
  238. package/src/components/Layout/Header/assets/newexamx.png +0 -0
  239. package/src/components/Layout/Header/assets/newpayx.png +0 -0
  240. package/src/components/Layout/Header/assets/payxHeader.svg +0 -21
  241. package/src/components/Layout/Header/assets/peoplex.png +0 -0
  242. package/src/components/Layout/Header/assets/peoplexHeader.svg +0 -14
@@ -1,39 +1,39 @@
1
- import { createContext, useContext } from 'react'
2
- import { LoginForm } from '../components'
3
- import { useModal } from '../components/DrawerWrapper/DrawerWrapper'
4
-
5
- const LoginContext = createContext<{
6
- openLoginForm: () => void
7
- }>({
8
- openLoginForm: () => {},
9
- })
10
-
11
- export default function LoginFormProvider({ children }) {
12
- const modal = useModal()
13
-
14
- const onLogin = () => {
15
- modal({
16
- title: 'Developer Login',
17
- content({ close }) {
18
- return <LoginForm />
19
- },
20
- })
21
- }
22
-
23
- return (
24
- <LoginContext.Provider
25
- value={{
26
- openLoginForm: onLogin,
27
- }}
28
- >
29
- {children}
30
- </LoginContext.Provider>
31
- )
32
- }
33
-
34
- export const useLoginForm = () => {
35
- const context = useContext(LoginContext)
36
- return {
37
- openLoginForm: context.openLoginForm,
38
- }
39
- }
1
+ import { createContext, useContext } from 'react'
2
+ import { LoginForm } from '../components'
3
+ import { useModal } from '../components/DrawerWrapper/DrawerWrapper'
4
+
5
+ const LoginContext = createContext<{
6
+ openLoginForm: () => void
7
+ }>({
8
+ openLoginForm: () => {},
9
+ })
10
+
11
+ export default function LoginFormProvider({ children }) {
12
+ const modal = useModal()
13
+
14
+ const onLogin = () => {
15
+ modal({
16
+ title: 'Developer Login',
17
+ content({ close }) {
18
+ return <LoginForm />
19
+ },
20
+ })
21
+ }
22
+
23
+ return (
24
+ <LoginContext.Provider
25
+ value={{
26
+ openLoginForm: onLogin,
27
+ }}
28
+ >
29
+ {children}
30
+ </LoginContext.Provider>
31
+ )
32
+ }
33
+
34
+ export const useLoginForm = () => {
35
+ const context = useContext(LoginContext)
36
+ return {
37
+ openLoginForm: context.openLoginForm,
38
+ }
39
+ }
@@ -1,59 +1,59 @@
1
- import MuiThemeProvider from '../theme/MuiThemeProvider'
2
- import ConfirmContextProvider from '../components/PopupConfirm/ConfirmContextProvider'
3
- import { CssBaseline } from '@mui/material'
4
- import { BrowserRouter } from 'react-router-dom'
5
- import QueryClientProvider from './QueryClientProvider'
6
-
7
- import DialogProvider from '../components/DrawerWrapper/DrawerWrapper'
8
- import { ToastContainer } from '../components'
9
- import LoginFormProvider from './LoginFormProvider'
10
- import { ReactNode } from 'react'
11
- import { isDevelopment } from '../constants'
12
- import useAppInit from '../hooks/useAppInit'
13
- import Cookies from 'js-cookie'
14
-
15
- export const campxTenantKey = Cookies.get('campx_tenant')
16
- export const urlTenantKey = window.location.pathname.split('/')[1]
17
-
18
- export default function Providers({ children }: { children: ReactNode }) {
19
- const { isInvalid } = useAppInit()
20
-
21
- return (
22
- <BrowserRouter basename={isDevelopment ? 'campx_dev' : urlTenantKey}>
23
- <QueryClientProvider>
24
- <MuiThemeProvider>
25
- <ConfirmContextProvider>
26
- <DialogProvider>
27
- <LoginFormProvider>
28
- {isInvalid ? <InvalidClientKey /> : children}
29
- <CssBaseline />
30
- </LoginFormProvider>
31
- <ToastContainer />
32
- </DialogProvider>
33
- </ConfirmContextProvider>
34
- </MuiThemeProvider>
35
- </QueryClientProvider>
36
- </BrowserRouter>
37
- )
38
- }
39
-
40
- const InvalidClientKey = () => {
41
- return (
42
- <div
43
- style={{
44
- height: '95vh',
45
- width: '95vw',
46
- display: 'grid',
47
- placeItems: 'center',
48
- fontFamily: 'sans-serif',
49
- }}
50
- >
51
- <h1>Invalid Tenant Key</h1>
52
- {!isDevelopment && (
53
- <a href="https://id.campx.in">
54
- <p style={{ textDecoration: 'underline' }}>Login to continue</p>
55
- </a>
56
- )}
57
- </div>
58
- )
59
- }
1
+ import MuiThemeProvider from '../theme/MuiThemeProvider'
2
+ import ConfirmContextProvider from '../components/PopupConfirm/ConfirmContextProvider'
3
+ import { CssBaseline } from '@mui/material'
4
+ import { BrowserRouter } from 'react-router-dom'
5
+ import QueryClientProvider from './QueryClientProvider'
6
+
7
+ import DialogProvider from '../components/DrawerWrapper/DrawerWrapper'
8
+ import { ToastContainer } from '../components'
9
+ import LoginFormProvider from './LoginFormProvider'
10
+ import { ReactNode } from 'react'
11
+ import { isDevelopment } from '../constants'
12
+ import useAppInit from '../hooks/useAppInit'
13
+ import Cookies from 'js-cookie'
14
+
15
+ export const campxTenantKey = Cookies.get('campx_tenant')
16
+ export const urlTenantKey = window.location.pathname.split('/')[1]
17
+
18
+ export default function Providers({ children }: { children: ReactNode }) {
19
+ const { isInvalid } = useAppInit()
20
+
21
+ return (
22
+ <BrowserRouter basename={isDevelopment ? 'campx_dev' : urlTenantKey}>
23
+ <QueryClientProvider>
24
+ <MuiThemeProvider>
25
+ <ConfirmContextProvider>
26
+ <DialogProvider>
27
+ <LoginFormProvider>
28
+ {isInvalid ? <InvalidClientKey /> : children}
29
+ <CssBaseline />
30
+ </LoginFormProvider>
31
+ <ToastContainer />
32
+ </DialogProvider>
33
+ </ConfirmContextProvider>
34
+ </MuiThemeProvider>
35
+ </QueryClientProvider>
36
+ </BrowserRouter>
37
+ )
38
+ }
39
+
40
+ const InvalidClientKey = () => {
41
+ return (
42
+ <div
43
+ style={{
44
+ height: '95vh',
45
+ width: '95vw',
46
+ display: 'grid',
47
+ placeItems: 'center',
48
+ fontFamily: 'sans-serif',
49
+ }}
50
+ >
51
+ <h1>Invalid Tenant Key</h1>
52
+ {!isDevelopment && (
53
+ <a href="https://id.campx.in">
54
+ <p style={{ textDecoration: 'underline' }}>Login to continue</p>
55
+ </a>
56
+ )}
57
+ </div>
58
+ )
59
+ }
@@ -1,22 +1,22 @@
1
- import {
2
- QueryClient,
3
- QueryClientProvider as ReactQueryClientProvider,
4
- } from 'react-query'
5
-
6
- export const queryClient = new QueryClient({
7
- defaultOptions: {
8
- queries: {
9
- refetchOnWindowFocus: false,
10
- retry: false,
11
- useErrorBoundary: true,
12
- },
13
- },
14
- })
15
-
16
- export default function QueryClientProvider({ children }) {
17
- return (
18
- <ReactQueryClientProvider client={queryClient}>
19
- {children}
20
- </ReactQueryClientProvider>
21
- )
22
- }
1
+ import {
2
+ QueryClient,
3
+ QueryClientProvider as ReactQueryClientProvider,
4
+ } from 'react-query'
5
+
6
+ export const queryClient = new QueryClient({
7
+ defaultOptions: {
8
+ queries: {
9
+ refetchOnWindowFocus: false,
10
+ retry: false,
11
+ useErrorBoundary: true,
12
+ },
13
+ },
14
+ })
15
+
16
+ export default function QueryClientProvider({ children }) {
17
+ return (
18
+ <ReactQueryClientProvider client={queryClient}>
19
+ {children}
20
+ </ReactQueryClientProvider>
21
+ )
22
+ }
@@ -1,3 +1,3 @@
1
- export { default as useFetch } from './useFetch'
2
- export * from './useRouter'
3
- export { default as useAuth } from './useAuth'
1
+ export { default as useFetch } from './useFetch'
2
+ export * from './useRouter'
3
+ export { default as useAuth } from './useAuth'
@@ -1,33 +1,33 @@
1
- import Cookies from 'js-cookie'
2
- import { useEffect, useState } from 'react'
3
- import { isDevelopment } from '../constants'
4
- import { campxTenantKey } from '../contexts/Providers'
5
-
6
- const urlTenantKey = window.location.pathname.split('/')[1]
7
-
8
- export default function useAppInit() {
9
- const [isInvalid, setIsInvalid] = useState(false)
10
-
11
- useEffect(() => {
12
- if (!isDevelopment) {
13
- if (!urlTenantKey && campxTenantKey) {
14
- return window.location.replace(
15
- window.location.origin + `/${campxTenantKey}`,
16
- )
17
- }
18
-
19
- if (!urlTenantKey) {
20
- setIsInvalid(true)
21
- }
22
- }
23
-
24
- if (window.location.pathname === '/' && isDevelopment) {
25
- Cookies.set('campx_tenant', 'campx_dev')
26
- window.location.href = window.location.origin + '/campx_dev'
27
- }
28
- }, [])
29
-
30
- return {
31
- isInvalid,
32
- }
33
- }
1
+ import Cookies from 'js-cookie'
2
+ import { useEffect, useState } from 'react'
3
+ import { isDevelopment } from '../constants'
4
+ import { campxTenantKey } from '../contexts/Providers'
5
+
6
+ const urlTenantKey = window.location.pathname.split('/')[1]
7
+
8
+ export default function useAppInit() {
9
+ const [isInvalid, setIsInvalid] = useState(false)
10
+
11
+ useEffect(() => {
12
+ if (!isDevelopment) {
13
+ if (!urlTenantKey && campxTenantKey) {
14
+ return window.location.replace(
15
+ window.location.origin + `/${campxTenantKey}`,
16
+ )
17
+ }
18
+
19
+ if (!urlTenantKey) {
20
+ setIsInvalid(true)
21
+ }
22
+ }
23
+
24
+ if (window.location.pathname === '/' && isDevelopment) {
25
+ Cookies.set('campx_tenant', 'campx_dev')
26
+ window.location.href = window.location.origin + '/campx_dev'
27
+ }
28
+ }, [])
29
+
30
+ return {
31
+ isInvalid,
32
+ }
33
+ }
@@ -1,91 +1,92 @@
1
- import { useEffect, useState } from 'react'
2
- import { useQuery } from 'react-query'
3
- import { toast } from 'react-toastify'
4
- import axios from '../config/axios'
5
- import { isDevelopment } from '../constants'
6
- import { useLoginForm } from '../contexts/LoginFormProvider'
7
- import { PermissionsStore } from '../permissions'
8
- import { AssetsStore, UserStore } from '../shared-state'
9
-
10
- const url = window.location.origin
11
-
12
- function useAuth(): {
13
- loading: boolean
14
- data: {
15
- user?: any
16
- roles?: any
17
- username?: any
18
- permissions?: any
19
- assets?: {
20
- logo: string
21
- logo_square: string
22
- }
23
- }
24
- } {
25
- const { openLoginForm } = useLoginForm()
26
- const [loading, setLoading] = useState<boolean>(false)
27
- const [data, setData] = useState(null)
28
- const appInit = async () => {
29
- setLoading(true)
30
-
31
- axios
32
- .get('/auth/my-permissions')
33
- .then((res) => {
34
- console.log(res.data)
35
- setLoading(false)
36
- setData(res.data)
37
- UserStore.update((s) => {
38
- s.username = res.data?.username
39
- s.user = res.data?.user
40
- s.roles = res.data?.roles
41
- })
42
-
43
- PermissionsStore.update((s) => {
44
- s.permissions = {
45
- ...res.data?.permissions,
46
- can_settings_view: 1,
47
- can_dashboard_view: 1,
48
- can_individual_pages_view: 1,
49
- } as any
50
- })
51
- AssetsStore.update((s) => {
52
- s.logo = res.data?.assets.logo
53
- s.logo_square = res.data?.assets.logo_square
54
- })
55
- })
56
- .catch((err) => {
57
- setLoading(false)
58
- if (isDevelopment) {
59
- openLoginForm()
60
- return
61
- } else {
62
- window.location.replace(`https://www.id.campx.in/?redirect_to=${url}`)
63
- }
64
- if (err.response.status !== 401) {
65
- if (err.response.status > 400 && err.response.status < 500) {
66
- window.location.replace(
67
- `https://www.id.campx.in/?redirect_to=${url}`,
68
- )
69
- } else {
70
- toast.error('Server Error')
71
- }
72
- }
73
- })
74
- }
75
-
76
- useEffect(() => {
77
- if (window.location.pathname === '/') {
78
- if (isDevelopment) {
79
- window.location.replace(window.location.origin + '/campx_dev')
80
- }
81
- }
82
- appInit()
83
- }, [])
84
-
85
- return {
86
- loading: loading || !data?.permissions,
87
- data,
88
- }
89
- }
90
-
91
- export default useAuth
1
+ import { useEffect, useState } from 'react'
2
+ import { useQuery } from 'react-query'
3
+ import { toast } from 'react-toastify'
4
+ import axios from '../config/axios'
5
+ import { isDevelopment } from '../constants'
6
+ import { useLoginForm } from '../contexts/LoginFormProvider'
7
+ import { PermissionsStore } from '../permissions'
8
+ import { AssetsStore, UserStore } from '../shared-state'
9
+
10
+ const url = window.location.origin
11
+
12
+ function useAuth(): {
13
+ loading: boolean
14
+ data: {
15
+ user?: any
16
+ roles?: any
17
+ username?: any
18
+ permissions?: any
19
+ assets?: {
20
+ logo: string
21
+ logo_square: string
22
+ }
23
+ }
24
+ } {
25
+ const { openLoginForm } = useLoginForm()
26
+ const [loading, setLoading] = useState<boolean>(false)
27
+ const [data, setData] = useState(null)
28
+ const appInit = async () => {
29
+ setLoading(true)
30
+
31
+ axios
32
+ .get('/auth/my-permissions')
33
+
34
+ .then((res) => {
35
+ console.log(res.data)
36
+ setLoading(false)
37
+ setData(res.data)
38
+ UserStore.update((s) => {
39
+ s.username = res.data?.username
40
+ s.user = res.data?.user
41
+ s.roles = res.data?.roles
42
+ })
43
+
44
+ PermissionsStore.update((s) => {
45
+ s.permissions = {
46
+ ...res.data?.permissions,
47
+ can_settings_view: 1,
48
+ can_dashboard_view: 1,
49
+ can_individual_pages_view: 1,
50
+ } as any
51
+ })
52
+ AssetsStore.update((s) => {
53
+ s.logo = res.data?.assets.logo
54
+ s.logo_square = res.data?.assets.logo_square
55
+ })
56
+ })
57
+ .catch((err) => {
58
+ setLoading(false)
59
+ if (isDevelopment) {
60
+ openLoginForm()
61
+ return
62
+ } else {
63
+ window.location.replace(`https://www.id.campx.in/?redirect_to=${url}`)
64
+ }
65
+ if (err.response.status !== 401) {
66
+ if (err.response.status > 400 && err.response.status < 500) {
67
+ window.location.replace(
68
+ `https://www.id.campx.in/?redirect_to=${url}`,
69
+ )
70
+ } else {
71
+ toast.error('Server Error')
72
+ }
73
+ }
74
+ })
75
+ }
76
+
77
+ useEffect(() => {
78
+ if (window.location.pathname === '/') {
79
+ if (isDevelopment) {
80
+ window.location.replace(window.location.origin + '/campx_dev')
81
+ }
82
+ }
83
+ appInit()
84
+ }, [])
85
+
86
+ return {
87
+ loading: loading || !data?.permissions,
88
+ data,
89
+ }
90
+ }
91
+
92
+ export default useAuth
@@ -1,53 +1,53 @@
1
- import { useEffect, useState } from 'react'
2
- import axios from '../config/axios'
3
-
4
- export function useMockFetch(promiseFn: Function) {
5
- const [data, setData] = useState<any>()
6
- const [error, setError] = useState<any>(null)
7
- const [loading, setLoading] = useState(true)
8
-
9
- useEffect(() => {
10
- setLoading(true)
11
- promiseFn()
12
- .then((res) => {
13
- setData(res.data)
14
- setLoading(false)
15
- })
16
- .catch((err) => {
17
- setLoading(false)
18
- setError(null)
19
- })
20
- }, [])
21
-
22
- return {
23
- data,
24
- loading,
25
- }
26
- }
27
-
28
- export default function useFetch(url: string, skip?: boolean) {
29
- const [data, setData] = useState<any>()
30
- const [error, setError] = useState<any>(null)
31
- const [loading, setLoading] = useState(true)
32
-
33
- useEffect(() => {
34
- if (skip) return
35
- setLoading(true)
36
- axios
37
- .get(url)
38
- .then((res) => {
39
- setData(res.data)
40
- setLoading(false)
41
- })
42
- .catch((err) => {
43
- setError(err)
44
- setLoading(false)
45
- })
46
- }, [])
47
-
48
- return {
49
- data,
50
- loading,
51
- error,
52
- }
53
- }
1
+ import { useEffect, useState } from 'react'
2
+ import axios from '../config/axios'
3
+
4
+ export function useMockFetch(promiseFn: Function) {
5
+ const [data, setData] = useState<any>()
6
+ const [error, setError] = useState<any>(null)
7
+ const [loading, setLoading] = useState(true)
8
+
9
+ useEffect(() => {
10
+ setLoading(true)
11
+ promiseFn()
12
+ .then((res) => {
13
+ setData(res.data)
14
+ setLoading(false)
15
+ })
16
+ .catch((err) => {
17
+ setLoading(false)
18
+ setError(null)
19
+ })
20
+ }, [])
21
+
22
+ return {
23
+ data,
24
+ loading,
25
+ }
26
+ }
27
+
28
+ export default function useFetch(url: string, skip?: boolean) {
29
+ const [data, setData] = useState<any>()
30
+ const [error, setError] = useState<any>(null)
31
+ const [loading, setLoading] = useState(true)
32
+
33
+ useEffect(() => {
34
+ if (skip) return
35
+ setLoading(true)
36
+ axios
37
+ .get(url)
38
+ .then((res) => {
39
+ setData(res.data)
40
+ setLoading(false)
41
+ })
42
+ .catch((err) => {
43
+ setError(err)
44
+ setLoading(false)
45
+ })
46
+ }, [])
47
+
48
+ return {
49
+ data,
50
+ loading,
51
+ error,
52
+ }
53
+ }
@@ -1,31 +1,31 @@
1
- import { useLocation, useMatch, useNavigate, useParams } from 'react-router-dom'
2
-
3
- const useHistory = () => {
4
- const navigate = useNavigate()
5
- const { pathname, search } = useLocation()
6
-
7
- return {
8
- push: navigate,
9
- location: {
10
- pathname: pathname,
11
- search: search,
12
- },
13
- }
14
- }
15
- const useRouteMatch = (path?) => {
16
- const { pathname } = useLocation()
17
- const params = useParams()
18
- const match = useMatch({ path, end: false })
19
- // console.log({
20
- // match,
21
- // params,
22
- // pathname,
23
- // })
24
- return {
25
- params: params,
26
- path: match?.pattern?.path,
27
- url: pathname,
28
- }
29
- }
30
-
31
- export { useHistory, useRouteMatch }
1
+ import { useLocation, useMatch, useNavigate, useParams } from 'react-router-dom'
2
+
3
+ const useHistory = () => {
4
+ const navigate = useNavigate()
5
+ const { pathname, search } = useLocation()
6
+
7
+ return {
8
+ push: navigate,
9
+ location: {
10
+ pathname: pathname,
11
+ search: search,
12
+ },
13
+ }
14
+ }
15
+ const useRouteMatch = (path?) => {
16
+ const { pathname } = useLocation()
17
+ const params = useParams()
18
+ const match = useMatch({ path, end: false })
19
+ // console.log({
20
+ // match,
21
+ // params,
22
+ // pathname,
23
+ // })
24
+ return {
25
+ params: params,
26
+ path: match?.pattern?.path,
27
+ url: pathname,
28
+ }
29
+ }
30
+
31
+ export { useHistory, useRouteMatch }