@campxdev/shared 1.5.8 → 1.6.0

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 (219) hide show
  1. package/antd.customize.less +73 -73
  2. package/exports.ts +18 -18
  3. package/package.json +86 -86
  4. package/src/assets/fonts/avenir/index.ts +13 -13
  5. package/src/assets/fonts/poppins/index.ts +18 -18
  6. package/src/assets/images/index.ts +17 -17
  7. package/src/assets/images/unauth.svg +92 -92
  8. package/src/components/ActionButton.tsx +20 -20
  9. package/src/components/Attachment.tsx +26 -26
  10. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
  11. package/src/components/AutocompleteSearch/index.tsx +1 -1
  12. package/src/components/Breadcrumbs.tsx +72 -72
  13. package/src/components/Card.tsx +98 -98
  14. package/src/components/CardsGrid.tsx +28 -28
  15. package/src/components/ChangePassword.tsx +123 -123
  16. package/src/components/Chips.tsx +81 -81
  17. package/src/components/Detail.tsx +15 -15
  18. package/src/components/DetailsGrid.tsx +52 -52
  19. package/src/components/DividerHeading.tsx +41 -41
  20. package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -67
  21. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  22. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  23. package/src/components/DropDownButton/AnchorElement.tsx +44 -44
  24. package/src/components/DropDownButton/DropDownButton.tsx +184 -184
  25. package/src/components/DropDownButton/DropdownMenuItem.tsx +110 -110
  26. package/src/components/DropDownButton/index.tsx +1 -1
  27. package/src/components/DropDownButton/styles.tsx +59 -59
  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/FilterComponents/FilterButton.tsx +56 -56
  34. package/src/components/FilterComponents/SearchBar.tsx +45 -45
  35. package/src/components/FloatingContainer.tsx +33 -33
  36. package/src/components/Form/Form.tsx +156 -156
  37. package/src/components/Form/RenderForm.tsx +188 -188
  38. package/src/components/FullCalendar/Actions.tsx +162 -162
  39. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  40. package/src/components/FullScreenLoader.tsx +19 -19
  41. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  42. package/src/components/HookForm/DatePicker.tsx +40 -40
  43. package/src/components/HookForm/DateTimePicker.tsx +47 -47
  44. package/src/components/HookForm/FormLabel.tsx +14 -14
  45. package/src/components/HookForm/MultiCheckbox.tsx +69 -69
  46. package/src/components/HookForm/MultiSelect.tsx +53 -53
  47. package/src/components/HookForm/RadioGroup.tsx +45 -45
  48. package/src/components/HookForm/SingleCheckbox.tsx +34 -34
  49. package/src/components/HookForm/SingleSelect.tsx +46 -46
  50. package/src/components/HookForm/TextField.tsx +40 -40
  51. package/src/components/HookForm/TimePicker.tsx +40 -40
  52. package/src/components/HookForm/index.ts +23 -23
  53. package/src/components/IconButtons/IconButtons.tsx +137 -137
  54. package/src/components/IconButtons/Icons.tsx +268 -268
  55. package/src/components/IconButtons/assets/edit.svg +4 -4
  56. package/src/components/IconButtons/assets/eye.svg +6 -6
  57. package/src/components/IconButtons/assets/trash.svg +7 -7
  58. package/src/components/IconButtons/index.tsx +8 -8
  59. package/src/components/IconLabel.tsx +37 -37
  60. package/src/components/Image/Image.tsx +45 -45
  61. package/src/components/Image/index.tsx +1 -1
  62. package/src/components/ImageUpload.tsx +98 -98
  63. package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +216 -216
  64. package/src/components/Input/AsyncSearchSelect/index.tsx +1 -1
  65. package/src/components/Input/AsyncSearchSelect/styles.tsx +105 -105
  66. package/src/components/Input/AutoCompleteSearch.tsx +121 -121
  67. package/src/components/Input/DatePicker.tsx +73 -73
  68. package/src/components/Input/DateRangePicker.tsx +105 -105
  69. package/src/components/Input/DateTimePicker.tsx +81 -81
  70. package/src/components/Input/FormLabel.tsx +21 -21
  71. package/src/components/Input/MultiCheckbox.tsx +64 -64
  72. package/src/components/Input/MultiSelect.tsx +150 -150
  73. package/src/components/Input/RadioGroup.tsx +104 -104
  74. package/src/components/Input/SingleCheckbox.tsx +78 -78
  75. package/src/components/Input/SingleSelect.tsx +104 -104
  76. package/src/components/Input/TextField.tsx +46 -46
  77. package/src/components/Input/TimePicker.tsx +74 -74
  78. package/src/components/Input/index.ts +26 -26
  79. package/src/components/Input/types.ts +3 -3
  80. package/src/components/JsonPreview.tsx +7 -7
  81. package/src/components/LabelValue.tsx +21 -21
  82. package/src/components/Layout/ChangePassword.tsx +49 -49
  83. package/src/components/Layout/Header/AppHeader.tsx +102 -102
  84. package/src/components/Layout/Header/AppsMenu.tsx +98 -98
  85. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  86. package/src/components/Layout/Header/Notification.tsx +13 -13
  87. package/src/components/Layout/Header/UserBox.tsx +70 -70
  88. package/src/components/Layout/Header/applications.ts +91 -91
  89. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  90. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  91. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  92. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  93. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  94. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  95. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  96. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  97. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  98. package/src/components/Layout/Header/assets/index.ts +33 -33
  99. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  100. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  101. package/src/components/Layout/Header/assets/payx.svg +19 -19
  102. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  103. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  104. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  105. package/src/components/Layout/Header/icons.tsx +57 -57
  106. package/src/components/Layout/Header/index.tsx +1 -1
  107. package/src/components/Layout/Header/styles.tsx +124 -124
  108. package/src/components/Layout/Helmet.tsx +49 -49
  109. package/src/components/Layout/LayoutWrapper.tsx +28 -28
  110. package/src/components/Layout/SideMenuHeader.tsx +29 -29
  111. package/src/components/Layout/SideNav.tsx +168 -168
  112. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +273 -273
  113. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +94 -94
  114. package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
  115. package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
  116. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  117. package/src/components/Layout/Tickets/index.tsx +1 -1
  118. package/src/components/Layout/Tickets/services.ts +11 -11
  119. package/src/components/Layout/Tickets/styles.tsx +136 -136
  120. package/src/components/LinearProgress.tsx +19 -19
  121. package/src/components/ListItemButton.tsx +95 -95
  122. package/src/components/LoginForm.tsx +80 -80
  123. package/src/components/MediaRow/MediaRow.tsx +69 -69
  124. package/src/components/MediaRow/index.tsx +1 -1
  125. package/src/components/ModalButtons/DialogButton.tsx +121 -121
  126. package/src/components/ModalButtons/DrawerButton.tsx +113 -113
  127. package/src/components/ModalButtons/index.tsx +4 -4
  128. package/src/components/NoDataIllustration.tsx +32 -32
  129. package/src/components/PageContent.tsx +12 -12
  130. package/src/components/PageHeader.tsx +55 -55
  131. package/src/components/PageNotFound.tsx +26 -26
  132. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  133. package/src/components/PopupConfirm/PopupConfirm.tsx +67 -67
  134. package/src/components/PopupConfirm/index.tsx +1 -1
  135. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  136. package/src/components/Row.tsx +24 -24
  137. package/src/components/Spinner.tsx +18 -18
  138. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  139. package/src/components/StepsHeader/index.tsx +1 -1
  140. package/src/components/StyledTableContainer.tsx +33 -33
  141. package/src/components/SwitchButton.tsx +41 -41
  142. package/src/components/Table.tsx +42 -42
  143. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  144. package/src/components/TableComponent/Icons/index.tsx +50 -50
  145. package/src/components/TableComponent/ReactTable.tsx +295 -295
  146. package/src/components/TableComponent/RenderTableBody.tsx +68 -68
  147. package/src/components/TableComponent/Table.tsx +197 -197
  148. package/src/components/TableComponent/TableFooter/TableFooter.tsx +104 -104
  149. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  150. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  151. package/src/components/TableComponent/index.tsx +1 -1
  152. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  153. package/src/components/TableComponent/styles.tsx +170 -170
  154. package/src/components/TableComponent/types.ts +57 -57
  155. package/src/components/Tabs/NavigationTabs.tsx +80 -80
  156. package/src/components/Tabs/Tabs.tsx +53 -53
  157. package/src/components/Tabs/TabsContainer.tsx +50 -50
  158. package/src/components/Tabs/index.tsx +1 -1
  159. package/src/components/Tabs/styles.tsx +55 -55
  160. package/src/components/ToastContainer/ToastContainer.tsx +57 -57
  161. package/src/components/ToastContainer/index.tsx +1 -1
  162. package/src/components/UploadButton/UploadButton.tsx +126 -126
  163. package/src/components/UploadButton/index.tsx +1 -1
  164. package/src/components/UploadButton/types.ts +19 -19
  165. package/src/components/UploadDocument.tsx +108 -108
  166. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  167. package/src/components/UploadFileDialog/index.tsx +1 -1
  168. package/src/components/index.ts +93 -93
  169. package/src/config/axios.ts +73 -73
  170. package/src/config/axiosEvaluator.ts +53 -53
  171. package/src/config/axiosXTenant.ts +57 -57
  172. package/src/constants/UIConstants.ts +97 -97
  173. package/src/constants/formValidations.ts +6 -6
  174. package/src/constants/index.ts +5 -5
  175. package/src/constants/isDevelopment.ts +3 -3
  176. package/src/constants/permissions.ts +67 -67
  177. package/src/constants/validateMessages.ts +12 -12
  178. package/src/contexts/LoginFormProvider.tsx +39 -39
  179. package/src/contexts/Providers.tsx +73 -73
  180. package/src/contexts/PublicProviders.tsx +30 -30
  181. package/src/contexts/QueryClientProvider.tsx +22 -22
  182. package/src/hooks/index.ts +4 -4
  183. package/src/hooks/useAuth.ts +96 -96
  184. package/src/hooks/useFetch.ts +53 -53
  185. package/src/hooks/useFilters.ts +80 -80
  186. package/src/hooks/useRouter.ts +31 -31
  187. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  188. package/src/layouts/Components/icons/index.tsx +403 -403
  189. package/src/layouts/Components/styles.tsx +74 -74
  190. package/src/layouts/ComponentsLayout.tsx +3 -3
  191. package/src/permissions/PageWithPermission.tsx +18 -18
  192. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  193. package/src/permissions/ValidateAccess.tsx +18 -18
  194. package/src/permissions/index.ts +2 -2
  195. package/src/react-app-env.d.ts +1 -1
  196. package/src/shared-state/AssetsStore.ts +15 -15
  197. package/src/shared-state/PermissionsStore.ts +352 -352
  198. package/src/shared-state/UserStore.ts +13 -13
  199. package/src/shared-state/index.ts +4 -4
  200. package/src/theme/App.less +3 -3
  201. package/src/theme/MuiThemeProvider.tsx +13 -13
  202. package/src/theme/customCssBaseline.ts +135 -135
  203. package/src/theme/index.css +28 -28
  204. package/src/theme/muiTheme.ts +592 -592
  205. package/src/theme/theme.d.ts +75 -75
  206. package/src/utils/alphabet.ts +23 -23
  207. package/src/utils/arrayPadEnd.ts +3 -3
  208. package/src/utils/formatCurrency.ts +9 -9
  209. package/src/utils/getUrlParams.ts +5 -5
  210. package/src/utils/index.ts +7 -7
  211. package/src/utils/logout.ts +25 -25
  212. package/src/utils/ordinalSuffixOf.ts +14 -14
  213. package/src/utils/romanize.ts +40 -40
  214. package/src/utils/withRouteWrapper.tsx +25 -25
  215. package/src/utils/withSuspense.tsx +6 -6
  216. package/styled-components.tsx +60 -60
  217. package/tsconfig.json +21 -21
  218. package/yarn-error.log +109 -0
  219. package/src/components/Layout/Header/assets/commuteX.png +0 -0
@@ -1,67 +1,67 @@
1
- export interface IPermission {
2
- can_create_admission: boolean
3
- can_create_role: boolean
4
- can_create_user: boolean
5
- can_delete_admission: boolean
6
- can_delete_role: boolean
7
- can_delete_user: boolean
8
- can_edit_admission: boolean
9
- can_edit_role: boolean
10
- can_edit_user: boolean
11
- can_manage_admissions: boolean
12
- can_manage_roles: boolean
13
- can_manage_users: boolean
14
- can_view_admissions: boolean
15
- can_view_roles: boolean
16
- can_view_users: boolean
17
- can_view_students: boolean
18
- can_view_exams: boolean
19
- can_view_classrooms: boolean
20
- can_view_clubs: boolean
21
- can_view_events: boolean
22
- can_view_students_feed: boolean
23
- can_print_application_form: boolean
24
- can_pay_tution_fee: boolean
25
- can_allot_tution_fee: boolean
26
- can_manage_scholarships: boolean
27
- can_create_scholarship: boolean
28
- can_edit_scholarship: boolean
29
- can_delete_scholarship: boolean
30
- can_manage_exams: boolean
31
- can_create_exam: boolean
32
- can_create_exam_timetable: boolean
33
- }
34
-
35
- export const defaultPermissions = {
36
- can_create_admission: false,
37
- can_create_role: false,
38
- can_create_user: false,
39
- can_delete_admission: false,
40
- can_delete_role: false,
41
- can_delete_user: false,
42
- can_edit_admission: false,
43
- can_edit_role: false,
44
- can_edit_user: false,
45
- can_manage_admissions: false,
46
- can_manage_roles: false,
47
- can_manage_users: false,
48
- can_view_admissions: false,
49
- can_view_roles: false,
50
- can_view_users: false,
51
- can_view_students: false,
52
- can_view_exams: false,
53
- can_view_classrooms: false,
54
- can_view_clubs: false,
55
- can_view_events: false,
56
- can_view_students_feed: false,
57
- can_print_application_form: false,
58
- can_pay_tution_fee: false,
59
- can_allot_tution_fee: false,
60
- can_manage_scholarships: false,
61
- can_create_scholarship: false,
62
- can_edit_scholarship: false,
63
- can_delete_scholarship: false,
64
- can_manage_exams: false,
65
- can_create_exam: false,
66
- can_create_exam_timetable: false,
67
- }
1
+ export interface IPermission {
2
+ can_create_admission: boolean
3
+ can_create_role: boolean
4
+ can_create_user: boolean
5
+ can_delete_admission: boolean
6
+ can_delete_role: boolean
7
+ can_delete_user: boolean
8
+ can_edit_admission: boolean
9
+ can_edit_role: boolean
10
+ can_edit_user: boolean
11
+ can_manage_admissions: boolean
12
+ can_manage_roles: boolean
13
+ can_manage_users: boolean
14
+ can_view_admissions: boolean
15
+ can_view_roles: boolean
16
+ can_view_users: boolean
17
+ can_view_students: boolean
18
+ can_view_exams: boolean
19
+ can_view_classrooms: boolean
20
+ can_view_clubs: boolean
21
+ can_view_events: boolean
22
+ can_view_students_feed: boolean
23
+ can_print_application_form: boolean
24
+ can_pay_tution_fee: boolean
25
+ can_allot_tution_fee: boolean
26
+ can_manage_scholarships: boolean
27
+ can_create_scholarship: boolean
28
+ can_edit_scholarship: boolean
29
+ can_delete_scholarship: boolean
30
+ can_manage_exams: boolean
31
+ can_create_exam: boolean
32
+ can_create_exam_timetable: boolean
33
+ }
34
+
35
+ export const defaultPermissions = {
36
+ can_create_admission: false,
37
+ can_create_role: false,
38
+ can_create_user: false,
39
+ can_delete_admission: false,
40
+ can_delete_role: false,
41
+ can_delete_user: false,
42
+ can_edit_admission: false,
43
+ can_edit_role: false,
44
+ can_edit_user: false,
45
+ can_manage_admissions: false,
46
+ can_manage_roles: false,
47
+ can_manage_users: false,
48
+ can_view_admissions: false,
49
+ can_view_roles: false,
50
+ can_view_users: false,
51
+ can_view_students: false,
52
+ can_view_exams: false,
53
+ can_view_classrooms: false,
54
+ can_view_clubs: false,
55
+ can_view_events: false,
56
+ can_view_students_feed: false,
57
+ can_print_application_form: false,
58
+ can_pay_tution_fee: false,
59
+ can_allot_tution_fee: false,
60
+ can_manage_scholarships: false,
61
+ can_create_scholarship: false,
62
+ can_edit_scholarship: false,
63
+ can_delete_scholarship: false,
64
+ can_manage_exams: false,
65
+ can_create_exam: false,
66
+ can_create_exam_timetable: false,
67
+ }
@@ -1,12 +1,12 @@
1
- // Validation messages for ant design forms
2
-
3
- export const validateMessages = {
4
- required: '${label} is required!',
5
- types: {
6
- email: '${label} is not validate email!',
7
- number: '${label} is not a validate number!',
8
- },
9
- number: {
10
- range: '${label} must be between ${min} and ${max}',
11
- },
12
- }
1
+ // Validation messages for ant design forms
2
+
3
+ export const validateMessages = {
4
+ required: '${label} is required!',
5
+ types: {
6
+ email: '${label} is not validate email!',
7
+ number: '${label} is not a validate number!',
8
+ },
9
+ number: {
10
+ range: '${label} must be between ${min} and ${max}',
11
+ },
12
+ }
@@ -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: (loginUrl: string) => void
7
- }>({
8
- openLoginForm: (loginUrl: string) => {},
9
- })
10
-
11
- export default function LoginFormProvider({ children }) {
12
- const modal = useModal()
13
-
14
- const onLogin = (loginUrl: string) => {
15
- modal({
16
- title: 'Developer Login',
17
- content({ close }) {
18
- return <LoginForm loginUrl={loginUrl} />
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: (loginUrl: string) => void
7
+ }>({
8
+ openLoginForm: (loginUrl: string) => {},
9
+ })
10
+
11
+ export default function LoginFormProvider({ children }) {
12
+ const modal = useModal()
13
+
14
+ const onLogin = (loginUrl: string) => {
15
+ modal({
16
+ title: 'Developer Login',
17
+ content({ close }) {
18
+ return <LoginForm loginUrl={loginUrl} />
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,73 +1,73 @@
1
- import { CssBaseline } from '@mui/material'
2
- import { BrowserRouter } from 'react-router-dom'
3
- import ConfirmContextProvider from '../components/PopupConfirm/ConfirmContextProvider'
4
- import MuiThemeProvider from '../theme/MuiThemeProvider'
5
- import QueryClientProvider from './QueryClientProvider'
6
-
7
- import Cookies from 'js-cookie'
8
- import { ReactNode, useEffect, useState } from 'react'
9
- import { ToastContainer } from '../components'
10
- import DialogProvider from '../components/DrawerWrapper/DrawerWrapper'
11
- import { isDevelopment } from '../constants'
12
- import LoginFormProvider from './LoginFormProvider'
13
-
14
- export const campxTenantKey = Cookies.get('campx_tenant')
15
- export const urlTenantKey = window.location.pathname.split('/')[1]
16
-
17
- export default function Providers({ children }: { children: ReactNode }) {
18
- const [isInvalid, setIsInvalid] = useState(false)
19
-
20
- useEffect(() => {
21
- if (!urlTenantKey) {
22
- if (campxTenantKey) {
23
- return window.location.replace(
24
- window.location.origin + `/${campxTenantKey}`,
25
- )
26
- }
27
- }
28
-
29
- if (!urlTenantKey) {
30
- setIsInvalid(true)
31
- }
32
- }, [])
33
-
34
- return (
35
- <BrowserRouter basename={urlTenantKey}>
36
- <QueryClientProvider>
37
- <MuiThemeProvider>
38
- <ConfirmContextProvider>
39
- <DialogProvider>
40
- <LoginFormProvider>
41
- {/* {isInvalid ? <InvalidClientKey /> : children} */}
42
- {children}
43
- <CssBaseline />
44
- </LoginFormProvider>
45
- <ToastContainer />
46
- </DialogProvider>
47
- </ConfirmContextProvider>
48
- </MuiThemeProvider>
49
- </QueryClientProvider>
50
- </BrowserRouter>
51
- )
52
- }
53
-
54
- const InvalidClientKey = () => {
55
- return (
56
- <div
57
- style={{
58
- height: '95vh',
59
- width: '95vw',
60
- display: 'grid',
61
- placeItems: 'center',
62
- fontFamily: 'sans-serif',
63
- }}
64
- >
65
- <h1>Invalid Tenant Key</h1>
66
- {!isDevelopment && (
67
- <a href="https://id.campx.in">
68
- <p style={{ textDecoration: 'underline' }}>Login to continue</p>
69
- </a>
70
- )}
71
- </div>
72
- )
73
- }
1
+ import { CssBaseline } from '@mui/material'
2
+ import { BrowserRouter } from 'react-router-dom'
3
+ import ConfirmContextProvider from '../components/PopupConfirm/ConfirmContextProvider'
4
+ import MuiThemeProvider from '../theme/MuiThemeProvider'
5
+ import QueryClientProvider from './QueryClientProvider'
6
+
7
+ import Cookies from 'js-cookie'
8
+ import { ReactNode, useEffect, useState } from 'react'
9
+ import { ToastContainer } from '../components'
10
+ import DialogProvider from '../components/DrawerWrapper/DrawerWrapper'
11
+ import { isDevelopment } from '../constants'
12
+ import LoginFormProvider from './LoginFormProvider'
13
+
14
+ export const campxTenantKey = Cookies.get('campx_tenant')
15
+ export const urlTenantKey = window.location.pathname.split('/')[1]
16
+
17
+ export default function Providers({ children }: { children: ReactNode }) {
18
+ const [isInvalid, setIsInvalid] = useState(false)
19
+
20
+ useEffect(() => {
21
+ if (!urlTenantKey) {
22
+ if (campxTenantKey) {
23
+ return window.location.replace(
24
+ window.location.origin + `/${campxTenantKey}`,
25
+ )
26
+ }
27
+ }
28
+
29
+ if (!urlTenantKey) {
30
+ setIsInvalid(true)
31
+ }
32
+ }, [])
33
+
34
+ return (
35
+ <BrowserRouter basename={urlTenantKey}>
36
+ <QueryClientProvider>
37
+ <MuiThemeProvider>
38
+ <ConfirmContextProvider>
39
+ <DialogProvider>
40
+ <LoginFormProvider>
41
+ {/* {isInvalid ? <InvalidClientKey /> : children} */}
42
+ {children}
43
+ <CssBaseline />
44
+ </LoginFormProvider>
45
+ <ToastContainer />
46
+ </DialogProvider>
47
+ </ConfirmContextProvider>
48
+ </MuiThemeProvider>
49
+ </QueryClientProvider>
50
+ </BrowserRouter>
51
+ )
52
+ }
53
+
54
+ const InvalidClientKey = () => {
55
+ return (
56
+ <div
57
+ style={{
58
+ height: '95vh',
59
+ width: '95vw',
60
+ display: 'grid',
61
+ placeItems: 'center',
62
+ fontFamily: 'sans-serif',
63
+ }}
64
+ >
65
+ <h1>Invalid Tenant Key</h1>
66
+ {!isDevelopment && (
67
+ <a href="https://id.campx.in">
68
+ <p style={{ textDecoration: 'underline' }}>Login to continue</p>
69
+ </a>
70
+ )}
71
+ </div>
72
+ )
73
+ }
@@ -1,30 +1,30 @@
1
- import { CssBaseline } from '@mui/material'
2
- import { BrowserRouter } from 'react-router-dom'
3
- import ConfirmContextProvider from '../components/PopupConfirm/ConfirmContextProvider'
4
- import MuiThemeProvider from '../theme/MuiThemeProvider'
5
- import QueryClientProvider from './QueryClientProvider'
6
-
7
- import { ReactNode } from 'react'
8
- import { ToastContainer } from '../components'
9
- import DialogProvider from '../components/DrawerWrapper/DrawerWrapper'
10
-
11
- // export const campxTenantKey = Cookies.get('campx_tenant')
12
- // export const urlTenantKey = window.location.pathname.split('/')[1]
13
-
14
- export default function PublicProviders({ children }: { children: ReactNode }) {
15
- return (
16
- <BrowserRouter>
17
- <QueryClientProvider>
18
- <MuiThemeProvider>
19
- <ConfirmContextProvider>
20
- <DialogProvider>
21
- {children}
22
- <CssBaseline />
23
- <ToastContainer />
24
- </DialogProvider>
25
- </ConfirmContextProvider>
26
- </MuiThemeProvider>
27
- </QueryClientProvider>
28
- </BrowserRouter>
29
- )
30
- }
1
+ import { CssBaseline } from '@mui/material'
2
+ import { BrowserRouter } from 'react-router-dom'
3
+ import ConfirmContextProvider from '../components/PopupConfirm/ConfirmContextProvider'
4
+ import MuiThemeProvider from '../theme/MuiThemeProvider'
5
+ import QueryClientProvider from './QueryClientProvider'
6
+
7
+ import { ReactNode } from 'react'
8
+ import { ToastContainer } from '../components'
9
+ import DialogProvider from '../components/DrawerWrapper/DrawerWrapper'
10
+
11
+ // export const campxTenantKey = Cookies.get('campx_tenant')
12
+ // export const urlTenantKey = window.location.pathname.split('/')[1]
13
+
14
+ export default function PublicProviders({ children }: { children: ReactNode }) {
15
+ return (
16
+ <BrowserRouter>
17
+ <QueryClientProvider>
18
+ <MuiThemeProvider>
19
+ <ConfirmContextProvider>
20
+ <DialogProvider>
21
+ {children}
22
+ <CssBaseline />
23
+ <ToastContainer />
24
+ </DialogProvider>
25
+ </ConfirmContextProvider>
26
+ </MuiThemeProvider>
27
+ </QueryClientProvider>
28
+ </BrowserRouter>
29
+ )
30
+ }
@@ -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,4 +1,4 @@
1
- export { default as useFetch } from './useFetch'
2
- export * from './useRouter'
3
- export { default as useAuth } from './useAuth'
4
- export { default as useFilter } from './useFilters'
1
+ export { default as useFetch } from './useFetch'
2
+ export * from './useRouter'
3
+ export { default as useAuth } from './useAuth'
4
+ export { default as useFilter } from './useFilters'