@campxdev/shared 1.0.4 → 1.1.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 (220) 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 +17 -17
  6. package/package.json +82 -82
  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 -67
  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 -94
  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 -126
  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 -298
  83. package/src/components/Layout/Header/HelpWidget/styles.tsx +94 -92
  84. package/src/components/Layout/Header/Notification.tsx +13 -13
  85. package/src/components/Layout/Header/UserBox.tsx +90 -90
  86. package/src/components/Layout/Header/applications.ts +90 -90
  87. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  88. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  89. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  90. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  91. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  92. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  93. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  94. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  95. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  96. package/src/components/Layout/Header/assets/index.ts +33 -33
  97. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  98. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  99. package/src/components/Layout/Header/assets/payx.svg +19 -19
  100. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  101. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  102. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  103. package/src/components/Layout/Header/icons.tsx +57 -57
  104. package/src/components/Layout/Header/index.tsx +1 -1
  105. package/src/components/Layout/Header/styles.tsx +98 -98
  106. package/src/components/Layout/Tickets/MyTickets.tsx +74 -74
  107. package/src/components/Layout/Tickets/Services.tsx +6 -6
  108. package/src/components/Layout/Tickets/TicketDetails.tsx +66 -66
  109. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  110. package/src/components/Layout/Tickets/index.tsx +1 -1
  111. package/src/components/Layout/Tickets/styles.tsx +136 -136
  112. package/src/components/LayoutWrapper.tsx +25 -25
  113. package/src/components/LinearProgress.tsx +19 -19
  114. package/src/components/ListItemButton.tsx +95 -95
  115. package/src/components/LoginForm.tsx +105 -103
  116. package/src/components/MediaRow/MediaRow.tsx +69 -69
  117. package/src/components/MediaRow/index.tsx +1 -1
  118. package/src/components/MenuButton.tsx +103 -103
  119. package/src/components/ModalButtons/DialogButton.tsx +88 -88
  120. package/src/components/ModalButtons/DrawerButton.tsx +89 -89
  121. package/src/components/ModalButtons/index.tsx +4 -4
  122. package/src/components/NoDataIllustration/NoDataIllustration.tsx +32 -32
  123. package/src/components/NoDataIllustration/index.tsx +1 -1
  124. package/src/components/PageContent.tsx +17 -17
  125. package/src/components/PageHeader.tsx +52 -52
  126. package/src/components/PageNotFound.tsx +26 -26
  127. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  128. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  129. package/src/components/PopupConfirm/index.tsx +1 -1
  130. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  131. package/src/components/Router.tsx +7 -7
  132. package/src/components/Row/Row.tsx +24 -24
  133. package/src/components/Row/index.tsx +1 -1
  134. package/src/components/SearchBar/SearchBar.tsx +53 -53
  135. package/src/components/SearchBar/index.tsx +1 -1
  136. package/src/components/SideMenuHeader.tsx +29 -29
  137. package/src/components/SideNav.tsx +168 -168
  138. package/src/components/Spinner.tsx +18 -18
  139. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  140. package/src/components/StepsHeader/index.tsx +1 -1
  141. package/src/components/StyledTableContainer.tsx +33 -33
  142. package/src/components/SwitchButton/SwitchButton.tsx +41 -41
  143. package/src/components/SwitchButton/index.tsx +1 -1
  144. package/src/components/Table.tsx +42 -42
  145. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  146. package/src/components/TableComponent/Icons/index.tsx +50 -50
  147. package/src/components/TableComponent/ReactTable.tsx +293 -293
  148. package/src/components/TableComponent/RenderTableBody.tsx +64 -64
  149. package/src/components/TableComponent/TableFooter/TableFooter.tsx +102 -102
  150. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  151. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  152. package/src/components/TableComponent/index.tsx +226 -226
  153. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  154. package/src/components/TableComponent/styles.tsx +173 -173
  155. package/src/components/TableComponent/types.ts +57 -57
  156. package/src/components/Tabs/Tabs.tsx +52 -52
  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 +42 -42
  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/UploadDocument.tsx +108 -108
  166. package/src/components/UploadDocument/index.tsx +1 -1
  167. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  168. package/src/components/UploadFileDialog/index.tsx +1 -1
  169. package/src/components/index.ts +86 -86
  170. package/src/config/axios.ts +74 -74
  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 +60 -59
  180. package/src/contexts/PublicProviders.tsx +30 -30
  181. package/src/contexts/QueryClientProvider.tsx +22 -22
  182. package/src/hooks/index.ts +3 -3
  183. package/src/hooks/useAppInit.ts +33 -33
  184. package/src/hooks/useAuth.ts +96 -92
  185. package/src/hooks/useFetch.ts +53 -53
  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 +60 -60
  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 -3
  195. package/src/react-app-env.d.ts +1 -1
  196. package/src/shared-state/AssetsStore.ts +15 -15
  197. package/src/{permissions → shared-state}/PermissionsStore.ts +352 -352
  198. package/src/shared-state/UserStore.ts +13 -13
  199. package/src/shared-state/index.ts +4 -3
  200. package/src/theme/App.less +3 -3
  201. package/src/theme/MuiThemeProvider.tsx +13 -13
  202. package/src/theme/customCssBaseline.ts +78 -78
  203. package/src/theme/index.css +75 -75
  204. package/src/theme/muiTheme.ts +490 -490
  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 +8 -8
  211. package/src/utils/logout.ts +24 -24
  212. package/src/utils/ordinalSuffixOf.ts +14 -14
  213. package/src/utils/romanize.ts +40 -40
  214. package/src/utils/withLocalization.tsx +11 -11
  215. package/src/utils/withRouteWrapper.tsx +25 -25
  216. package/src/utils/withSuspense.tsx +6 -6
  217. package/styled-components.tsx +60 -60
  218. package/todo.md +20 -20
  219. package/tsconfig.json +21 -21
  220. package/src/components/Layout/Header/assets/commuteX.png +0 -0
@@ -1,74 +1,74 @@
1
- import Axios from 'axios'
2
- import _ from 'lodash'
3
- import { toast } from 'react-toastify'
4
- import Cookies from 'js-cookie'
5
- import { NetworkStore } from '../components/ErrorBoundary/GlobalNetworkLoadingIndicator'
6
- import { isDevelopment } from '../constants'
7
- import { campxTenantKey } from '../contexts/Providers'
8
-
9
- const sessionKey = Cookies.get('campx_session_key')
10
- const clientId = window.location.pathname.split('/')[1] ?? 'campx_dev'
11
-
12
- export const formatParams = (params) => {
13
- return Object.fromEntries(
14
- Object.entries(params ?? {})?.map((i) => [
15
- i[0],
16
- i[1] === '__empty__' ? '' : i[1],
17
- ]),
18
- )
19
- }
20
-
21
- let axios = Axios.create({
22
- baseURL: process.env.REACT_APP_API_HOST,
23
- withCredentials: true,
24
- headers: {
25
- 'x-tenant-id': isDevelopment ? 'campx_dev' : campxTenantKey,
26
- ...(isDevelopment &&
27
- sessionKey && {
28
- campx_session_key: sessionKey,
29
- }),
30
- },
31
- })
32
-
33
- axios.interceptors.request.use(
34
- function (config) {
35
- const params = formatParams(config?.params)
36
- NetworkStore.update((s) => {
37
- s.loading = true
38
- })
39
- return { ...config, params }
40
- },
41
- function (error) {
42
- NetworkStore.update((s) => {
43
- s.loading = false
44
- })
45
- return Promise.reject(error)
46
- },
47
- )
48
-
49
- axios.interceptors.response.use(
50
- function (response) {
51
- NetworkStore.update((s) => {
52
- s.loading = false
53
- })
54
- return response
55
- },
56
- function (err) {
57
- NetworkStore.update((s) => {
58
- s.loading = false
59
- })
60
- return Promise.reject(err)
61
- },
62
- )
63
-
64
- export default axios
65
-
66
- export const axiosErrorToast = (error: any, fallback?: string) => {
67
- const fallbackMessage = fallback ?? 'Something went wrong.'
68
- const errorMessage =
69
- typeof error?.response?.data?.message !== 'string'
70
- ? error?.response?.data?.message?.join('\n') ?? fallbackMessage
71
- : error?.response?.data?.message
72
-
73
- return toast.error(errorMessage)
74
- }
1
+ import Axios from 'axios'
2
+ import _ from 'lodash'
3
+ import { toast } from 'react-toastify'
4
+ import Cookies from 'js-cookie'
5
+ import { NetworkStore } from '../components/ErrorBoundary/GlobalNetworkLoadingIndicator'
6
+ import { isDevelopment } from '../constants'
7
+ import { campxTenantKey } from '../contexts/Providers'
8
+
9
+ const sessionKey = Cookies.get('campx_session_key')
10
+ const clientId = window.location.pathname.split('/')[1] ?? 'campx_dev'
11
+
12
+ export const formatParams = (params) => {
13
+ return Object.fromEntries(
14
+ Object.entries(params ?? {})?.map((i) => [
15
+ i[0],
16
+ i[1] === '__empty__' ? '' : i[1],
17
+ ]),
18
+ )
19
+ }
20
+
21
+ let axios = Axios.create({
22
+ baseURL: process.env.REACT_APP_API_HOST,
23
+ withCredentials: true,
24
+ headers: {
25
+ 'x-tenant-id': isDevelopment ? 'campx_dev' : campxTenantKey,
26
+ ...(isDevelopment &&
27
+ sessionKey && {
28
+ campx_session_key: sessionKey,
29
+ }),
30
+ },
31
+ })
32
+
33
+ axios.interceptors.request.use(
34
+ function (config) {
35
+ const params = formatParams(config?.params)
36
+ NetworkStore.update((s) => {
37
+ s.loading = true
38
+ })
39
+ return { ...config, params }
40
+ },
41
+ function (error) {
42
+ NetworkStore.update((s) => {
43
+ s.loading = false
44
+ })
45
+ return Promise.reject(error)
46
+ },
47
+ )
48
+
49
+ axios.interceptors.response.use(
50
+ function (response) {
51
+ NetworkStore.update((s) => {
52
+ s.loading = false
53
+ })
54
+ return response
55
+ },
56
+ function (err) {
57
+ NetworkStore.update((s) => {
58
+ s.loading = false
59
+ })
60
+ return Promise.reject(err)
61
+ },
62
+ )
63
+
64
+ export default axios
65
+
66
+ export const axiosErrorToast = (error: any, fallback?: string) => {
67
+ const fallbackMessage = fallback ?? 'Something went wrong.'
68
+ const errorMessage =
69
+ typeof error?.response?.data?.message !== 'string'
70
+ ? error?.response?.data?.message?.join('\n') ?? fallbackMessage
71
+ : error?.response?.data?.message
72
+
73
+ return toast.error(errorMessage)
74
+ }
@@ -1,57 +1,57 @@
1
- import Axios from 'axios'
2
- import Cookies from 'js-cookie'
3
- import { NetworkStore } from '../components/ErrorBoundary/GlobalNetworkLoadingIndicator'
4
- import { isDevelopment } from '../constants'
5
- import { formatParams } from './axios'
6
-
7
- const sessionKey = Cookies.get('campx_session_key')
8
- const clientId = window.location.pathname.split('/')[1] ?? 'campx_dev'
9
- const evaluatorKey = Cookies.get('campx_evaluator_key')
10
-
11
- const axiosTenant = Axios.create({
12
- baseURL: process.env.REACT_APP_API_HOST,
13
- withCredentials: true,
14
- headers: {
15
- 'x-tenant-id': isDevelopment ? 'campx_dev' : clientId,
16
- ...(isDevelopment &&
17
- sessionKey && {
18
- campx_session_key: sessionKey,
19
- }),
20
- ...(evaluatorKey && {
21
- campx_evaluator_key: evaluatorKey,
22
- }),
23
- },
24
- })
25
-
26
- axiosTenant.interceptors.request.use(
27
- function (config) {
28
- const params = formatParams(config?.params)
29
- NetworkStore.update((s) => {
30
- s.loading = true
31
- })
32
- return { ...config, params }
33
- },
34
- function (error) {
35
- NetworkStore.update((s) => {
36
- s.loading = false
37
- })
38
- return Promise.reject(error)
39
- },
40
- )
41
-
42
- axiosTenant.interceptors.response.use(
43
- function (response) {
44
- NetworkStore.update((s) => {
45
- s.loading = false
46
- })
47
- return response
48
- },
49
- function (err) {
50
- NetworkStore.update((s) => {
51
- s.loading = false
52
- })
53
- return Promise.reject(err)
54
- },
55
- )
56
-
57
- export default axiosTenant
1
+ import Axios from 'axios'
2
+ import Cookies from 'js-cookie'
3
+ import { NetworkStore } from '../components/ErrorBoundary/GlobalNetworkLoadingIndicator'
4
+ import { isDevelopment } from '../constants'
5
+ import { formatParams } from './axios'
6
+
7
+ const sessionKey = Cookies.get('campx_session_key')
8
+ const clientId = window.location.pathname.split('/')[1] ?? 'campx_dev'
9
+ const evaluatorKey = Cookies.get('campx_evaluator_key')
10
+
11
+ const axiosTenant = Axios.create({
12
+ baseURL: process.env.REACT_APP_API_HOST,
13
+ withCredentials: true,
14
+ headers: {
15
+ 'x-tenant-id': isDevelopment ? 'campx_dev' : clientId,
16
+ ...(isDevelopment &&
17
+ sessionKey && {
18
+ campx_session_key: sessionKey,
19
+ }),
20
+ ...(evaluatorKey && {
21
+ campx_evaluator_key: evaluatorKey,
22
+ }),
23
+ },
24
+ })
25
+
26
+ axiosTenant.interceptors.request.use(
27
+ function (config) {
28
+ const params = formatParams(config?.params)
29
+ NetworkStore.update((s) => {
30
+ s.loading = true
31
+ })
32
+ return { ...config, params }
33
+ },
34
+ function (error) {
35
+ NetworkStore.update((s) => {
36
+ s.loading = false
37
+ })
38
+ return Promise.reject(error)
39
+ },
40
+ )
41
+
42
+ axiosTenant.interceptors.response.use(
43
+ function (response) {
44
+ NetworkStore.update((s) => {
45
+ s.loading = false
46
+ })
47
+ return response
48
+ },
49
+ function (err) {
50
+ NetworkStore.update((s) => {
51
+ s.loading = false
52
+ })
53
+ return Promise.reject(err)
54
+ },
55
+ )
56
+
57
+ export default axiosTenant
@@ -1,97 +1,97 @@
1
- export const batchOptions = Array.from({ length: 11 }, (_, i) => {
2
- return `${2012 + i} - ${2012 + i + 1}`
3
- }).reverse()
4
-
5
- export const examGroupBatches = Array.from({ length: 10 }, (_, i) => {
6
- return `${2012 + i} - ${2012 + i + 1}`
7
- })
8
- export const currentYear = new Date().getFullYear()
9
-
10
- const startYear = 2012
11
-
12
- export const yearOptions = Array.from(
13
- { length: currentYear - startYear + 1 },
14
- (_, i) => {
15
- return `${startYear + i}`
16
- },
17
- )
18
-
19
- export const months = [
20
- 'January',
21
- 'February',
22
- 'March',
23
- 'April',
24
- 'May',
25
- 'June',
26
- 'July',
27
- 'August',
28
- 'September',
29
- 'October',
30
- 'November',
31
- 'December',
32
- ]
33
-
34
- export const religionOptions = [
35
- 'Hinduism',
36
- 'Islam',
37
- 'Christianity',
38
- 'Sikhism',
39
- 'Buddhism',
40
- 'Jainism',
41
- ]
42
-
43
- export const casteOptions = [
44
- 'OC',
45
- 'BC_A',
46
- 'BC_B',
47
- 'BC_C',
48
- 'BC_D',
49
- 'BC_E',
50
- 'SC',
51
- 'ST',
52
- ]
53
-
54
- export const nationalityOptions = ['Indian', 'Other']
55
-
56
- export const examTimings = [
57
- '09:00 AM',
58
- '10:00 AM',
59
- '11:00 AM',
60
- '01:00 PM',
61
- '02:00 PM',
62
- '03:00 PM',
63
- ]
64
-
65
- export const USER_TYPES = [
66
- {
67
- label: 'Staff User',
68
- value: 'Staff_User',
69
- },
70
- {
71
- label: 'Faculty User',
72
- value: 'Faculty_User',
73
- },
74
- {
75
- label: 'Student User',
76
- value: 'Student_User',
77
- },
78
- ]
79
-
80
- export function getRandomColor(name) {
81
- const firstAlphabet = name.charAt(0).toLowerCase()
82
-
83
- const asciiCode = firstAlphabet.charCodeAt(0)
84
-
85
- const colorNum =
86
- asciiCode.toString() + asciiCode.toString() + asciiCode.toString()
87
-
88
- var num = Math.round(0xffffff * parseInt(colorNum))
89
- var r = (num >> 16) & 145
90
- var g = (num >> 8) & 145
91
- var b = num & 145
92
-
93
- return {
94
- color: 'rgb(' + r + ', ' + g + ', ' + b + ', 0.8)',
95
- character: firstAlphabet?.toUpperCase(),
96
- }
97
- }
1
+ export const batchOptions = Array.from({ length: 11 }, (_, i) => {
2
+ return `${2012 + i} - ${2012 + i + 1}`
3
+ }).reverse()
4
+
5
+ export const examGroupBatches = Array.from({ length: 10 }, (_, i) => {
6
+ return `${2012 + i} - ${2012 + i + 1}`
7
+ })
8
+ export const currentYear = new Date().getFullYear()
9
+
10
+ const startYear = 2012
11
+
12
+ export const yearOptions = Array.from(
13
+ { length: currentYear - startYear + 1 },
14
+ (_, i) => {
15
+ return `${startYear + i}`
16
+ },
17
+ )
18
+
19
+ export const months = [
20
+ 'January',
21
+ 'February',
22
+ 'March',
23
+ 'April',
24
+ 'May',
25
+ 'June',
26
+ 'July',
27
+ 'August',
28
+ 'September',
29
+ 'October',
30
+ 'November',
31
+ 'December',
32
+ ]
33
+
34
+ export const religionOptions = [
35
+ 'Hinduism',
36
+ 'Islam',
37
+ 'Christianity',
38
+ 'Sikhism',
39
+ 'Buddhism',
40
+ 'Jainism',
41
+ ]
42
+
43
+ export const casteOptions = [
44
+ 'OC',
45
+ 'BC_A',
46
+ 'BC_B',
47
+ 'BC_C',
48
+ 'BC_D',
49
+ 'BC_E',
50
+ 'SC',
51
+ 'ST',
52
+ ]
53
+
54
+ export const nationalityOptions = ['Indian', 'Other']
55
+
56
+ export const examTimings = [
57
+ '09:00 AM',
58
+ '10:00 AM',
59
+ '11:00 AM',
60
+ '01:00 PM',
61
+ '02:00 PM',
62
+ '03:00 PM',
63
+ ]
64
+
65
+ export const USER_TYPES = [
66
+ {
67
+ label: 'Staff User',
68
+ value: 'Staff_User',
69
+ },
70
+ {
71
+ label: 'Faculty User',
72
+ value: 'Faculty_User',
73
+ },
74
+ {
75
+ label: 'Student User',
76
+ value: 'Student_User',
77
+ },
78
+ ]
79
+
80
+ export function getRandomColor(name) {
81
+ const firstAlphabet = name.charAt(0).toLowerCase()
82
+
83
+ const asciiCode = firstAlphabet.charCodeAt(0)
84
+
85
+ const colorNum =
86
+ asciiCode.toString() + asciiCode.toString() + asciiCode.toString()
87
+
88
+ var num = Math.round(0xffffff * parseInt(colorNum))
89
+ var r = (num >> 16) & 145
90
+ var g = (num >> 8) & 145
91
+ var b = num & 145
92
+
93
+ return {
94
+ color: 'rgb(' + r + ', ' + g + ', ' + b + ', 0.8)',
95
+ character: firstAlphabet?.toUpperCase(),
96
+ }
97
+ }
@@ -1,6 +1,6 @@
1
- export const isNumber = (value: string) => {
2
- const regEx = /^[0-9]*$/
3
- let isNum = regEx.test(value)
4
-
5
- return isNum
6
- }
1
+ export const isNumber = (value: string) => {
2
+ const regEx = /^[0-9]*$/
3
+ let isNum = regEx.test(value)
4
+
5
+ return isNum
6
+ }
@@ -1,5 +1,5 @@
1
- export * from './UIConstants'
2
- export * from './formValidations'
3
- export * from './permissions'
4
- export * from './validateMessages'
5
- export * from './isDevelopment'
1
+ export * from './UIConstants'
2
+ export * from './formValidations'
3
+ export * from './permissions'
4
+ export * from './validateMessages'
5
+ export * from './isDevelopment'
@@ -1,3 +1,3 @@
1
- export const isDevelopment =
2
- process.env.NODE_ENV === 'development' ||
3
- window.location.origin.split('.').slice(-2).join('.') === 'campx.dev'
1
+ export const isDevelopment =
2
+ process.env.NODE_ENV === 'development' ||
3
+ window.location.origin.split('.').slice(-2).join('.') === 'campx.dev'
@@ -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
+ }